W3cubDocs

/Eigen3

Eigen::SparseVector

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.

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 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
StorageIndex * innerIndexPtr ()
const StorageIndex * innerIndexPtr () const
StorageIndex * innerNonZeroPtr ()
const StorageIndex * innerNonZeroPtr () const
bool isCompressed () const
Index nonZeros () const
StorageIndex * outerIndexPtr ()
const StorageIndex * outerIndexPtr () const
Scalar * valuePtr ()
const Scalar * valuePtr () const
- Public Member Functions inherited from Eigen::SparseMatrixBase< SparseVector< _Scalar, _Options, _StorageIndex > >
Index cols () const
const internal::eval< SparseVector< _Scalar, _Options, _StorageIndex > >::type eval () const
Index innerSize () const
bool isVector () const
const Product< SparseVector< _Scalar, _Options, _StorageIndex >, OtherDerived, AliasFreeProduct > operator* (const 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
Index rows () const
Index size () const
SparseSymmetricPermutationProduct< SparseVector< _Scalar, _Options, _StorageIndex >, Upper|Lower > twistedBy (const PermutationMatrix< Dynamic, Dynamic, StorageIndex > &perm) const
- Public Member Functions inherited from Eigen::EigenBase< SparseVector< _Scalar, _Options, _StorageIndex > >
EIGEN_CONSTEXPR Index cols () const EIGEN_NOEXCEPT
SparseVector< _Scalar, _Options, _StorageIndex > & derived ()
const SparseVector< _Scalar, _Options, _StorageIndex > & derived () const
EIGEN_CONSTEXPR Index rows () const EIGEN_NOEXCEPT
EIGEN_CONSTEXPR Index size () const EIGEN_NOEXCEPT
- 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 ()

~SparseVector()

template<typename _Scalar , int _Options, typename _StorageIndex >
Eigen::SparseVector< _Scalar, _Options, _StorageIndex >::~SparseVector ( )
inline

Destructor

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 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.

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()

template<typename _Scalar , int _Options, typename _StorageIndex >
void 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

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

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:

© Eigen.
Licensed under the MPL2 License.
https://eigen.tuxfamily.org/dox/classEigen_1_1SparseVector.html