A sparse matrix class designed for matrix assembly purpose. More...
Public Member Functions | |
Scalar | coeff (Index row, Index col) const |
Scalar & | coeffRef (Index row, Index col) |
Index | cols () const |
EIGEN_DEPRECATED void | endFill () |
EIGEN_DEPRECATED Scalar & | fill (Index row, Index col) |
EIGEN_DEPRECATED Scalar & | fillrand (Index row, Index col) |
void | finalize () |
Index | innerSize () const |
Scalar & | insertBack (Index row, Index col) |
Scalar & | insertBackByOuterInner (Index outer, Index inner) |
Index | nonZeros () const |
Index | outerSize () const |
void | prune (Scalar reference, RealScalar epsilon=NumTraits< RealScalar >::dummy_precision()) |
void | resize (Index rows, Index cols) |
Index | rows () const |
EIGEN_DEPRECATED void | startFill (Index reserveSize=1000) |
void | startVec (Index) |
~DynamicSparseMatrix () |
A sparse matrix class designed for matrix assembly purpose.
_Scalar | the scalar type, i.e. the type of the coefficients |
Unlike SparseMatrix, this class provides a much higher degree of flexibility. In particular, it allows random read/write accesses in log(rho*outer_size) where rho
is the probability that a coefficient is nonzero and outer_size is the number of columns if the matrix is column-major and the number of rows otherwise.
Internally, the data are stored as a std::vector of compressed vector. The performances of random writes might decrease as the number of nonzeros per inner-vector increase. In practice, we observed very good performance till about 100 nonzeros/vector, and the performance remains relatively good till 500 nonzeros/vectors.
~DynamicSparseMatrix | ( | ) | [inline] |
Destructor
Scalar coeff | ( | Index | row, |
Index | col | ||
) | const [inline] |
Scalar& coeffRef | ( | Index | row, |
Index | col | ||
) | [inline] |
Index cols | ( | void | ) | const [inline] |
Reimplemented from SparseMatrixBase< DynamicSparseMatrix< _Scalar, _Options, _Index > >.
EIGEN_DEPRECATED void endFill | ( | ) | [inline] |
EIGEN_DEPRECATED Scalar& fill | ( | Index | row, |
Index | col | ||
) | [inline] |
EIGEN_DEPRECATED Scalar& fillrand | ( | Index | row, |
Index | col | ||
) | [inline] |
void finalize | ( | ) | [inline] |
Does nothing: provided for compatibility with SparseMatrix
Index innerSize | ( | ) | const [inline] |
Reimplemented from SparseMatrixBase< DynamicSparseMatrix< _Scalar, _Options, _Index > >.
Scalar& insertBack | ( | Index | row, |
Index | col | ||
) | [inline] |
Scalar& insertBackByOuterInner | ( | Index | outer, |
Index | inner | ||
) | [inline] |
Index nonZeros | ( | ) | const [inline] |
Reimplemented from SparseMatrixBase< DynamicSparseMatrix< _Scalar, _Options, _Index > >.
Index outerSize | ( | ) | const [inline] |
Reimplemented from SparseMatrixBase< DynamicSparseMatrix< _Scalar, _Options, _Index > >.
void prune | ( | Scalar | reference, |
RealScalar | epsilon = NumTraits<RealScalar>::dummy_precision() |
||
) | [inline] |
Suppress all nonzeros which are smaller than reference under the tolerence epsilon
void resize | ( | Index | rows, |
Index | cols | ||
) | [inline] |
Resize the matrix without preserving the data (the matrix is set to zero)
Index rows | ( | void | ) | const [inline] |
Reimplemented from SparseMatrixBase< DynamicSparseMatrix< _Scalar, _Options, _Index > >.
EIGEN_DEPRECATED void startFill | ( | Index | reserveSize = 1000 | ) | [inline] |
void startVec | ( | Index | ) | [inline] |
Does nothing: provided for compatibility with SparseMatrix