Please, help us to better know about our user community by answering the following short survey: https://forms.gle/wpyrxWi18ox9Z5ae9
Eigen  3.4.0
Loading...
Searching...
No Matches
Eigen::SparseCompressedBase< Derived > Class Template Reference

Detailed Description

template<typename Derived>
class Eigen::SparseCompressedBase< Derived >

Common base class for sparse [compressed]-{row|column}-storage format.

This class defines the common interface for all derived classes implementing the compressed sparse storage format, such as:

Inheritance diagram for Eigen::SparseCompressedBase< Derived >:

Public Member Functions

Map< Array< Scalar, Dynamic, 1 > > coeffs ()
const Map< const Array< Scalar, Dynamic, 1 > > coeffs () const
StorageIndexinnerIndexPtr ()
const StorageIndexinnerIndexPtr () const
StorageIndexinnerNonZeroPtr ()
const StorageIndexinnerNonZeroPtr () const
bool isCompressed () const
Index nonZeros () const
StorageIndexouterIndexPtr ()
const StorageIndexouterIndexPtr () const
Scalar * valuePtr ()
const Scalar * valuePtr () const
Public Member Functions inherited from Eigen::SparseMatrixBase< Derived >
template<typename CustomBinaryOp, typename OtherDerived>
const CwiseBinaryOp< CustomBinaryOp, const Derived, const OtherDerived > binaryExpr (const Eigen::SparseMatrixBase< OtherDerived > &other, const CustomBinaryOp &func=CustomBinaryOp()) const
template<int NRows, int NCols>
FixedBlockXpr< NRows, NCols >::Type block (Index startRow, Index startCol)
template<int NRows, int NCols>
const ConstFixedBlockXpr< NRows, NCols >::Type block (Index startRow, Index startCol) const
 This is the const version of block<>(Index, Index). *‍/.
template<int NRows, int NCols>
FixedBlockXpr< NRows, NCols >::Type block (Index startRow, Index startCol, Index blockRows, Index blockCols)
template<int NRows, int NCols>
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).
template<typename NRowsType, typename NColsType>
FixedBlockXpr<...,... >::Type block (Index startRow, Index startCol, NRowsType blockRows, NColsType blockCols)
template<typename NRowsType, typename NColsType>
const ConstFixedBlockXpr<...,... >::Type block (Index startRow, Index startCol, NRowsType blockRows, NColsType blockCols) const
 This is the const version of block(Index,Index,NRowsType,NColsType)
template<int CRows, int CCols>
FixedBlockXpr< CRows, CCols >::Type bottomLeftCorner ()
template<int CRows, int CCols>
const ConstFixedBlockXpr< CRows, CCols >::Type bottomLeftCorner () const
 This is the const version of bottomLeftCorner<int, int>().
template<int CRows, int CCols>
FixedBlockXpr< CRows, CCols >::Type bottomLeftCorner (Index cRows, Index cCols)
template<int CRows, int CCols>
const ConstFixedBlockXpr< CRows, CCols >::Type bottomLeftCorner (Index cRows, Index cCols) const
 This is the const version of bottomLeftCorner<int, int>(Index, Index).
template<typename NRowsType, typename NColsType>
FixedBlockXpr<...,... >::Type bottomLeftCorner (NRowsType cRows, NColsType cCols)
template<typename NRowsType, typename NColsType>
ConstFixedBlockXpr<...,... >::Type bottomLeftCorner (NRowsType cRows, NColsType cCols) const
 This is the const version of bottomLeftCorner(NRowsType, NColsType).
template<int CRows, int CCols>
FixedBlockXpr< CRows, CCols >::Type bottomRightCorner ()
template<int CRows, int CCols>
const ConstFixedBlockXpr< CRows, CCols >::Type bottomRightCorner () const
 This is the const version of bottomRightCorner<int, int>().
template<int CRows, int CCols>
FixedBlockXpr< CRows, CCols >::Type bottomRightCorner (Index cRows, Index cCols)
template<int CRows, int CCols>
const ConstFixedBlockXpr< CRows, CCols >::Type bottomRightCorner (Index cRows, Index cCols) const
 This is the const version of bottomRightCorner<int, int>(Index, Index).
template<typename NRowsType, typename NColsType>
FixedBlockXpr<...,... >::Type bottomRightCorner (NRowsType cRows, NColsType cCols)
template<typename NRowsType, typename NColsType>
const ConstFixedBlockXpr<...,... >::Type bottomRightCorner (NRowsType cRows, NColsType cCols) const
 This is the const version of bottomRightCorner(NRowsType, NColsType).
template<int N>
NRowsBlockXpr< N >::Type bottomRows (Index n=N)
template<int N>
ConstNRowsBlockXpr< N >::Type bottomRows (Index n=N) const
 This is the const version of bottomRows<int>().
template<typename NRowsType>
NRowsBlockXpr<... >::Type bottomRows (NRowsType n)
template<typename NRowsType>
const ConstNRowsBlockXpr<... >::Type bottomRows (NRowsType n) const
 This is the const version of bottomRows(NRowsType).
template<typename NewType>
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
template<bool Cond>
internal::conditional< Cond, ConjugateReturnType, constDerived & >::type conjugateIf () const
const CwiseAbsReturnType cwiseAbs () const
const CwiseAbs2ReturnType cwiseAbs2 () const
const CwiseArgReturnType cwiseArg () const
template<typename OtherDerived>
const CwiseBinaryOp< numext::equal_to< Scalar >, const Derived, const OtherDerived > cwiseEqual (const Eigen::SparseMatrixBase< OtherDerived > &other) const
const CwiseScalarEqualReturnType cwiseEqual (const Scalar &s) const
const CwiseInverseReturnType cwiseInverse () const
template<typename OtherDerived>
const CwiseBinaryOp< internal::scalar_max_op< Scalar, Scalar >, const Derived, const OtherDerived > cwiseMax (const Eigen::SparseMatrixBase< OtherDerived > &other) const
const CwiseBinaryOp< internal::scalar_max_op< Scalar, Scalar >, const Derived, const ConstantReturnType > cwiseMax (const Scalar &other) const
template<typename OtherDerived>
const CwiseBinaryOp< internal::scalar_min_op< Scalar, Scalar >, const Derived, const OtherDerived > cwiseMin (const Eigen::SparseMatrixBase< OtherDerived > &other) const
const CwiseBinaryOp< internal::scalar_min_op< Scalar, Scalar >, const Derived, const ConstantReturnType > cwiseMin (const Scalar &other) const
template<typename OtherDerived>
const CwiseBinaryOp< numext::not_equal_to< Scalar >, const Derived, const OtherDerived > cwiseNotEqual (const Eigen::SparseMatrixBase< OtherDerived > &other) const
template<typename OtherDerived>
const CwiseBinaryOp< internal::scalar_product_op< Derived ::Scalar, OtherDerived ::Scalar >, const Derived, const OtherDerived > cwiseProduct (const Eigen::SparseMatrixBase< OtherDerived > &other) const
template<typename OtherDerived>
const CwiseBinaryOp< internal::scalar_quotient_op< Scalar >, const Derived, const OtherDerived > cwiseQuotient (const Eigen::SparseMatrixBase< OtherDerived > &other) const
const CwiseSignReturnType cwiseSign () const
const CwiseSqrtReturnType cwiseSqrt () const
const internal::eval< Derived >::type eval () const
template<int N>
FixedSegmentReturnType< N >::Type head (Index n=N)
template<int N>
ConstFixedSegmentReturnType< N >::Type head (Index n=N) const
 This is the const version of head<int>().
template<typename NType>
FixedSegmentReturnType<... >::Type head (NType n)
template<typename NType>
const ConstFixedSegmentReturnType<... >::Type head (NType n) const
 This is the const version of head(NType).
NonConstImagReturnType imag ()
const ImagReturnType imag () const
Index innerSize () const
InnerVectorReturnType innerVector (Index outer)
const ConstInnerVectorReturnType innerVector (Index outer) const
InnerVectorsReturnType innerVectors (Index outerStart, Index outerSize)
const ConstInnerVectorsReturnType innerVectors (Index outerStart, Index outerSize) const
bool isVector () const
template<int N>
NColsBlockXpr< N >::Type leftCols (Index n=N)
template<int N>
ConstNColsBlockXpr< N >::Type leftCols (Index n=N) const
 This is the const version of leftCols<int>().
template<typename NColsType>
NColsBlockXpr<... >::Type leftCols (NColsType n)
template<typename NColsType>
const ConstNColsBlockXpr<... >::Type leftCols (NColsType n) const
 This is the const version of leftCols(NColsType).
template<int N>
NColsBlockXpr< N >::Type middleCols (Index startCol, Index n=N)
template<int N>
ConstNColsBlockXpr< N >::Type middleCols (Index startCol, Index n=N) const
 This is the const version of middleCols<int>().
template<typename NColsType>
NColsBlockXpr<... >::Type middleCols (Index startCol, NColsType numCols)
template<typename NColsType>
const ConstNColsBlockXpr<... >::Type middleCols (Index startCol, NColsType numCols) const
 This is the const version of middleCols(Index,NColsType).
template<int N>
NRowsBlockXpr< N >::Type middleRows (Index startRow, Index n=N)
template<int N>
ConstNRowsBlockXpr< N >::Type middleRows (Index startRow, Index n=N) const
 This is the const version of middleRows<int>().
template<typename NRowsType>
NRowsBlockXpr<... >::Type middleRows (Index startRow, NRowsType n)
template<typename NRowsType>
const ConstNRowsBlockXpr<... >::Type middleRows (Index startRow, NRowsType n) const
 This is the const version of middleRows(Index,NRowsType).
template<typename OtherDerived>
const CwiseBinaryOp< internal::scalar_boolean_and_op, const Derived, const OtherDerived > operator&& (const Eigen::SparseMatrixBase< OtherDerived > &other) const
template<typename OtherDerived>
const Product< Derived, OtherDerived, AliasFreeProduct > operator* (const SparseMatrixBase< OtherDerived > &other) const
template<typename T>
const CwiseBinaryOp< internal::scalar_product_op< Scalar, T >, Derived, Constant< T > > operator* (const T &scalar) const
template<typename OtherDerived>
const CwiseBinaryOp< sum< Scalar >, const Derived, const OtherDerived > operator+ (const Eigen::SparseMatrixBase< OtherDerived > &other) const
const NegativeReturnType operator- () const
template<typename OtherDerived>
const CwiseBinaryOp< difference< Scalar >, const Derived, const OtherDerived > operator- (const Eigen::SparseMatrixBase< OtherDerived > &other) const
template<typename T>
const CwiseBinaryOp< internal::scalar_quotient_op< Scalar, T >, Derived, Constant< T > > operator/ (const T &scalar) const
template<typename OtherDerived>
const CwiseBinaryOp< internal::scalar_boolean_or_op, const Derived, const OtherDerived > operator|| (const Eigen::SparseMatrixBase< OtherDerived > &other) const
Index outerSize () const
const SparseView< Derived > pruned (const Scalar &reference=Scalar(0), const RealScalar &epsilon=NumTraits< Scalar >::dummy_precision()) const
NonConstRealReturnType real ()
RealReturnType real () const
template<int N>
NColsBlockXpr< N >::Type rightCols (Index n=N)
template<int N>
ConstNColsBlockXpr< N >::Type rightCols (Index n=N) const
 This is the const version of rightCols<int>().
template<typename NColsType>
NColsBlockXpr<... >::Type rightCols (NColsType n)
template<typename NColsType>
const ConstNColsBlockXpr<... >::Type rightCols (NColsType n) const
 This is the const version of rightCols(NColsType).
RowXpr row (Index i)
ConstRowXpr row (Index i) const
 This is the const version of row(). *‍/.
Index rows () const
template<int N>
FixedSegmentReturnType< N >::Type segment (Index start, Index n=N)
template<int N>
ConstFixedSegmentReturnType< N >::Type segment (Index start, Index n=N) const
 This is the const version of segment<int>(Index).
template<typename NType>
FixedSegmentReturnType<... >::Type segment (Index start, NType n)
template<typename NType>
const ConstFixedSegmentReturnType<... >::Type segment (Index start, NType n) const
 This is the const version of segment(Index,NType).
Index size () const
template<DirectionType Direction>
internal::conditional< Direction==Vertical, ColXpr, RowXpr >::type subVector (Index i)
template<DirectionType Direction>
internal::conditional< Direction==Vertical, ConstColXpr, ConstRowXpr >::type subVector (Index i) const
template<DirectionType Direction>
EIGEN_CONSTEXPR Index subVectors () const
template<int N>
FixedSegmentReturnType< N >::Type tail (Index n=N)
template<int N>
ConstFixedSegmentReturnType< N >::Type tail (Index n=N) const
 This is the const version of tail<int>.
template<typename NType>
FixedSegmentReturnType<... >::Type tail (NType n)
template<typename NType>
const ConstFixedSegmentReturnType<... >::Type tail (NType n) const
 This is the const version of tail(Index).
template<int CRows, int CCols>
FixedBlockXpr< CRows, CCols >::Type topLeftCorner ()
template<int CRows, int CCols>
const ConstFixedBlockXpr< CRows, CCols >::Type topLeftCorner () const
 This is the const version of topLeftCorner<int, int>().
template<int CRows, int CCols>
FixedBlockXpr< CRows, CCols >::Type topLeftCorner (Index cRows, Index cCols)
template<int CRows, int CCols>
const ConstFixedBlockXpr< CRows, CCols >::Type topLeftCorner (Index cRows, Index cCols) const
 This is the const version of topLeftCorner<int, int>(Index, Index).
template<typename NRowsType, typename NColsType>
FixedBlockXpr<...,... >::Type topLeftCorner (NRowsType cRows, NColsType cCols)
template<typename NRowsType, typename NColsType>
const ConstFixedBlockXpr<...,... >::Type topLeftCorner (NRowsType cRows, NColsType cCols) const
 This is the const version of topLeftCorner(Index, Index).
template<int CRows, int CCols>
FixedBlockXpr< CRows, CCols >::Type topRightCorner ()
template<int CRows, int CCols>
const ConstFixedBlockXpr< CRows, CCols >::Type topRightCorner () const
 This is the const version of topRightCorner<int, int>().
template<int CRows, int CCols>
FixedBlockXpr< CRows, CCols >::Type topRightCorner (Index cRows, Index cCols)
template<int CRows, int CCols>
const ConstFixedBlockXpr< CRows, CCols >::Type topRightCorner (Index cRows, Index cCols) const
 This is the const version of topRightCorner<int, int>(Index, Index).
template<typename NRowsType, typename NColsType>
FixedBlockXpr<...,... >::Type topRightCorner (NRowsType cRows, NColsType cCols)
template<typename NRowsType, typename NColsType>
const ConstFixedBlockXpr<...,... >::Type topRightCorner (NRowsType cRows, NColsType cCols) const
 This is the const version of topRightCorner(NRowsType, NColsType).
template<int N>
NRowsBlockXpr< N >::Type topRows (Index n=N)
template<int N>
ConstNRowsBlockXpr< N >::Type topRows (Index n=N) const
 This is the const version of topRows<int>().
template<typename NRowsType>
NRowsBlockXpr<... >::Type topRows (NRowsType n)
template<typename NRowsType>
const ConstNRowsBlockXpr<... >::Type topRows (NRowsType n) const
 This is the const version of topRows(NRowsType).
SparseSymmetricPermutationProduct< Derived, Upper|LowertwistedBy (const PermutationMatrix< Dynamic, Dynamic, StorageIndex > &perm) const
template<typename CustomUnaryOp>
const CwiseUnaryOp< CustomUnaryOp, const Derived > unaryExpr (const CustomUnaryOp &func=CustomUnaryOp()) const
 Apply a unary operator coefficient-wise.
template<typename CustomViewOp>
const CwiseUnaryView< CustomViewOp, const Derived > unaryViewExpr (const CustomViewOp &func=CustomViewOp()) const
Public Member Functions inherited from Eigen::EigenBase< Derived >
EIGEN_CONSTEXPR Index cols () const EIGEN_NOEXCEPT
Derived & derived ()
const Derived & derived () const
EIGEN_CONSTEXPR Index rows () const EIGEN_NOEXCEPT
EIGEN_CONSTEXPR Index size () const EIGEN_NOEXCEPT

Protected Member Functions

 SparseCompressedBase ()

Additional Inherited Members

Public Types inherited from Eigen::SparseMatrixBase< Derived >
enum  {
  RowsAtCompileTime ,
  ColsAtCompileTime ,
  SizeAtCompileTime ,
  MaxRowsAtCompileTime ,
  MaxColsAtCompileTime ,
  MaxSizeAtCompileTime ,
  IsVectorAtCompileTime ,
  NumDimensions ,
  Flags ,
  IsRowMajor ,
  InnerSizeAtCompileTime
}
typedef internal::traits< Derived >::StorageIndex StorageIndex
typedef Scalar value_type
Public Types inherited from Eigen::EigenBase< Derived >
typedef Eigen::Index Index
 The interface type of indices.

Constructor & Destructor Documentation

◆ SparseCompressedBase()

template<typename Derived>
Eigen::SparseCompressedBase< Derived >::SparseCompressedBase ( )
inlineprotected

Default constructor. Do nothing.

Member Function Documentation

◆ coeffs() [1/2]

template<typename Derived>
Map< Array< Scalar, Dynamic, 1 > > Eigen::SparseCompressedBase< Derived >::coeffs ( )
inline
Returns
a read-write view of the stored coefficients as a 1D array expression
Warning
this method is for compressed storage only, and it will trigger an assertion otherwise.

Here is an example:

A.insert(1,2) = 0;
A.insert(0,1) = 1;
A.insert(2,0) = 2;
A.makeCompressed();
cout << "The matrix A is:" << endl << MatrixXd(A) << endl;
cout << "it has " << A.nonZeros() << " stored non zero coefficients that are: " << A.coeffs().transpose() << endl;
A.coeffs() += 10;
cout << "After adding 10 to every stored non zero coefficient, the matrix A is:" << endl << MatrixXd(A) << endl;
A versatible sparse matrix representation.
Definition SparseMatrix.h:98

and the output is:

The matrix A is:
0 1 0
0 0 0
2 0 0
it has 3 stored non zero coefficients that are: 2 1 0
After adding 10 to every stored non zero coefficient, the matrix A is:
0 11 0
0 0 10
12 0 0
See also
valuePtr(), isCompressed()

◆ coeffs() [2/2]

template<typename Derived>
const Map< const Array< Scalar, Dynamic, 1 > > Eigen::SparseCompressedBase< Derived >::coeffs ( ) const
inline
Returns
a read-only view of the stored coefficients as a 1D array expression.
Warning
this method is for compressed storage only, and it will trigger an assertion otherwise.
See also
valuePtr(), isCompressed()

◆ innerIndexPtr() [1/2]

template<typename Derived>
StorageIndex * Eigen::SparseCompressedBase< Derived >::innerIndexPtr ( )
inline
Returns
a non-const pointer to the array of inner indices. This function is aimed at interoperability with other libraries.
See also
valuePtr(), outerIndexPtr()

◆ innerIndexPtr() [2/2]

template<typename Derived>
const StorageIndex * Eigen::SparseCompressedBase< Derived >::innerIndexPtr ( ) const
inline
Returns
a const pointer to the array of inner indices. This function is aimed at interoperability with other libraries.
See also
valuePtr(), outerIndexPtr()

◆ innerNonZeroPtr() [1/2]

template<typename Derived>
StorageIndex * Eigen::SparseCompressedBase< Derived >::innerNonZeroPtr ( )
inline
Returns
a non-const pointer to the array of the number of non zeros of the inner vectors. This function is aimed at interoperability with other libraries.
Warning
it returns the null pointer 0 in compressed mode

◆ innerNonZeroPtr() [2/2]

template<typename Derived>
const StorageIndex * Eigen::SparseCompressedBase< Derived >::innerNonZeroPtr ( ) const
inline
Returns
a const pointer to the array of the number of non zeros of the inner vectors. This function is aimed at interoperability with other libraries.
Warning
it returns the null pointer 0 in compressed mode

◆ isCompressed()

template<typename Derived>
bool Eigen::SparseCompressedBase< Derived >::isCompressed ( ) const
inline
Returns
whether *this is in compressed form.

◆ nonZeros()

template<typename Derived>
Index Eigen::SparseCompressedBase< Derived >::nonZeros ( ) const
inline
Returns
the number of non zero coefficients

◆ outerIndexPtr() [1/2]

template<typename Derived>
StorageIndex * Eigen::SparseCompressedBase< Derived >::outerIndexPtr ( )
inline
Returns
a non-const pointer to the array of the starting positions of the inner vectors. This function is aimed at interoperability with other libraries.
Warning
it returns the null pointer 0 for SparseVector
See also
valuePtr(), innerIndexPtr()

◆ outerIndexPtr() [2/2]

template<typename Derived>
const StorageIndex * Eigen::SparseCompressedBase< Derived >::outerIndexPtr ( ) const
inline
Returns
a const pointer to the array of the starting positions of the inner vectors. This function is aimed at interoperability with other libraries.
Warning
it returns the null pointer 0 for SparseVector
See also
valuePtr(), innerIndexPtr()

◆ valuePtr() [1/2]

template<typename Derived>
Scalar * Eigen::SparseCompressedBase< Derived >::valuePtr ( )
inline
Returns
a non-const pointer to the array of values. This function is aimed at interoperability with other libraries.
See also
innerIndexPtr(), outerIndexPtr()

◆ valuePtr() [2/2]

template<typename Derived>
const Scalar * Eigen::SparseCompressedBase< Derived >::valuePtr ( ) const
inline
Returns
a const pointer to the array of values. This function is aimed at interoperability with other libraries.
See also
innerIndexPtr(), outerIndexPtr()

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