#include <SparseSymSolver.hh>
Inheritance diagram for SparseSymSolver:
Public Methods | |
virtual void | solve (IotrVector &b) |
solve the linear system | |
virtual void | matrixChanged () |
inform the solver that the matrix of the system has changed. | |
virtual void | inertia (int &npos, int &nneg, int &nzero) const |
virtual int | isSingular () const |
double | thresholdPivoting () |
the Threshold Pivoting parameter, stored as U in the ma27dd common block. | |
double | treatAsZero () |
the "Treat As Zero" parameter, stored as pivtol in the common block ma27td. | |
Protected Attributes | |
SimpleArrayDataHandle | mFactorization |
mFactorization will store the factorization of mMat. | |
SparseSymMatrixHandle | mMat |
mMat represents a matrix which is to be factored and used to solve linear systems. | |
int | mSize |
mSize = max number of nonzeros in mMat. | |
int | mN |
mN = size of mMat, mNz = actual number of nonzeros. | |
int | mNz |
mN = size of mMat, mNz = actual number of nonzeros. | |
int * | irow |
Contains details of block structure in factorization. | |
int * | jcol |
Contains details of block structure in factorization. |
|
inform the solver that the matrix of the system has changed. The solver may wish to refactor the system, or perform other bookeeping. Implements LinearSolver. |
|
solve the linear system
Implements LinearSolver. |
|
the Threshold Pivoting parameter, stored as U in the ma27dd common block. Takes values in the range [0,1]. Larger values enforce greater stability in the factorization as they insist on larger pivots. Smaller values preserve sparsity at the cost of using smaller pivots. |
|
the "Treat As Zero" parameter, stored as pivtol in the common block ma27td. The factorization will not accept a pivot whose absolute value is less than this parameter as a 1x1 pivot or as the off-diagonal in a 2x2 pivot. |