template<typename _Scalar, int _Options, typename _Index>
class Eigen::SparseMatrix< _Scalar, _Options, _Index >
A versatible sparse matrix representation.
This class implements a more versatile variants of the common compressed row/column storage format. Each colmun's (resp. row) non zeros are stored as a pair of value with associated row (resp. colmiun) index. All the non zeros are stored in a single large buffer. Unlike the compressed format, there might be extra space inbetween the nonzeros of two successive colmuns (resp. rows) such that insertion of new non-zero can be done with limited memory reallocation and copies.
A call to the function makeCompressed() turns the matrix into the standard compressed format compatible with many library.
More details on this storage sceheme are given in the manual pages.
- Template Parameters
-
_Scalar | the scalar type, i.e. the type of the coefficients |
_Options | Union of bit flags controlling the storage scheme. Currently the only possibility is ColMajor or RowMajor. The default is 0 which means column-major. |
_Index | the type of the indices. It has to be a signed type (e.g., short, int, std::ptrdiff_t). Default is int . |
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_SPARSEMATRIX_PLUGIN
.
|
Scalar | coeff (Index row, Index col) const |
|
Scalar & | coeffRef (Index row, Index col) |
|
Index | cols () const |
|
void | conservativeResize (Index rows, Index cols) |
|
const ConstDiagonalReturnType | diagonal () const |
|
DiagonalReturnType | diagonal () |
|
const StorageIndex * | innerIndexPtr () const |
|
StorageIndex * | innerIndexPtr () |
|
const StorageIndex * | innerNonZeroPtr () const |
|
StorageIndex * | innerNonZeroPtr () |
|
Index | innerSize () const |
|
Scalar & | insert (Index row, Index col) |
|
void | makeCompressed () |
|
const StorageIndex * | outerIndexPtr () const |
|
StorageIndex * | outerIndexPtr () |
|
Index | outerSize () const |
|
void | prune (const Scalar &reference, const RealScalar &epsilon=NumTraits< RealScalar >::dummy_precision()) |
|
template<typename KeepFunc > |
void | prune (const KeepFunc &keep=KeepFunc()) |
|
void | reserve (Index reserveSize) |
|
template<class SizesType > |
void | reserve (const SizesType &reserveSizes) |
|
void | resize (Index rows, Index cols) |
|
Index | rows () const |
|
template<typename InputIterators > |
void | setFromTriplets (const InputIterators &begin, const InputIterators &end) |
|
template<typename InputIterators , typename DupFunctor > |
void | setFromTriplets (const InputIterators &begin, const InputIterators &end, DupFunctor dup_func) |
|
void | setIdentity () |
|
void | setZero () |
|
| SparseMatrix () |
|
| SparseMatrix (Index rows, Index cols) |
|
template<typename OtherDerived > |
| SparseMatrix (const SparseMatrixBase< OtherDerived > &other) |
|
template<typename OtherDerived , unsigned int UpLo> |
| SparseMatrix (const SparseSelfAdjointView< OtherDerived, UpLo > &other) |
|
| SparseMatrix (const SparseMatrix &other) |
|
template<typename OtherDerived > |
| SparseMatrix (const ReturnByValue< OtherDerived > &other) |
| Copy constructor with in-place evaluation.
|
|
template<typename OtherDerived > |
| SparseMatrix (const DiagonalBase< OtherDerived > &other) |
| Copy constructor with in-place evaluation.
|
|
Scalar | sum () const |
|
void | swap (SparseMatrix &other) |
|
void | uncompress () |
|
const Scalar * | valuePtr () const |
|
Scalar * | valuePtr () |
|
| ~SparseMatrix () |
|
const Map< const Array< Scalar, Dynamic, 1 > > | coeffs () const |
|
Map< Array< Scalar, Dynamic, 1 > > | coeffs () |
|
const StorageIndex * | innerIndexPtr () const |
|
StorageIndex * | innerIndexPtr () |
|
const StorageIndex * | innerNonZeroPtr () const |
|
StorageIndex * | innerNonZeroPtr () |
|
bool | isCompressed () const |
|
Index | nonZeros () const |
|
const StorageIndex * | outerIndexPtr () const |
|
StorageIndex * | outerIndexPtr () |
|
const Scalar * | valuePtr () const |
|
Scalar * | valuePtr () |
|
const CwiseBinaryOp< CustomBinaryOp, const SparseMatrix< _Scalar, _Options, _Index >, const OtherDerived > | binaryExpr (const Eigen::SparseMatrixBase< OtherDerived > &other, const CustomBinaryOp &func=CustomBinaryOp()) const |
|
BlockXpr | block (Index startRow, Index startCol, Index blockRows, Index blockCols) |
|
const ConstBlockXpr | block (Index startRow, Index startCol, Index blockRows, Index blockCols) const |
| This is the const version of block(Index,Index,Index,Index). */.
|
|
FixedBlockXpr< NRows, NCols >::Type | block (Index startRow, Index startCol) |
|
const ConstFixedBlockXpr< NRows, NCols >::Type | block (Index startRow, Index startCol) const |
| This is the const version of block<>(Index, Index). */.
|
|
FixedBlockXpr< NRows, NCols >::Type | block (Index startRow, Index startCol, Index blockRows, Index blockCols) |
|
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). */.
|
|
BlockXpr | bottomLeftCorner (Index cRows, Index cCols) |
|
const ConstBlockXpr | bottomLeftCorner (Index cRows, Index cCols) const |
| This is the const version of bottomLeftCorner(Index, Index).
|
|
FixedBlockXpr< CRows, CCols >::Type | bottomLeftCorner () |
|
const ConstFixedBlockXpr< CRows, CCols >::Type | bottomLeftCorner () const |
| This is the const version of bottomLeftCorner<int, int>().
|
|
FixedBlockXpr< CRows, CCols >::Type | bottomLeftCorner (Index cRows, Index cCols) |
|
const ConstFixedBlockXpr< CRows, CCols >::Type | bottomLeftCorner (Index cRows, Index cCols) const |
| This is the const version of bottomLeftCorner<int, int>(Index, Index).
|
|
BlockXpr | bottomRightCorner (Index cRows, Index cCols) |
|
const ConstBlockXpr | bottomRightCorner (Index cRows, Index cCols) const |
| This is the const version of bottomRightCorner(Index, Index).
|
|
FixedBlockXpr< CRows, CCols >::Type | bottomRightCorner () |
|
const ConstFixedBlockXpr< CRows, CCols >::Type | bottomRightCorner () const |
| This is the const version of bottomRightCorner<int, int>().
|
|
FixedBlockXpr< CRows, CCols >::Type | bottomRightCorner (Index cRows, Index cCols) |
|
const ConstFixedBlockXpr< CRows, CCols >::Type | bottomRightCorner (Index cRows, Index cCols) const |
| This is the const version of bottomRightCorner<int, int>(Index, Index).
|
|
RowsBlockXpr | bottomRows (Index n) |
|
ConstRowsBlockXpr | bottomRows (Index n) const |
| This is the const version of bottomRows(Index).
|
|
NRowsBlockXpr< N >::Type | bottomRows (Index n=N) |
|
ConstNRowsBlockXpr< N >::Type | bottomRows (Index n=N) const |
| This is the const version of bottomRows<int>().
|
|
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 |
|
const CwiseAbsReturnType | cwiseAbs () const |
|
const CwiseAbs2ReturnType | cwiseAbs2 () const |
|
const CwiseInverseReturnType | cwiseInverse () const |
|
const CwiseSignReturnType | cwiseSign () const |
|
const CwiseSqrtReturnType | cwiseSqrt () const |
|
const internal::eval< SparseMatrix< _Scalar, _Options, _Index > >::type | eval () const |
|
SegmentReturnType | head (Index n) |
|
ConstSegmentReturnType | head (Index n) const |
| This is the const version of head(Index).
|
|
FixedSegmentReturnType< N >::Type | head (Index n=N) |
|
ConstFixedSegmentReturnType< N >::Type | head (Index n=N) const |
| This is the const version of head<int>().
|
|
const ImagReturnType | imag () const |
|
NonConstImagReturnType | imag () |
|
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 |
|
ColsBlockXpr | leftCols (Index n) |
|
ConstColsBlockXpr | leftCols (Index n) const |
| This is the const version of leftCols(Index).
|
|
NColsBlockXpr< N >::Type | leftCols (Index n=N) |
|
ConstNColsBlockXpr< N >::Type | leftCols (Index n=N) const |
| This is the const version of leftCols<int>().
|
|
ColsBlockXpr | middleCols (Index startCol, Index numCols) |
|
ConstColsBlockXpr | middleCols (Index startCol, Index numCols) const |
| This is the const version of middleCols(Index,Index).
|
|
NColsBlockXpr< N >::Type | middleCols (Index startCol, Index n=N) |
|
ConstNColsBlockXpr< N >::Type | middleCols (Index startCol, Index n=N) const |
| This is the const version of middleCols<int>().
|
|
RowsBlockXpr | middleRows (Index startRow, Index n) |
|
ConstRowsBlockXpr | middleRows (Index startRow, Index n) const |
| This is the const version of middleRows(Index,Index).
|
|
NRowsBlockXpr< N >::Type | middleRows (Index startRow, Index n=N) |
|
ConstNRowsBlockXpr< N >::Type | middleRows (Index startRow, Index n=N) const |
| This is the const version of middleRows<int>().
|
|
const CwiseBinaryOp< internal::scalar_product_op< Scalar, T >, SparseMatrix< _Scalar, _Options, _Index >, Constant< T > > | operator* (const T &scalar) const |
|
const Product< SparseMatrix< _Scalar, _Options, _Index >, OtherDerived, AliasFreeProduct > | operator* (const SparseMatrixBase< OtherDerived > &other) const |
|
const CwiseBinaryOp< sum< Scalar >, const SparseMatrix< _Scalar, _Options, _Index >, const OtherDerived > | operator+ (const Eigen::SparseMatrixBase< OtherDerived > &other) const |
|
const CwiseBinaryOp< difference< Scalar >, const SparseMatrix< _Scalar, _Options, _Index >, const OtherDerived > | operator- (const Eigen::SparseMatrixBase< OtherDerived > &other) const |
|
const NegativeReturnType | operator- () const |
|
const CwiseBinaryOp< internal::scalar_quotient_op< Scalar, T >, SparseMatrix< _Scalar, _Options, _Index >, Constant< T > > | operator/ (const T &scalar) const |
|
Index | outerSize () const |
|
const SparseView< SparseMatrix< _Scalar, _Options, _Index > > | pruned (const Scalar &reference=Scalar(0), const RealScalar &epsilon=NumTraits< Scalar >::dummy_precision()) const |
|
RealReturnType | real () const |
|
NonConstRealReturnType | real () |
|
ColsBlockXpr | rightCols (Index n) |
|
ConstColsBlockXpr | rightCols (Index n) const |
| This is the const version of rightCols(Index).
|
|
NColsBlockXpr< N >::Type | rightCols (Index n=N) |
|
ConstNColsBlockXpr< N >::Type | rightCols (Index n=N) const |
| This is the const version of rightCols<int>().
|
|
RowXpr | row (Index i) |
|
ConstRowXpr | row (Index i) const |
| This is the const version of row(). */.
|
|
Index | rows () const |
|
SegmentReturnType | segment (Index start, Index n) |
|
ConstSegmentReturnType | segment (Index start, Index n) const |
| This is the const version of segment(Index,Index).
|
|
FixedSegmentReturnType< N >::Type | segment (Index start, Index n=N) |
|
ConstFixedSegmentReturnType< N >::Type | segment (Index start, Index n=N) const |
| This is the const version of segment<int>(Index).
|
|
Index | size () const |
|
SegmentReturnType | tail (Index n) |
|
ConstSegmentReturnType | tail (Index n) const |
| This is the const version of tail(Index).
|
|
FixedSegmentReturnType< N >::Type | tail (Index n=N) |
|
ConstFixedSegmentReturnType< N >::Type | tail (Index n=N) const |
| This is the const version of tail<int>.
|
|
BlockXpr | topLeftCorner (Index cRows, Index cCols) |
|
const ConstBlockXpr | topLeftCorner (Index cRows, Index cCols) const |
| This is the const version of topLeftCorner(Index, Index).
|
|
FixedBlockXpr< CRows, CCols >::Type | topLeftCorner () |
|
const ConstFixedBlockXpr< CRows, CCols >::Type | topLeftCorner () const |
| This is the const version of topLeftCorner<int, int>().
|
|
FixedBlockXpr< CRows, CCols >::Type | topLeftCorner (Index cRows, Index cCols) |
|
const ConstFixedBlockXpr< CRows, CCols >::Type | topLeftCorner (Index cRows, Index cCols) const |
| This is the const version of topLeftCorner<int, int>(Index, Index).
|
|
BlockXpr | topRightCorner (Index cRows, Index cCols) |
|
const ConstBlockXpr | topRightCorner (Index cRows, Index cCols) const |
| This is the const version of topRightCorner(Index, Index).
|
|
FixedBlockXpr< CRows, CCols >::Type | topRightCorner () |
|
const ConstFixedBlockXpr< CRows, CCols >::Type | topRightCorner () const |
| This is the const version of topRightCorner<int, int>().
|
|
FixedBlockXpr< CRows, CCols >::Type | topRightCorner (Index cRows, Index cCols) |
|
const ConstFixedBlockXpr< CRows, CCols >::Type | topRightCorner (Index cRows, Index cCols) const |
| This is the const version of topRightCorner<int, int>(Index, Index).
|
|
RowsBlockXpr | topRows (Index n) |
|
ConstRowsBlockXpr | topRows (Index n) const |
| This is the const version of topRows(Index).
|
|
NRowsBlockXpr< N >::Type | topRows (Index n=N) |
|
ConstNRowsBlockXpr< N >::Type | topRows (Index n=N) const |
| This is the const version of topRows<int>().
|
|
SparseSymmetricPermutationProduct< SparseMatrix< _Scalar, _Options, _Index >, Upper|Lower > | twistedBy (const PermutationMatrix< Dynamic, Dynamic, StorageIndex > &perm) const |
|
const CwiseUnaryOp< CustomUnaryOp, const SparseMatrix< _Scalar, _Options, _Index > > | unaryExpr (const CustomUnaryOp &func=CustomUnaryOp()) const |
| Apply a unary operator coefficient-wise. More...
|
|
const CwiseUnaryView< CustomViewOp, const SparseMatrix< _Scalar, _Options, _Index > > | unaryViewExpr (const CustomViewOp &func=CustomViewOp()) const |
|
Index | cols () const |
|
SparseMatrix< _Scalar, _Options, _Index > & | derived () |
|
const SparseMatrix< _Scalar, _Options, _Index > & | derived () const |
|
Index | rows () const |
|
Index | size () const |
|