Spec-Zone.ru › 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
~SparseVector() template<typename _Scalar , int _Options, typename _StorageIndex >
coeffRef() template<typename _Scalar , int _Options, typename _StorageIndex >
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 >
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 >
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 >
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 >
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 >
Overloaded for performance
swap() template<typename _Scalar , int _Options, typename _StorageIndex >
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: