|
| EigenBaseSparseMatrix (Index nbRow=0, Index nbCol=0) |
|
| EigenBaseSparseMatrix (const ThisMatrix &m) |
| copy constructor More...
|
|
void | operator= (const ThisMatrix &m) |
| copy operator More...
|
|
void | set (Index i, Index j, double v) override |
| Write the value of the element at row i, column j (using 0-based indices) More...
|
|
void | setIdentity () |
|
void | add (Index row, Index col, double value) override |
| Schedule the addition of the value at the given place. Scheduled additions must be finalized using function compress(). More...
|
|
void | beginRow (Index index) |
|
void | insertBack (Index row, Index col, Real value) |
|
Real & | coeffRef (Index i, Index j) |
| Return a reference to the given entry in the compressed matrix.There can (must ?) be a value at this place already. Efficient only if the it is at the last place of the compressed matrix. More...
|
|
void | copy (const EigenBaseSparseMatrix &m, unsigned nbCol, unsigned shift) |
|
void | resize (Index nbRow, Index nbCol) override |
| Resize the matrix without preserving the data (the matrix is set to zero) More...
|
|
Index | rowSize (void) const override |
| number of rows More...
|
|
Index | colSize (void) const override |
| number of columns More...
|
|
void | reserve (typename CompressedMatrix::Index reserveSize) |
|
SReal | element (Index i, Index j) const override |
| Read the value of the element at row i, column j (using 0-based indices) More...
|
|
void | compress () override |
| Add the values from the scheduled list, and clears the schedule list. More...
|
|
Index * | getRowBegin () |
|
Index * | getColsIndex () |
|
Real * | getColsValue () |
|
void | clearRow (Index i) override |
| Set all the entries of a row to 0. More...
|
|
void | clearRows (Index imin, Index imax) override |
| Set all the entries of rows imin to imax-1 to 0. More...
|
|
void | clearCol (Index col) override |
| Clears the all the entries of column imin to column imax-1. Not efficient ! More...
|
|
void | clearCols (Index imin, Index imax) override |
| Set all the entries of column i and of row i to 0. Not efficient ! More...
|
|
void | clearRowCol (Index i) override |
| Clears all the entries of rows imin to imax-1 and columns imin to imax-1. More...
|
|
void | clearRowsCols (Index imin, Index imax) override |
| Clears all the values in rows imin to imax-1 and columns imin to imax-1. More...
|
|
void | clear () override |
| Set all values to 0, by resizing to the same size. More...
|
|
void | mult (VectorEigen &result, const VectorEigen &data) |
| Matrix-vector product. More...
|
|
void | mult_MT (VectorEigen &result, const VectorEigen &data) |
| Matrix-vector product openmp multithreaded. More...
|
|
template<class V1 , class V2 > |
void | multVector (V1 &output, const V2 &input) |
| Matrix-Vector product (dense vector with contiguous memory layout) More...
|
|
template<class V > |
V | operator* (const V &input) |
| Matrix-Vector product (dense vector with contiguous memory layout) More...
|
|
bool | choleskyDecompose () |
| Try to compute the LDLT decomposition, and return true if success. The matrix is unchanged. More...
|
|
void | choleskySolve (VectorEigen &x, const VectorEigen &b) const |
| Solve Ax=b, where A is this matrix. WARNING: ldltDecompose() must be called first. x and b can be the same vector. More...
|
|
void | addToBaseMatrix (BaseMatrix *matrix, SReal factor, Index offset) const |
| add this EigenBaseSparseMatrix to a BaseMatrix at the offset and multiplied by factor More...
|
|
void | mul (EigenBaseSparseMatrix< Real > &res, const EigenBaseSparseMatrix< Real > &rhs) const |
|
void | mul_MT (EigenBaseSparseMatrix< Real > &res, const EigenBaseSparseMatrix< Real > &rhs) const |
|
void | mul (Eigen::Matrix< Real, Eigen::Dynamic, Eigen::Dynamic > &res, const Eigen::Matrix< Real, Eigen::Dynamic, Eigen::Dynamic > &rhs) |
| Sparse x Dense Matrix product. More...
|
|
void | mul_MT (Eigen::Matrix< Real, Eigen::Dynamic, Eigen::Dynamic > &res, const Eigen::Matrix< Real, Eigen::Dynamic, Eigen::Dynamic > &rhs) |
| Sparse x Dense Matrix product openmp multithreaded. More...
|
|
const char * | Name () |
|
const char * | Name () |
|
| BaseMatrix () |
|
virtual | ~BaseMatrix () |
|
Index | rows (void) const |
| Number of rows (Eigen-compatible API) More...
|
|
Index | cols (void) const |
| Number of columns (Eigen-compatible API) More...
|
|
SReal | operator() (Index i, Index j) const |
| Read the value of the element at row i, column j (using 0-based indices). Eigen-compatible API. More...
|
|
virtual void | add (Index row, Index col, const type::Mat3x3d &_M) |
| Adding values from a 3x3d matrix. This function may be overload to obtain better performances. More...
|
|
virtual void | add (Index row, Index col, const type::Mat3x3f &_M) |
| Adding values from a 3x3f matrix. This function may be overload to obtain better performances. More...
|
|
virtual void | add (Index row, Index col, const type::Mat2x2d &_M) |
| Adding values from a 2x2d matrix. This function may be overload to obtain better performances. More...
|
|
virtual void | add (Index row, Index col, const type::Mat2x2f &_M) |
| Adding values from a 2x2f matrix. This function may be overload to obtain better performances. More...
|
|
virtual void | add (Index row, Index col, const type::Mat6x6d &_M) |
| Adding values from a 6x6d matrix. This function may be overload to obtain better performances. More...
|
|
virtual void | add (Index row, Index col, const type::Mat6x6f &_M) |
| Adding values from a 6x6f matrix. This function may be overload to obtain better performances. More...
|
|
virtual void | clear (Index i, Index j) |
|
virtual void | opMulV (linearalgebra::BaseVector *result, const linearalgebra::BaseVector *v) const |
| Multiply the matrix by vector v and put the result in vector result. More...
|
|
virtual void | opMulV (float *result, const float *v) const |
| Multiply the matrix by float vector v and put the result in vector result. More...
|
|
virtual void | opMulV (double *result, const double *v) const |
| Multiply the matrix by double vector v and put the result in vector result. More...
|
|
virtual void | opPMulV (linearalgebra::BaseVector *result, const linearalgebra::BaseVector *v) const |
| Multiply the matrix by vector v and add the result in vector result. More...
|
|
virtual void | opPMulV (float *result, const float *v) const |
| Multiply the matrix by float vector v and add the result in vector result. More...
|
|
virtual void | opPMulV (double *result, const double *v) const |
| Multiply the matrix by double vector v and add the result in vector result. More...
|
|
virtual void | opMulTV (linearalgebra::BaseVector *result, const linearalgebra::BaseVector *v) const |
| Multiply the transposed matrix by vector v and put the result in vector result. More...
|
|
virtual void | opMulTV (float *result, const float *v) const |
| Multiply the transposed matrix by float vector v and put the result in vector result. More...
|
|
virtual void | opMulTV (double *result, const double *v) const |
| Multiply the transposed matrix by double vector v and put the result in vector result. More...
|
|
virtual void | opPMulTV (linearalgebra::BaseVector *result, const linearalgebra::BaseVector *v) const |
| Multiply the transposed matrix by vector v and add the result in vector result. More...
|
|
virtual void | opPMulTV (float *result, const float *v) const |
| Multiply the transposed matrix by float vector v and add the result in vector result. More...
|
|
virtual void | opPMulTV (double *result, const double *v) const |
| Multiply the transposed matrix by double vector v and add the result in vector result. More...
|
|
virtual void | opMulTM (BaseMatrix *result, BaseMatrix *m) const |
| Multiply the transposed matrix by matrix m and store the result in matrix result. More...
|
|
virtual void | opAddM (linearalgebra::BaseMatrix *m, double fact) const |
| Subtract the matrix to the m matrix and strore the result in m. More...
|
|
virtual void | opAddMT (linearalgebra::BaseMatrix *m, double fact) const |
| Subtract the transposed matrix to the m matrix and strore the result in m. More...
|
|
virtual ElementType | getElementType () const |
|
virtual std::size_t | getElementSize () const |
|
virtual MatrixCategory | getCategory () const |
|
virtual Index | getBlockRows () const |
|
virtual Index | getBlockCols () const |
|
virtual Index | bRowSize () const |
|
virtual Index | bColSize () const |
|
virtual Index | getBandWidth () const |
|
bool | isDiagonal () const |
|
bool | isBlockDiagonal () const |
|
bool | isBand () const |
|
bool | isSparse () const |
|
virtual BlockConstAccessor | blocGet (Index i, Index j) const |
| Get read access to a block. More...
|
|
virtual BlockAccessor | blocGetW (Index i, Index j) |
| Get write access to a block. More...
|
|
virtual BlockAccessor | blocCreate (Index i, Index j) |
| Get write access to a block, possibly creating it. More...
|
|
template<class T > |
const T * | blocElements (Index i, Index j, T *buffer) const |
| Shortcut for blocGet(i,j).elements(buffer) More...
|
|
template<class T > |
void | blocSet (Index i, Index j, const T *buffer) |
| Shortcut for blocCreate(i,j).set(buffer) More...
|
|
template<class T > |
void | blocAdd (Index i, Index j, const T *buffer) |
| Shortcut for blocCreate(i,j).add(buffer) More...
|
|
virtual ColBlockConstIterator | bRowBegin (Index ib) const |
| Get the iterator corresponding to the beginning of the given row of blocks. More...
|
|
virtual ColBlockConstIterator | bRowEnd (Index ib) const |
| Get the iterator corresponding to the end of the given row of blocks. More...
|
|
virtual std::pair< ColBlockConstIterator, ColBlockConstIterator > | bRowRange (Index ib) const |
| Get the iterators corresponding to the beginning and end of the given row of blocks. More...
|
|
virtual RowBlockConstIterator | bRowsBegin () const |
| Get the iterator corresponding to the beginning of the rows of blocks. More...
|
|
virtual RowBlockConstIterator | bRowsEnd () const |
| Get the iterator corresponding to the end of the rows of blocks. More...
|
|
virtual std::pair< RowBlockConstIterator, RowBlockConstIterator > | bRowsRange () const |
| Get the iterators corresponding to the beginning and end of the given row of blocks. More...
|
|