24#ifndef _GEMA_SUITESPARSE_SOLVER_H_
25#define _GEMA_SUITESPARSE_SOLVER_H_
57 virtual const char* pluginName()
const {
return "SuiteSparseSolver"; }
59 virtual bool loadPrivateData(
LuaTable& table);
62 int numThreads = -1)
const;
65 virtual bool setSolverTolerance(
double tol) { Q_UNUSED(tol);
return false; }
69 virtual QString quickDescription()
const;
72 virtual int trackItemId()
const {
return _trackSolveItem; }
85 int _trackSolveItem = -1;
86 int _trackSolveAnalyzeItem = -1;
87 int _trackSolveFactorizeItem = -1;
88 int _trackSolveSolveItem = -1;
89 int _trackSolveResidualAttr = -1;
90 int _trackSolveInternalMemAttr = -1;
virtual const GmLogCategory & logger() const
QString description() const
A base class with the common behavior for creating a GeMA solver based on one of the following SuiteS...
Definition suiteSparseSolver.h:44
cholmod_sparse * cholmodMatrix(GmSolverMatrix *A) const
Given a matrix A, returns a "cholmod" matrix that wraps A. This can be just a pointer to an existing ...
Definition suiteSparseSolver.cpp:159
bool _printResidual
Should the solver print, after solving, the residual?
Definition suiteSparseSolver.h:82
GmSparseMatrixOptions _matrixOptions
The set of options used for building the sparse matrix.
Definition suiteSparseSolver.h:84
void releaseCholmodMatrix(cholmod_sparse *cA) const
Releases, if necessary, the matrix created by the call to cholmodMatrix(A)
Definition suiteSparseSolver.cpp:231
bool _i64
Are we using 64 bit indices for sparse matrices?
Definition suiteSparseSolver.h:80
int _normType
The saved norm type (0 = infinite (maximum value), 1 = L1 (value sum), 2 = L2 (quadratic))
Definition suiteSparseSolver.h:81
virtual ~SuiteSparseSolver()
Destructor.
Definition suiteSparseSolver.h:54
SuiteSparseSolver(GmSimulationData *simulation, QString id, QString description, const GmLogCategory &logger)
Constructor. Will be called by the plugin loading code.
Definition suiteSparseSolver.h:48
GM_ARMADILLO_TRIPLET_LIST
Declaration of the SuiteSparseMatrix class.