A sparse matrix class designed for matrix assembly purpose. More...
#include <DynamicSparseMatrix.h>
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.
Definition at line 67 of file DynamicSparseMatrix.h.
typedef MappedSparseMatrix<Scalar,Flags> DynamicSparseMatrix< _Scalar, _Options, _Index >::Map |
Definition at line 75 of file DynamicSparseMatrix.h.
typedef DynamicSparseMatrix<Scalar,(Flags&~RowMajorBit)|(IsRowMajor?RowMajorBit:0)> DynamicSparseMatrix< _Scalar, _Options, _Index >::TransposedSparseMatrix [protected] |
Definition at line 84 of file DynamicSparseMatrix.h.
anonymous enum |
Definition at line 78 of file DynamicSparseMatrix.h.
DynamicSparseMatrix< _Scalar, _Options, _Index >::DynamicSparseMatrix | ( | ) | [inline] |
Definition at line 235 of file DynamicSparseMatrix.h.
DynamicSparseMatrix< _Scalar, _Options, _Index >::DynamicSparseMatrix | ( | Index | rows, |
Index | cols | ||
) | [inline] |
Definition at line 241 of file DynamicSparseMatrix.h.
DynamicSparseMatrix< _Scalar, _Options, _Index >::DynamicSparseMatrix | ( | const SparseMatrixBase< OtherDerived > & | other | ) | [inline, explicit] |
Definition at line 248 of file DynamicSparseMatrix.h.
DynamicSparseMatrix< _Scalar, _Options, _Index >::DynamicSparseMatrix | ( | const DynamicSparseMatrix< _Scalar, _Options, _Index > & | other | ) | [inline] |
Definition at line 254 of file DynamicSparseMatrix.h.
DynamicSparseMatrix< _Scalar, _Options, _Index >::~DynamicSparseMatrix | ( | ) | [inline] |
Destructor
Definition at line 283 of file DynamicSparseMatrix.h.
std::vector<CompressedStorage<Scalar,Index> >& DynamicSparseMatrix< _Scalar, _Options, _Index >::_data | ( | ) | [inline] |
Definition at line 97 of file DynamicSparseMatrix.h.
const std::vector<CompressedStorage<Scalar,Index> >& DynamicSparseMatrix< _Scalar, _Options, _Index >::_data | ( | ) | const [inline] |
Definition at line 98 of file DynamicSparseMatrix.h.
Scalar DynamicSparseMatrix< _Scalar, _Options, _Index >::coeff | ( | Index | row, |
Index | col | ||
) | const [inline] |
Definition at line 103 of file DynamicSparseMatrix.h.
Scalar& DynamicSparseMatrix< _Scalar, _Options, _Index >::coeffRef | ( | Index | row, |
Index | col | ||
) | [inline] |
Definition at line 114 of file DynamicSparseMatrix.h.
Index DynamicSparseMatrix< _Scalar, _Options, _Index >::cols | ( | void | ) | const [inline] |
Reimplemented from SparseMatrixBase< DynamicSparseMatrix< _Scalar, _Options, _Index > >.
Definition at line 92 of file DynamicSparseMatrix.h.
EIGEN_DEPRECATED void DynamicSparseMatrix< _Scalar, _Options, _Index >::endFill | ( | ) | [inline] |
Definition at line 323 of file DynamicSparseMatrix.h.
EIGEN_DEPRECATED Scalar& DynamicSparseMatrix< _Scalar, _Options, _Index >::fill | ( | Index | row, |
Index | col | ||
) | [inline] |
*this
is column-major, then there must not exists any nonzero coefficient of coordinates i
x
col such that i
>= row. Otherwise the matrix is invalid.Definition at line 304 of file DynamicSparseMatrix.h.
EIGEN_DEPRECATED Scalar& DynamicSparseMatrix< _Scalar, _Options, _Index >::fillrand | ( | Index | row, |
Index | col | ||
) | [inline] |
Definition at line 316 of file DynamicSparseMatrix.h.
void DynamicSparseMatrix< _Scalar, _Options, _Index >::finalize | ( | ) | [inline] |
Does nothing: provided for compatibility with SparseMatrix
Definition at line 196 of file DynamicSparseMatrix.h.
Index DynamicSparseMatrix< _Scalar, _Options, _Index >::innerNonZeros | ( | Index | j | ) | const [inline] |
Definition at line 95 of file DynamicSparseMatrix.h.
Index DynamicSparseMatrix< _Scalar, _Options, _Index >::innerSize | ( | ) | const [inline] |
Reimplemented from SparseMatrixBase< DynamicSparseMatrix< _Scalar, _Options, _Index > >.
Definition at line 93 of file DynamicSparseMatrix.h.
Scalar& DynamicSparseMatrix< _Scalar, _Options, _Index >::insert | ( | Index | row, |
Index | col | ||
) | [inline] |
Definition at line 175 of file DynamicSparseMatrix.h.
Scalar& DynamicSparseMatrix< _Scalar, _Options, _Index >::insertBack | ( | Index | row, |
Index | col | ||
) | [inline] |
Definition at line 160 of file DynamicSparseMatrix.h.
Scalar& DynamicSparseMatrix< _Scalar, _Options, _Index >::insertBackByOuterInner | ( | Index | outer, |
Index | inner | ||
) | [inline] |
Definition at line 166 of file DynamicSparseMatrix.h.
Index DynamicSparseMatrix< _Scalar, _Options, _Index >::nonZeros | ( | ) | const [inline] |
Reimplemented from SparseMatrixBase< DynamicSparseMatrix< _Scalar, _Options, _Index > >.
Definition at line 130 of file DynamicSparseMatrix.h.
DynamicSparseMatrix& DynamicSparseMatrix< _Scalar, _Options, _Index >::operator= | ( | const DynamicSparseMatrix< _Scalar, _Options, _Index > & | other | ) | [inline] |
Reimplemented from SparseMatrixBase< DynamicSparseMatrix< _Scalar, _Options, _Index > >.
Definition at line 268 of file DynamicSparseMatrix.h.
Index DynamicSparseMatrix< _Scalar, _Options, _Index >::outerSize | ( | ) | const [inline] |
Reimplemented from SparseMatrixBase< DynamicSparseMatrix< _Scalar, _Options, _Index > >.
Definition at line 94 of file DynamicSparseMatrix.h.
void DynamicSparseMatrix< _Scalar, _Options, _Index >::prune | ( | Scalar | reference, |
RealScalar | epsilon = NumTraits<RealScalar>::dummy_precision() |
||
) | [inline] |
Suppress all nonzeros which are smaller than reference under the tolerence epsilon
Definition at line 199 of file DynamicSparseMatrix.h.
void DynamicSparseMatrix< _Scalar, _Options, _Index >::reserve | ( | Index | reserveSize = 1000 | ) | [inline] |
Definition at line 140 of file DynamicSparseMatrix.h.
void DynamicSparseMatrix< _Scalar, _Options, _Index >::resize | ( | Index | rows, |
Index | cols | ||
) | [inline] |
Resize the matrix without preserving the data (the matrix is set to zero)
Definition at line 207 of file DynamicSparseMatrix.h.
void DynamicSparseMatrix< _Scalar, _Options, _Index >::resizeAndKeepData | ( | Index | rows, |
Index | cols | ||
) | [inline] |
Definition at line 218 of file DynamicSparseMatrix.h.
Index DynamicSparseMatrix< _Scalar, _Options, _Index >::rows | ( | void | ) | const [inline] |
Reimplemented from SparseMatrixBase< DynamicSparseMatrix< _Scalar, _Options, _Index > >.
Definition at line 91 of file DynamicSparseMatrix.h.
void DynamicSparseMatrix< _Scalar, _Options, _Index >::setZero | ( | ) | [inline] |
Definition at line 123 of file DynamicSparseMatrix.h.
EIGEN_DEPRECATED void DynamicSparseMatrix< _Scalar, _Options, _Index >::startFill | ( | Index | reserveSize = 1000 | ) | [inline] |
Definition at line 289 of file DynamicSparseMatrix.h.
void DynamicSparseMatrix< _Scalar, _Options, _Index >::startVec | ( | Index | ) | [inline] |
Does nothing: provided for compatibility with SparseMatrix
Definition at line 153 of file DynamicSparseMatrix.h.
void DynamicSparseMatrix< _Scalar, _Options, _Index >::swap | ( | DynamicSparseMatrix< _Scalar, _Options, _Index > & | other | ) | [inline] |
Definition at line 260 of file DynamicSparseMatrix.h.
std::vector<CompressedStorage<Scalar,Index> > DynamicSparseMatrix< _Scalar, _Options, _Index >::m_data [protected] |
Definition at line 87 of file DynamicSparseMatrix.h.
Index DynamicSparseMatrix< _Scalar, _Options, _Index >::m_innerSize [protected] |
Definition at line 86 of file DynamicSparseMatrix.h.