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: