A sparse matrix class designed for matrix assembly purpose. More...
Inheritance diagram for DynamicSparseMatrix< _Scalar, _Options, _Index >: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
1.7.6.1