Eigen  3.4.90 (git rev 9589cc4e7fd8e4538bedef80dd36c7738977a8be)
 
Loading...
Searching...
No Matches
Eigen::SparseVector< Scalar_, Options_, StorageIndex_ > Class Template Reference

#include <Eigen/src/SparseCore/SparseVector.h>

Detailed Description

template<typename Scalar_, int Options_, typename StorageIndex_>
class Eigen::SparseVector< Scalar_, Options_, StorageIndex_ >

a sparse vector class

Template Parameters
Scalar_the scalar type, i.e. the type of the coefficients

See http://www.netlib.org/linalg/html_templates/node91.html for details on the storage scheme.

This class can be extended with the help of the plugin mechanism described on the page Extending MatrixBase (and other classes) by defining the preprocessor symbol EIGEN_SPARSEVECTOR_PLUGIN.

+ Inheritance diagram for Eigen::SparseVector< Scalar_, Options_, StorageIndex_ >:

Public Member Functions

ScalarcoeffRef (Index i)
 
void conservativeResize (Index newSize)
 
Index nonZeros () const
 
Index prune (const Scalar &reference, const RealScalar &epsilon=NumTraits< RealScalar >::dummy_precision())
 
template<class F>
Index prune (F &&keep_predicate)
 Prunes the entries of the vector based on a predicate
 
void resize (Index newSize)
 
void resize (Index rows, Index cols)
 
Scalar sum () const
 
void swap (SparseVector &other)
 
 ~SparseVector ()
 
- Public Member Functions inherited from Eigen::SparseCompressedBase< SparseVector< Scalar_, Options_, StorageIndex_ > >
Map< Array< Scalar, Dynamic, 1 > > coeffs ()
 
const Map< const Array< Scalar, Dynamic, 1 > > coeffs () const
 
StorageIndexinnerIndexPtr ()
 
const StorageIndexinnerIndexPtr () const
 
Index innerIndicesAreSorted () const
 
Index innerIndicesAreSorted (Index begin, Index end) const
 
StorageIndexinnerNonZeroPtr ()
 
const StorageIndexinnerNonZeroPtr () const
 
bool isCompressed () const
 
Index nonZeros () const
 
StorageIndexouterIndexPtr ()
 
const StorageIndexouterIndexPtr () const
 
void sortInnerIndices ()
 
void sortInnerIndices (Index begin, Index end)
 
Scalar * valuePtr ()
 
const Scalar * valuePtr () const
 
- Public Member Functions inherited from Eigen::SparseMatrixBase< SparseVector< Scalar_, Options_, StorageIndex_ > >
const CwiseBinaryOp< CustomBinaryOp, const SparseVector< Scalar_, Options_, StorageIndex_ >, const OtherDerived > binaryExpr (const Eigen::SparseMatrixBase< OtherDerived > &other, const CustomBinaryOp &func=CustomBinaryOp()) const
 
FixedBlockXpr< NRows, NCols >::Type block (Index startRow, Index startCol)
 
const ConstFixedBlockXpr< NRows, NCols >::Type block (Index startRow, Index startCol) const
 This is the const version of block<>(Index, Index). *‍/.
 
FixedBlockXpr< NRows, NCols >::Type block (Index startRow, Index startCol, Index blockRows, Index blockCols)
 
const ConstFixedBlockXpr< NRows, NCols >::Type block (Index startRow, Index startCol, Index blockRows, Index blockCols) const
 This is the const version of block<>(Index, Index, Index, Index).
 
FixedBlockXpr<...,... >::Type block (Index startRow, Index startCol, NRowsType blockRows, NColsType blockCols)
 
const ConstFixedBlockXpr<...,... >::Type block (Index startRow, Index startCol, NRowsType blockRows, NColsType blockCols) const
 This is the const version of block(Index,Index,NRowsType,NColsType)
 
FixedBlockXpr< CRows, CCols >::Type bottomLeftCorner ()
 
const ConstFixedBlockXpr< CRows, CCols >::Type bottomLeftCorner () const
 This is the const version of bottomLeftCorner<int, int>().
 
FixedBlockXpr< CRows, CCols >::Type bottomLeftCorner (Index cRows, Index cCols)
 
const ConstFixedBlockXpr< CRows, CCols >::Type bottomLeftCorner (Index cRows, Index cCols) const
 This is the const version of bottomLeftCorner<int, int>(Index, Index).
 
FixedBlockXpr<...,... >::Type bottomLeftCorner (NRowsType cRows, NColsType cCols)
 
ConstFixedBlockXpr<...,... >::Type bottomLeftCorner (NRowsType cRows, NColsType cCols) const
 This is the const version of bottomLeftCorner(NRowsType, NColsType).
 
FixedBlockXpr< CRows, CCols >::Type bottomRightCorner ()
 
const ConstFixedBlockXpr< CRows, CCols >::Type bottomRightCorner () const
 This is the const version of bottomRightCorner<int, int>().
 
FixedBlockXpr< CRows, CCols >::Type bottomRightCorner (Index cRows, Index cCols)
 
const ConstFixedBlockXpr< CRows, CCols >::Type bottomRightCorner (Index cRows, Index cCols) const
 This is the const version of bottomRightCorner<int, int>(Index, Index).
 
FixedBlockXpr<...,... >::Type bottomRightCorner (NRowsType cRows, NColsType cCols)
 
const ConstFixedBlockXpr<...,... >::Type bottomRightCorner (NRowsType cRows, NColsType cCols) const
 This is the const version of bottomRightCorner(NRowsType, NColsType).
 
NRowsBlockXpr< N >::Type bottomRows (Index n=N)
 
ConstNRowsBlockXpr< N >::Type bottomRows (Index n=N) const
 This is the const version of bottomRows<int>().
 
NRowsBlockXpr<... >::Type bottomRows (NRowsType n)
 
const ConstNRowsBlockXpr<... >::Type bottomRows (NRowsType n) const
 This is the const version of bottomRows(NRowsType).
 
CastXpr< NewType >::Type cast () const
 
ColXpr col (Index i)
 
ConstColXpr col (Index i) const
 This is the const version of col().
 
Index cols () const
 
ConjugateReturnType conjugate () const
 
std::conditional_t< Cond, ConjugateReturnType, const SparseVector< Scalar_, Options_, StorageIndex_ > & > conjugateIf () const
 
const CwiseAbsReturnType cwiseAbs () const
 
const CwiseAbs2ReturnType cwiseAbs2 () const
 
const CwiseArgReturnType cwiseArg () const
 
const CwiseCbrtReturnType cwiseCbrt () const
 
const CwiseBinaryEqualReturnType< OtherDerived > cwiseEqual (const Eigen::SparseMatrixBase< OtherDerived > &other) const
 
const CwiseScalarEqualReturnType cwiseEqual (const Scalar &s) const
 
const CwiseBinaryGreaterReturnType< OtherDerived > cwiseGreater (const Eigen::SparseMatrixBase< OtherDerived > &other) const
 
const CwiseScalarGreaterReturnType cwiseGreater (const Scalar &s) const
 
const CwiseBinaryGreaterOrEqualReturnType< OtherDerived > cwiseGreaterOrEqual (const Eigen::SparseMatrixBase< OtherDerived > &other) const
 
const CwiseScalarGreaterOrEqualReturnType cwiseGreaterOrEqual (const Scalar &s) const
 
const CwiseInverseReturnType cwiseInverse () const
 
const CwiseBinaryLessReturnType< OtherDerived > cwiseLess (const Eigen::SparseMatrixBase< OtherDerived > &other) const
 
const CwiseScalarLessReturnType cwiseLess (const Scalar &s) const
 
const CwiseBinaryLessOrEqualReturnType< OtherDerived > cwiseLessOrEqual (const Eigen::SparseMatrixBase< OtherDerived > &other) const
 
const CwiseScalarLessOrEqualReturnType cwiseLessOrEqual (const Scalar &s) const
 
const CwiseBinaryOp< internal::scalar_max_op< Scalar, Scalar, NaNPropagation >, const SparseVector< Scalar_, Options_, StorageIndex_ >, const OtherDerived > cwiseMax (const Eigen::SparseMatrixBase< OtherDerived > &other) const
 
const CwiseBinaryOp< internal::scalar_max_op< Scalar, Scalar, NaNPropagation >, const SparseVector< Scalar_, Options_, StorageIndex_ >, const ConstantReturnType > cwiseMax (const Scalar &other) const
 
const CwiseBinaryOp< internal::scalar_min_op< Scalar, Scalar, NaNPropagation >, const SparseVector< Scalar_, Options_, StorageIndex_ >, const OtherDerived > cwiseMin (const Eigen::SparseMatrixBase< OtherDerived > &other) const
 
const CwiseBinaryOp< internal::scalar_min_op< Scalar, Scalar, NaNPropagation >, const SparseVector< Scalar_, Options_, StorageIndex_ >, const ConstantReturnType > cwiseMin (const Scalar &other) const
 
const CwiseBinaryNotEqualReturnType< OtherDerived > cwiseNotEqual (const Eigen::SparseMatrixBase< OtherDerived > &other) const
 
const CwiseScalarNotEqualReturnType cwiseNotEqual (const Scalar &s) const
 
const CwiseBinaryOp< internal::scalar_product_op< SparseVector< Scalar_, Options_, StorageIndex_ > ::Scalar, OtherDerived ::Scalar >, const SparseVector< Scalar_, Options_, StorageIndex_ >, const OtherDerived > cwiseProduct (const Eigen::SparseMatrixBase< OtherDerived > &other) const
 
const CwiseBinaryOp< internal::scalar_quotient_op< Scalar >, const SparseVector< Scalar_, Options_, StorageIndex_ >, const OtherDerived > cwiseQuotient (const Eigen::SparseMatrixBase< OtherDerived > &other) const
 
const CwiseSignReturnType cwiseSign () const
 
const CwiseSqrtReturnType cwiseSqrt () const
 
const CwiseSquareReturnType cwiseSquare () const
 
const internal::eval< SparseVector< Scalar_, Options_, StorageIndex_ > >::type eval () const
 
FixedSegmentReturnType< N >::Type head (Index n=N)
 
ConstFixedSegmentReturnType< N >::Type head (Index n=N) const
 This is the const version of head<int>().
 
FixedSegmentReturnType<... >::Type head (NType n)
 
const ConstFixedSegmentReturnType<... >::Type head (NType n) const
 This is the const version of head(NType).
 
NonConstImagReturnType imag ()
 
const ImagReturnType imag () const
 
Index innerSize () const
 
InnerVectorReturnType innerVector (Index outer)
 
const ConstInnerVectorReturnType innerVector (Index outer) const
 
InnerVectorsReturnType innerVectors (Index outerStart, Index outerSize)
 
const ConstInnerVectorsReturnType innerVectors (Index outerStart, Index outerSize) const
 
bool isVector () const
 
NColsBlockXpr< N >::Type leftCols (Index n=N)
 
ConstNColsBlockXpr< N >::Type leftCols (Index n=N) const
 This is the const version of leftCols<int>().
 
NColsBlockXpr<... >::Type leftCols (NColsType n)
 
const ConstNColsBlockXpr<... >::Type leftCols (NColsType n) const
 This is the const version of leftCols(NColsType).
 
NColsBlockXpr< N >::Type middleCols (Index startCol, Index n=N)
 
ConstNColsBlockXpr< N >::Type middleCols (Index startCol, Index n=N) const
 This is the const version of middleCols<int>().
 
NColsBlockXpr<... >::Type middleCols (Index startCol, NColsType numCols)
 
const ConstNColsBlockXpr<... >::Type middleCols (Index startCol, NColsType numCols) const
 This is the const version of middleCols(Index,NColsType).
 
NRowsBlockXpr< N >::Type middleRows (Index startRow, Index n=N)
 
ConstNRowsBlockXpr< N >::Type middleRows (Index startRow, Index n=N) const
 This is the const version of middleRows<int>().
 
NRowsBlockXpr<... >::Type middleRows (Index startRow, NRowsType n)
 
const ConstNRowsBlockXpr<... >::Type middleRows (Index startRow, NRowsType n) const
 This is the const version of middleRows(Index,NRowsType).
 
const CwiseBinaryOp< internal::scalar_bitwise_and_op< Scalar >, const SparseVector< Scalar_, Options_, StorageIndex_ >, const OtherDerived > operator& (const Eigen::SparseMatrixBase< OtherDerived > &other) const
 
const CwiseBinaryOp< internal::scalar_boolean_and_op< Scalar >, const SparseVector< Scalar_, Options_, StorageIndex_ >, const OtherDerived > operator&& (const Eigen::SparseMatrixBase< OtherDerived > &other) const
 
const Product< SparseVector< Scalar_, Options_, StorageIndex_ >, OtherDerived, AliasFreeProduct > operator* (const SparseMatrixBase< OtherDerived > &other) const
 
const CwiseBinaryOp< sum< Scalar >, const SparseVector< Scalar_, Options_, StorageIndex_ >, const OtherDerived > operator+ (const Eigen::SparseMatrixBase< OtherDerived > &other) const
 
const NegativeReturnType operator- () const
 
const CwiseBinaryOp< difference< Scalar >, const SparseVector< Scalar_, Options_, StorageIndex_ >, const OtherDerived > operator- (const Eigen::SparseMatrixBase< OtherDerived > &other) const
 
const CwiseBinaryOp< internal::scalar_bitwise_xor_op< Scalar >, const SparseVector< Scalar_, Options_, StorageIndex_ >, const OtherDerived > operator^ (const Eigen::SparseMatrixBase< OtherDerived > &other) const
 
const CwiseBinaryOp< internal::scalar_bitwise_or_op< Scalar >, const SparseVector< Scalar_, Options_, StorageIndex_ >, const OtherDerived > operator| (const Eigen::SparseMatrixBase< OtherDerived > &other) const
 
const CwiseBinaryOp< internal::scalar_boolean_or_op< Scalar >, const SparseVector< Scalar_, Options_, StorageIndex_ >, const OtherDerived > operator|| (const Eigen::SparseMatrixBase< OtherDerived > &other) const
 
Index outerSize () const
 
const SparseView< SparseVector< Scalar_, Options_, StorageIndex_ > > pruned (const Scalar &reference=Scalar(0), const RealScalar &epsilon=NumTraits< Scalar >::dummy_precision()) const
 
NonConstRealReturnType real ()
 
RealReturnType real () const
 
NColsBlockXpr< N >::Type rightCols (Index n=N)
 
ConstNColsBlockXpr< N >::Type rightCols (Index n=N) const
 This is the const version of rightCols<int>().
 
NColsBlockXpr<... >::Type rightCols (NColsType n)
 
const ConstNColsBlockXpr<... >::Type rightCols (NColsType n) const
 This is the const version of rightCols(NColsType).
 
RowXpr row (Index i)
 
ConstRowXpr row (Index i) const
 This is the const version of row(). *‍/.
 
Index rows () const
 
FixedSegmentReturnType< N >::Type segment (Index start, Index n=N)
 
ConstFixedSegmentReturnType< N >::Type segment (Index start, Index n=N) const
 This is the const version of segment<int>(Index).
 
FixedSegmentReturnType<... >::Type segment (Index start, NType n)
 
const ConstFixedSegmentReturnType<... >::Type segment (Index start, NType n) const
 This is the const version of segment(Index,NType).
 
Index size () const
 
std::conditional_t< Direction==Vertical, ColXpr, RowXpr > subVector (Index i)
 
std::conditional_t< Direction==Vertical, ConstColXpr, ConstRowXpr > subVector (Index i) const
 
EIGEN_CONSTEXPR Index subVectors () const
 
FixedSegmentReturnType< N >::Type tail (Index n=N)
 
ConstFixedSegmentReturnType< N >::Type tail (Index n=N) const
 This is the const version of tail<int>.
 
FixedSegmentReturnType<... >::Type tail (NType n)
 
const ConstFixedSegmentReturnType<... >::Type tail (NType n) const
 This is the const version of tail(Index).
 
FixedBlockXpr< CRows, CCols >::Type topLeftCorner ()
 
const ConstFixedBlockXpr< CRows, CCols >::Type topLeftCorner () const
 This is the const version of topLeftCorner<int, int>().
 
FixedBlockXpr< CRows, CCols >::Type topLeftCorner (Index cRows, Index cCols)
 
const ConstFixedBlockXpr< CRows, CCols >::Type topLeftCorner (Index cRows, Index cCols) const
 This is the const version of topLeftCorner<int, int>(Index, Index).
 
FixedBlockXpr<...,... >::Type topLeftCorner (NRowsType cRows, NColsType cCols)
 
const ConstFixedBlockXpr<...,... >::Type topLeftCorner (NRowsType cRows, NColsType cCols) const
 This is the const version of topLeftCorner(Index, Index).
 
FixedBlockXpr< CRows, CCols >::Type topRightCorner ()
 
const ConstFixedBlockXpr< CRows, CCols >::Type topRightCorner () const
 This is the const version of topRightCorner<int, int>().
 
FixedBlockXpr< CRows, CCols >::Type topRightCorner (Index cRows, Index cCols)
 
const ConstFixedBlockXpr< CRows, CCols >::Type topRightCorner (Index cRows, Index cCols) const
 This is the const version of topRightCorner<int, int>(Index, Index).
 
FixedBlockXpr<...,... >::Type topRightCorner (NRowsType cRows, NColsType cCols)
 
const ConstFixedBlockXpr<...,... >::Type topRightCorner (NRowsType cRows, NColsType cCols) const
 This is the const version of topRightCorner(NRowsType, NColsType).
 
NRowsBlockXpr< N >::Type topRows (Index n=N)
 
ConstNRowsBlockXpr< N >::Type topRows (Index n=N) const
 This is the const version of topRows<int>().
 
NRowsBlockXpr<... >::Type topRows (NRowsType n)
 
const ConstNRowsBlockXpr<... >::Type topRows (NRowsType n) const
 This is the const version of topRows(NRowsType).
 
SparseSymmetricPermutationProduct< SparseVector< Scalar_, Options_, StorageIndex_ >, Upper|LowertwistedBy (const PermutationMatrix< Dynamic, Dynamic, StorageIndex > &perm) const
 
const CwiseUnaryOp< CustomUnaryOp, const SparseVector< Scalar_, Options_, StorageIndex_ > > unaryExpr (const CustomUnaryOp &func=CustomUnaryOp()) const
 Apply a unary operator coefficient-wise.
 
CwiseUnaryView< CustomViewOp, SparseVector< Scalar_, Options_, StorageIndex_ > > unaryViewExpr (const CustomViewOp &func=CustomViewOp())
 
const CwiseUnaryView< CustomViewOp, const SparseVector< Scalar_, Options_, StorageIndex_ > > unaryViewExpr (const CustomViewOp &func=CustomViewOp()) const
 
- Public Member Functions inherited from Eigen::EigenBase< SparseVector< Scalar_, Options_, StorageIndex_ > >
EIGEN_CONSTEXPR Index cols () const EIGEN_NOEXCEPT
 
constexpr SparseVector< Scalar_, Options_, StorageIndex_ > & derived ()
 
constexpr const SparseVector< Scalar_, Options_, StorageIndex_ > & derived () const
 
EIGEN_CONSTEXPR Index rows () const EIGEN_NOEXCEPT
 
EIGEN_CONSTEXPR Index size () const EIGEN_NOEXCEPT
 

Additional Inherited Members

- Public Types inherited from Eigen::SparseMatrixBase< SparseVector< Scalar_, Options_, StorageIndex_ > >
typedef NumTraits< Scalar >::Real RealScalar
 
typedef internal::traits< SparseVector< Scalar_, Options_, StorageIndex_ > >::StorageIndex StorageIndex
 
typedef Scalar value_type
 
- Public Types inherited from Eigen::EigenBase< SparseVector< Scalar_, Options_, StorageIndex_ > >
typedef Eigen::Index Index
 The interface type of indices.
 
- Protected Member Functions inherited from Eigen::SparseCompressedBase< SparseVector< Scalar_, Options_, StorageIndex_ > >
 SparseCompressedBase ()
 

Constructor & Destructor Documentation

◆ ~SparseVector()

template<typename Scalar_, int Options_, typename StorageIndex_>
Eigen::SparseVector< Scalar_, Options_, StorageIndex_ >::~SparseVector ( )
inline

Destructor

Member Function Documentation

◆ coeffRef()

template<typename Scalar_, int Options_, typename StorageIndex_>
Scalar & Eigen::SparseVector< Scalar_, Options_, StorageIndex_ >::coeffRef ( Index i)
inline
Returns
a reference to the coefficient value at given index i This operation involves a log(rho*size) binary search. If the coefficient does not exist yet, then a sorted insertion into a sequential buffer is performed.

This insertion might be very costly if the number of nonzeros above i is large.

◆ conservativeResize()

template<typename Scalar_, int Options_, typename StorageIndex_>
void Eigen::SparseVector< Scalar_, Options_, StorageIndex_ >::conservativeResize ( Index newSize)
inline

Resizes the sparse vector to newSize, while leaving old values untouched.

If the size of the vector is decreased, then the storage of the out-of bounds coefficients is kept and reserved. Call .data().squeeze() to free extra memory.

See also
reserve(), setZero()

◆ nonZeros()

template<typename Scalar_, int Options_, typename StorageIndex_>
Index Eigen::SparseVector< Scalar_, Options_, StorageIndex_ >::nonZeros ( ) const
inline
Returns
the number of non zero coefficients

◆ prune() [1/2]

template<typename Scalar_, int Options_, typename StorageIndex_>
Index Eigen::SparseVector< Scalar_, Options_, StorageIndex_ >::prune ( const Scalar & reference,
const RealScalar & epsilon = NumTraits<RealScalar>::dummy_precision() )
inline

Suppresses all nonzeros which are much smaller than reference under the tolerance epsilon

◆ prune() [2/2]

template<typename Scalar_, int Options_, typename StorageIndex_>
template<class F>
Index Eigen::SparseVector< Scalar_, Options_, StorageIndex_ >::prune ( F && keep_predicate)
inline

Prunes the entries of the vector based on a predicate

Template Parameters
FType of the predicate.
Parameters
keep_predicateThe predicate that is used to test whether a value should be kept. A callable that gets passed om a Scalar value and returns a boolean. If the predicate returns true, the value is kept.
Returns
The new number of structural non-zeros.

◆ resize() [1/2]

template<typename Scalar_, int Options_, typename StorageIndex_>
void Eigen::SparseVector< Scalar_, Options_, StorageIndex_ >::resize ( Index newSize)
inline

Resizes the sparse vector to newSize This method deletes all entries, thus leaving an empty sparse vector

See also
conservativeResize(), setZero()

◆ resize() [2/2]

template<typename Scalar_, int Options_, typename StorageIndex_>
void Eigen::SparseVector< Scalar_, Options_, StorageIndex_ >::resize ( Index rows,
Index cols )
inline

Resizes the sparse vector to rows x cols

This method is provided for compatibility with matrices. For a column vector, cols must be equal to 1. For a row vector, rows must be equal to 1.

See also
resize(Index)

◆ sum()

template<typename Scalar_, int Options_, typename Index_>
internal::traits< SparseVector< Scalar_, Options_, Index_ > >::Scalar Eigen::SparseVector< Scalar_, Options_, Index_ >::sum ( ) const

Overloaded for performance

◆ swap()

template<typename Scalar_, int Options_, typename StorageIndex_>
void Eigen::SparseVector< Scalar_, Options_, StorageIndex_ >::swap ( SparseVector< Scalar_, Options_, StorageIndex_ > & other)
inline

Swaps the values of *this and other. Overloaded for performance: this version performs a shallow swap by swapping pointers and attributes only.

See also
SparseMatrixBase::swap()

The documentation for this class was generated from the following files: