![]() |
LisSolver
The GeMA Lis Numeric Solver Plugin
|
A class for wrapping up a LIS sparse matrix
More...
#include <lisMatrix.h>


Public Member Functions | |
| LisMatrix (int nlin, const LisMatrix *sharedLayout, GmSparseMatrixOptions options) | |
| Constructor for the square matrix used by the LIS solver. If sharedLayout is different from NULL, this matrix layout will be given by it. | |
| virtual | ~LisMatrix () |
| Destructor. | |
| LIS_MATRIX | lis () const |
| Returns the Lis 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< int, GM_CSR_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 |
Protected Member Functions | |
| virtual void | matrixLayoutReady () |
| Allocates space for matrix values and build the LIS wrapper over matrix vectors. | |
| virtual GmSparseMatrix< int, GM_CSR_SPARSE_FORMAT > * | detachAndClear () |
Protected Member Functions inherited from GmSparseMatrix< int, GM_CSR_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) |
Private Attributes | |
| LIS_MATRIX | _lisMat |
| A Lis wrapper over the sparse matrix stored by the base class, without allocating additional memory. | |
Additional Inherited Members | |
Public Types inherited from GmSolverMatrix | |
| enum | ParallelAddMode |
Protected Attributes inherited from GmSparseMatrix< int, GM_CSR_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 LIS sparse matrix
| LisMatrix::LisMatrix | ( | int | nlin, |
| const LisMatrix * | sharedLayout, | ||
| GmSparseMatrixOptions | options ) |
Constructor for the square matrix used by the LIS solver. 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< int, GM_CSR_SPARSE_FORMAT >.
|
virtual |
Reimplemented from GmSparseMatrix< int, GM_CSR_SPARSE_FORMAT >.
|
protectedvirtual |
Reimplemented from GmSparseMatrix< int, GM_CSR_SPARSE_FORMAT >.
|
virtual |
Reimplemented from GmSparseMatrix< int, GM_CSR_SPARSE_FORMAT >.
|
protectedvirtual |
Allocates space for matrix values and build the LIS wrapper over matrix vectors.
Reimplemented from GmSparseMatrix< int, GM_CSR_SPARSE_FORMAT >.