Eigen  3.3.4
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Eigen::SparseVector< _Scalar, _Flags, _StorageIndex > Class Template Reference

Detailed Description

template<typename _Scalar, int _Flags = 0, typename _StorageIndex = int>
class Eigen::SparseVector< _Scalar, _Flags, _StorageIndex >

a sparse vector class

Template Parameters
_Scalarthe 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, _Flags, _StorageIndex >:

Public Member Functions

Scalar & coeffRef (Index i)
 
void conservativeResize (Index newSize)
 
Index nonZeros () const
 
void prune (const Scalar &reference, const RealScalar &epsilon=NumTraits< RealScalar >::dummy_precision())
 
void resize (Index rows, Index cols)
 
void resize (Index newSize)
 
Scalar sum () const
 
void swap (SparseVector &other)
 
 ~SparseVector ()
 
- Public Member Functions inherited from Eigen::SparseCompressedBase< SparseVector< _Scalar, _Options, _StorageIndex > >
const Map< const Array< Scalar,
Dynamic, 1 > > 
coeffs () const
 
Map< Array< Scalar, Dynamic, 1 > > coeffs ()
 
const StorageIndexinnerIndexPtr () const
 
StorageIndexinnerIndexPtr ()
 
const StorageIndexinnerNonZeroPtr () const
 
StorageIndexinnerNonZeroPtr ()
 
bool isCompressed () const
 
Index nonZeros () const
 
const StorageIndexouterIndexPtr () const
 
StorageIndexouterIndexPtr ()
 
const Scalar * valuePtr () const
 
Scalar * valuePtr ()
 
- 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
 
BlockXpr block (Index startRow, Index startCol, Index blockRows, Index blockCols)
 
const ConstBlockXpr block (Index startRow, Index startCol, Index blockRows, Index blockCols) const
 This is the const version of block(Index,Index,Index,Index). */.
 
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).
 
BlockXpr bottomLeftCorner (Index cRows, Index cCols)
 
const ConstBlockXpr bottomLeftCorner (Index cRows, Index cCols) const
 This is the const version of bottomLeftCorner(Index, Index).
 
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).
 
BlockXpr bottomRightCorner (Index cRows, Index cCols)
 
const ConstBlockXpr bottomRightCorner (Index cRows, Index cCols) const
 This is the const version of bottomRightCorner(Index, Index).
 
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).
 
RowsBlockXpr bottomRows (Index n)
 
ConstRowsBlockXpr bottomRows (Index n) const
 This is the const version of bottomRows(Index).
 
NRowsBlockXpr< N >::Type bottomRows (Index n=N)
 
ConstNRowsBlockXpr< N >::Type bottomRows (Index n=N) const
 This is the const version of bottomRows<int>().
 
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
 
const CwiseAbsReturnType cwiseAbs () const
 
const CwiseAbs2ReturnType cwiseAbs2 () const
 
const CwiseBinaryOp
< std::equal_to< Scalar >
, const SparseVector< _Scalar,
_Options, _StorageIndex >
, const OtherDerived > 
cwiseEqual (const Eigen::SparseMatrixBase< OtherDerived > &other) const
 
const CwiseScalarEqualReturnType cwiseEqual (const Scalar &s) const
 
const CwiseInverseReturnType cwiseInverse () const
 
const CwiseBinaryOp
< internal::scalar_max_op
< Scalar, Scalar >, const
SparseVector< _Scalar,
_Options, _StorageIndex >
, const OtherDerived > 
cwiseMax (const Eigen::SparseMatrixBase< OtherDerived > &other) const
 
const CwiseBinaryOp
< internal::scalar_max_op
< Scalar, Scalar >, const
SparseVector< _Scalar,
_Options, _StorageIndex >
, const ConstantReturnType > 
cwiseMax (const Scalar &other) const
 
const CwiseBinaryOp
< internal::scalar_min_op
< Scalar, Scalar >, const
SparseVector< _Scalar,
_Options, _StorageIndex >
, const OtherDerived > 
cwiseMin (const Eigen::SparseMatrixBase< OtherDerived > &other) const
 
const CwiseBinaryOp
< internal::scalar_min_op
< Scalar, Scalar >, const
SparseVector< _Scalar,
_Options, _StorageIndex >
, const ConstantReturnType > 
cwiseMin (const Scalar &other) const
 
const CwiseBinaryOp
< std::not_equal_to< Scalar >
, const SparseVector< _Scalar,
_Options, _StorageIndex >
, const OtherDerived > 
cwiseNotEqual (const Eigen::SparseMatrixBase< OtherDerived > &other) 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 internal::eval
< SparseVector< _Scalar,
_Options, _StorageIndex >
>::type 
eval () const
 
SegmentReturnType head (Index n)
 
ConstSegmentReturnType head (Index n) const
 This is the const version of head(Index).
 
FixedSegmentReturnType< N >::Type head (Index n=N)
 
ConstFixedSegmentReturnType< N >
::Type 
head (Index n=N) const
 This is the const version of head<int>().
 
const ImagReturnType imag () const
 
NonConstImagReturnType imag ()
 
Index innerSize () const
 
bool isVector () const
 
ColsBlockXpr leftCols (Index n)
 
ConstColsBlockXpr leftCols (Index n) const
 This is the const version of leftCols(Index).
 
NColsBlockXpr< N >::Type leftCols (Index n=N)
 
ConstNColsBlockXpr< N >::Type leftCols (Index n=N) const
 This is the const version of leftCols<int>().
 
ColsBlockXpr middleCols (Index startCol, Index numCols)
 
ConstColsBlockXpr middleCols (Index startCol, Index numCols) const
 This is the const version of middleCols(Index,Index).
 
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>().
 
RowsBlockXpr middleRows (Index startRow, Index n)
 
ConstRowsBlockXpr middleRows (Index startRow, Index n) const
 This is the const version of middleRows(Index,Index).
 
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>().
 
const CwiseBinaryOp
< internal::scalar_boolean_and_op,
const SparseVector< _Scalar,
_Options, _StorageIndex >
, const OtherDerived > 
operator&& (const Eigen::SparseMatrixBase< OtherDerived > &other) const
 
const CwiseBinaryOp
< internal::scalar_product_op
< Scalar, T >, SparseVector
< _Scalar, _Options,
_StorageIndex >, Constant< T > > 
operator* (const T &scalar) const
 
const CwiseBinaryOp< sum
< Scalar >, const SparseVector
< _Scalar, _Options,
_StorageIndex >, const
OtherDerived > 
operator+ (const Eigen::SparseMatrixBase< OtherDerived > &other) const
 
const CwiseBinaryOp
< difference< Scalar >, const
SparseVector< _Scalar,
_Options, _StorageIndex >
, const OtherDerived > 
operator- (const Eigen::SparseMatrixBase< OtherDerived > &other) const
 
const NegativeReturnType operator- () const
 
const CwiseBinaryOp
< internal::scalar_quotient_op
< Scalar, T >, SparseVector
< _Scalar, _Options,
_StorageIndex >, Constant< T > > 
operator/ (const T &scalar) const
 
const CwiseBinaryOp
< internal::scalar_boolean_or_op,
const SparseVector< _Scalar,
_Options, _StorageIndex >
, const OtherDerived > 
operator|| (const Eigen::SparseMatrixBase< OtherDerived > &other) const
 
Index outerSize () const
 
RealReturnType real () const
 
NonConstRealReturnType real ()
 
ColsBlockXpr rightCols (Index n)
 
ConstColsBlockXpr rightCols (Index n) const
 This is the const version of rightCols(Index).
 
NColsBlockXpr< N >::Type rightCols (Index n=N)
 
ConstNColsBlockXpr< N >::Type rightCols (Index n=N) const
 This is the const version of rightCols<int>().
 
RowXpr row (Index i)
 
ConstRowXpr row (Index i) const
 This is the const version of row(). */.
 
Index rows () const
 
SegmentReturnType segment (Index start, Index n)
 
ConstSegmentReturnType segment (Index start, Index n) const
 This is the const version of segment(Index,Index).
 
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).
 
Index size () const
 
SegmentReturnType tail (Index n)
 
ConstSegmentReturnType tail (Index n) const
 This is the const version of tail(Index).
 
FixedSegmentReturnType< N >::Type tail (Index n=N)
 
ConstFixedSegmentReturnType< N >
::Type 
tail (Index n=N) const
 This is the const version of tail<int>.
 
BlockXpr topLeftCorner (Index cRows, Index cCols)
 
const ConstBlockXpr topLeftCorner (Index cRows, Index cCols) const
 This is the const version of topLeftCorner(Index, 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).
 
BlockXpr topRightCorner (Index cRows, Index cCols)
 
const ConstBlockXpr topRightCorner (Index cRows, Index cCols) const
 This is the const version of topRightCorner(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).
 
RowsBlockXpr topRows (Index n)
 
ConstRowsBlockXpr topRows (Index n) const
 This is the const version of topRows(Index).
 
NRowsBlockXpr< N >::Type topRows (Index n=N)
 
ConstNRowsBlockXpr< N >::Type topRows (Index n=N) const
 This is the const version of topRows<int>().
 
SparseSymmetricPermutationProduct
< SparseVector< _Scalar,
_Options, _StorageIndex >
, Upper|Lower > 
twistedBy (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. More...
 
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 > >
Index cols () const
 
SparseVector< _Scalar,
_Options, _StorageIndex > & 
derived ()
 
const SparseVector< _Scalar,
_Options, _StorageIndex > & 
derived () const
 
Index rows () const
 
Index size () const
 

Additional Inherited Members

- Public Types inherited from Eigen::SparseMatrixBase< SparseVector< _Scalar, _Options, _StorageIndex > >
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. More...
 
- Protected Member Functions inherited from Eigen::SparseCompressedBase< SparseVector< _Scalar, _Options, _StorageIndex > >
 SparseCompressedBase ()
 

Constructor & Destructor Documentation

template<typename _Scalar, int _Flags = 0, typename _StorageIndex = int>
Eigen::SparseVector< _Scalar, _Flags, _StorageIndex >::~SparseVector ( )
inline

Destructor

Member Function Documentation

template<typename _Scalar, int _Flags = 0, typename _StorageIndex = int>
Scalar& Eigen::SparseVector< _Scalar, _Flags, _StorageIndex >::coeffRef ( Index  i)
inline
Returns
a reference to the coefficient value at given index i This operation involes 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.

template<typename _Scalar, int _Flags = 0, typename _StorageIndex = int>
void Eigen::SparseVector< _Scalar, _Flags, _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()
template<typename _Scalar, int _Flags = 0, typename _StorageIndex = int>
Index Eigen::SparseVector< _Scalar, _Flags, _StorageIndex >::nonZeros ( ) const
inline
Returns
the number of non zero coefficients
template<typename _Scalar, int _Flags = 0, typename _StorageIndex = int>
void Eigen::SparseVector< _Scalar, _Flags, _StorageIndex >::prune ( const Scalar &  reference,
const RealScalar &  epsilon = NumTraits<RealScalar>::dummy_precision() 
)
inline

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

template<typename _Scalar, int _Flags = 0, typename _StorageIndex = int>
void Eigen::SparseVector< _Scalar, _Flags, _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)
template<typename _Scalar, int _Flags = 0, typename _StorageIndex = int>
void Eigen::SparseVector< _Scalar, _Flags, _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()
template<typename _Scalar , int _Options, typename _Index >
internal::traits< SparseVector< _Scalar, _Options, _Index > >::Scalar Eigen::SparseVector< _Scalar, _Options, _Index >::sum ( ) const

Overloaded for performance

template<typename _Scalar, int _Flags = 0, typename _StorageIndex = int>
void Eigen::SparseVector< _Scalar, _Flags, _StorageIndex >::swap ( SparseVector< _Scalar, _Flags, _StorageIndex > &  other)
inline

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

See Also
SparseMatrixBase::swap()

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