Eigen  5.0.1-dev
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_ > >
const Map< const Array< Scalar, Dynamic, 1 > > coeffs () const
const StorageIndexinnerIndexPtr () const
Index innerIndicesAreSorted (Index begin, Index end) const
const StorageIndexinnerNonZeroPtr () const
bool isCompressed () const
Index nonZeros () const
const StorageIndexouterIndexPtr () const
void sortInnerIndices (Index begin, Index end)
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<...,... >::Type block (Index startRow, Index startCol, NRowsType blockRows, NColsType blockCols)
FixedBlockXpr<...,... >::Type bottomLeftCorner (NRowsType cRows, NColsType cCols)
FixedBlockXpr<...,... >::Type bottomRightCorner (NRowsType cRows, NColsType cCols)
NRowsBlockXpr<... >::Type bottomRows (NRowsType n)
CastXpr< NewType >::Type cast () const
ColXpr col (Index i)
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 CwiseBinaryGreaterReturnType< OtherDerived > cwiseGreater (const Eigen::SparseMatrixBase< OtherDerived > &other) const
const CwiseBinaryGreaterOrEqualReturnType< OtherDerived > cwiseGreaterOrEqual (const Eigen::SparseMatrixBase< OtherDerived > &other) const
const CwiseInverseReturnType cwiseInverse () const
const CwiseBinaryLessReturnType< OtherDerived > cwiseLess (const Eigen::SparseMatrixBase< OtherDerived > &other) const
const CwiseBinaryLessOrEqualReturnType< OtherDerived > cwiseLessOrEqual (const Eigen::SparseMatrixBase< OtherDerived > &other) 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_min_op< Scalar, Scalar, NaNPropagation >, const SparseVector< Scalar_, Options_, StorageIndex_ >, const OtherDerived > cwiseMin (const Eigen::SparseMatrixBase< OtherDerived > &other) const
const CwiseBinaryNotEqualReturnType< OtherDerived > cwiseNotEqual (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<... >::Type head (NType n)
const ImagReturnType imag () const
Index innerSize () const
InnerVectorReturnType innerVector (Index outer)
InnerVectorsReturnType innerVectors (Index outerStart, Index outerSize)
bool isVector () const
NColsBlockXpr<... >::Type leftCols (NColsType n)
NColsBlockXpr<... >::Type middleCols (Index startCol, NColsType numCols)
NRowsBlockXpr<... >::Type middleRows (Index startRow, NRowsType n)
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 CwiseBinaryOp< sum< Scalar >, const SparseVector< Scalar_, Options_, StorageIndex_ >, const OtherDerived > operator+ (const Eigen::SparseMatrixBase< OtherDerived > &other) const
const NegativeReturnType operator- () 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
RealReturnType real () const
NColsBlockXpr<... >::Type rightCols (NColsType n)
RowXpr row (Index i)
Index rows () const
FixedSegmentReturnType<... >::Type segment (Index start, NType n)
Index size () const
std::conditional_t< Direction==Vertical, ColXpr, RowXpr > subVector (Index i)
constexpr Index subVectors () const
FixedSegmentReturnType<... >::Type tail (NType n)
FixedBlockXpr<...,... >::Type topLeftCorner (NRowsType cRows, NColsType cCols)
FixedBlockXpr<...,... >::Type topRightCorner (NRowsType cRows, NColsType cCols)
NRowsBlockXpr<... >::Type topRows (NRowsType n)
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.
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_ > >
constexpr Index cols () const noexcept
constexpr SparseVector< Scalar_, Options_, StorageIndex_ > & derived ()
constexpr Index rows () const noexcept
constexpr Index size () const 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:
  • /builddir/build/BUILD/eigen3-5.0.1-build/eigen-5.0.1/Eigen/src/SparseCore/SparseUtil.h
  • /builddir/build/BUILD/eigen3-5.0.1-build/eigen-5.0.1/Eigen/src/SparseCore/SparseVector.h
  • /builddir/build/BUILD/eigen3-5.0.1-build/eigen-5.0.1/Eigen/src/SparseCore/SparseRedux.h