![]() |
SuiteSparseSolver
The GeMA Suite Sparse Numeric Solver Plugin
|
A class for wrapping up a suite sparse matrix as a cholmod_sparse structure. More...
#include <suiteSparseMatrix.h>


Public Member Functions | |
| SuiteSparseMatrix (int nlin, int ncol, const SuiteSparseMatrix< IndexType > *sharedLayout, GmSparseMatrixOptions options) | |
| Constructor for the square matrix used by the SuiteSparse set of solvers. If sharedLayout is different from NULL, this matrix layout will be given by it. | |
| virtual | ~SuiteSparseMatrix () |
| Destructor. | |
| cholmod_sparse * | cholmodMatrix () |
| Returns the "SuiteSparse"Cholmod" matrix wrapped by this class. | |
| virtual void | clear (bool keepSparseLayout) |
| virtual void | clearLineAndColumnSet (const QVector< int > &indexList, bool setDiagonal, bool keepSparseLayout) |
| virtual void | ensureDiagonal () |
Public Member Functions inherited from GmSparseMatrix< IndexType, GM_CSC_SPARSE_FORMAT > | |
| GmSparseMatrix (int n, const GmSparseMatrix< IndexType, T > *sharedLayout, GmSparseMatrixOptions options, bool arma) | |
| virtual bool | supportsBatchInsert () const |
| virtual bool | supportsSparseLayouts () const |
| virtual bool | supportsRandomSet () const |
| virtual ParallelAddMode | supportedParallelAddMode () const |
| virtual bool | beginBatchInsert (size_t expectedEntries=0) |
| virtual bool | endBatchInsert (bool discardData=false) |
| virtual GmSparseMatrixLayoutBuilder * | layoutBuilder () const |
| virtual bool | emptyLayout () const |
| virtual bool | symmetric () const |
| virtual void | setSymmetric (bool sym) |
| virtual bool | isSymmetric (double relTol=GM_DOUBLECMP_RELTOL, double absTol=GM_DOUBLECMP_ABSTOL) const |
| virtual int | nlin () const |
| virtual int | ncol () const |
| virtual int | layoutSize () const |
| virtual double | at (int lin, int col) const |
| virtual bool | inLayout (int lin, int col) const |
| virtual void | set (int lin, int col, double value) |
| virtual void | set (GmSolverMatrix *A, GmSolverMatrix *B, double c, bool sameStructure) |
| virtual void | add (int lin, int col, double value) |
| virtual void | matAdd (const GmVector &a, const GmVector &b, double zeroTol=0.0) |
| virtual void | mul (const GmVector &a, GmVector &b) const |
| virtual void | mulAdd (const GmVector &a, GmVector &b) const |
| virtual void | mulSub (const GmVector &a, GmVector &b) const |
| virtual void | columnMulAdd (int col, GmVector &f, double v, const bool *skipRows=NULL) const |
| virtual size_t | usedMemory () const |
| virtual bool | hasNanInf () const |
| virtual bool | saveMatrixCoordinatesToFile (FILE *f) const |
Public Member Functions inherited from GmSolverMatrix | |
| double | operator() (int lin, int col) const |
| void | print (const GmLogCategory &logger, GmLogLevel level, int fieldWidth=0, char format='g', int precision=-1) const |
Static Public Member Functions | |
| static cholmod_sparse * | newCholmodMatrix (int nlin, int ncol, IndexType nnz, double *values, IndexType *ptrs, IndexType *indices) |
| Creates a new cholmod_sparse structure filled with the given data. No space is allocated. The matrix stores the given structure and data vectors. | |
Protected Member Functions | |
| virtual void | matrixLayoutReady () |
| Allocates space for matrix values and build the LIS wrapper over matrix vectors. | |
| virtual GmSparseMatrix< IndexType, GM_CSC_SPARSE_FORMAT > * | detachAndClear () |
Protected Member Functions inherited from GmSparseMatrix< IndexType, GM_CSC_SPARSE_FORMAT > | |
| void | addBatch (int lin, int col, double value) |
| void | addToPtrIndexFromThread (int tid, int ptr, int index, double value) |
| GmSparseMatrixLayoutBuilder * | createLayoutBuilder (GmSparseMatrixLayoutMode mode, GmCSxSparseMatrixLayout< IndexType, T > *layout) |
Static Private Member Functions | |
| static void | initCholMatrix (cholmod_sparse *m, int nlin, int ncol) |
| Initializes the given matrix with the number of lines / columns & other constant values. | |
| static void | initCholMatrixData (cholmod_sparse *m, IndexType nnz, double *values, IndexType *ptrs, IndexType *indices) |
| Initializes the given matrix with the layout + data values. | |
Private Attributes | |
| cholmod_sparse | _cholMatrix |
Additional Inherited Members | |
Public Types inherited from GmSolverMatrix | |
| enum | ParallelAddMode |
Protected Attributes inherited from GmSparseMatrix< IndexType, GM_CSC_SPARSE_FORMAT > | |
| GmSparseMatrixOptions | _opt |
| bool | _batch |
| int | _n |
| QAtomicInt | _sym |
| double * | _values |
| const GmCSxSparseMatrixLayout< IndexType, T > * | _layout |
| GmCSxSparseMatrixLayout< IndexType, T > * | _masterLayout |
| GmSparseMatrixLayoutBuilder * | _layoutBuilder |
| GmSparseMatrixTripletBuffer< T > * | _batchData |
A class for wrapping up a suite sparse matrix as a cholmod_sparse structure.
| SuiteSparseMatrix< IndexType >::SuiteSparseMatrix | ( | int | nlin, |
| int | ncol, | ||
| const SuiteSparseMatrix< IndexType > * | sharedLayout, | ||
| GmSparseMatrixOptions | options ) |
Constructor for the square matrix used by the SuiteSparse set of solvers. If sharedLayout is different from NULL, this matrix layout will be given by it.
IMPORTANT: When sharing a layout with another matrix, this matrix will become invalid if the matrix owning the layout is destroyed.
|
virtual |
Reimplemented from GmSparseMatrix< IndexType, GM_CSC_SPARSE_FORMAT >.
|
virtual |
Reimplemented from GmSparseMatrix< IndexType, GM_CSC_SPARSE_FORMAT >.
|
protectedvirtual |
Reimplemented from GmSparseMatrix< IndexType, GM_CSC_SPARSE_FORMAT >.
|
virtual |
Reimplemented from GmSparseMatrix< IndexType, GM_CSC_SPARSE_FORMAT >.
|
protectedvirtual |
Allocates space for matrix values and build the LIS wrapper over matrix vectors.
Reimplemented from GmSparseMatrix< IndexType, GM_CSC_SPARSE_FORMAT >.