Default solver in Seldon. More...
#include <SparseSolver.hxx>
Public Member Functions | |
bool | UseInteger8 () const |
void | Clear () |
void | HideMessages () |
void | ShowMessages () |
int | GetPrintLevel () const |
size_t | GetMemorySize () const |
returns memory used by the object in bytes | |
int | GetInfoFactorization () const |
double | GetPivotThreshold () const |
void | SetPivotThreshold (double) |
Sets the threshold for pivot. | |
template<class T0 , class Storage0 , class Allocator0 > | |
void | FactorizeMatrix (const IVect &perm, Matrix< T0, General, Storage0, Allocator0 > &mat, bool keep_matrix=false) |
performs LU factorisation of matrix mat More... | |
template<class T0 , class Storage0 , class Allocator0 > | |
void | FactorizeMatrix (const IVect &perm, Matrix< T0, Symmetric, Storage0, Allocator0 > &mat, bool keep_matrix=false) |
performs LU factorisation of matrix mat More... | |
template<class T1 > | |
void | Solve (Vector< T1 > &z) |
template<class T1 > | |
void | Solve (const SeldonTranspose &TransA, Vector< T1 > &z) |
void | Solve (const SeldonTranspose &, T *x_ptr, int nrhs) |
virtual void | RefineSolution () |
Tells to the direct solver that refinement is required. | |
virtual void | DoNotRefineSolution () |
Tells to the direct solver that no refinement is required. | |
virtual void | SetCoefficientEstimationNeededMemory (double coef) |
Method overloaded in Mumps solver. | |
virtual void | SetMaximumCoefficientEstimationNeededMemory (double coef) |
Method overloaded in Mumps solver. | |
virtual void | SetIncreaseCoefficientEstimationNeededMemory (double coef) |
Method overloaded in Mumps solver. | |
virtual void | SelectOrdering (int) |
selects ordering to use in the interfaced solver | |
virtual void | SelectParallelOrdering (int) |
selects ordering to use in parallel for the interfaced solver | |
virtual void | SetPermutation (const Vector< int > &) |
gives the ordering array to the interface solver | |
virtual void | SetNumberOfThreadPerNode (int n) |
Sets the number of threads per mpi process. | |
Protected Attributes | |
int | print_level |
Verbosity level. | |
double | permtol |
Threshold for pivoting. | |
Matrix< T, Symmetric, ArrayRowSymSparse, Allocator > | mat_sym |
Symmetric matrix. | |
Matrix< T, General, ArrayRowSparse, Allocator > | mat_unsym |
Unsymmetric matrix. | |
IVect | permutation_row |
Permutation arrays. | |
IVect | permutation_col |
bool | symmetric_matrix |
if true the factorisation is contained in mat_sym | |
Default solver in Seldon.
Definition at line 111 of file SparseSolver.hxx.
void Seldon::SparseSeldonSolver< T, Allocator >::FactorizeMatrix | ( | const IVect & | perm, |
Matrix< T0, General, Storage0, Allocator0 > & | mat, | ||
bool | keep_matrix = false |
||
) |
performs LU factorisation of matrix mat
[in] | perm | permutation array used to renumber the matrix |
[in,out] | mat | matrix to factorize |
[in] | keep_matrix | if true the given matrix mat is kept |
Definition at line 247 of file SparseSolver.cxx.
void Seldon::SparseSeldonSolver< T, Allocator >::FactorizeMatrix | ( | const IVect & | perm, |
Matrix< T0, Symmetric, Storage0, Allocator0 > & | mat, | ||
bool | keep_matrix = false |
||
) |
performs LU factorisation of matrix mat
[in] | perm | permutation array used to renumber the matrix |
[in,out] | mat | matrix to factorize |
[in] | keep_matrix | if true the given matrix mat is kept |
Definition at line 316 of file SparseSolver.cxx.