|
dune-istl 2.10
|
The UMFPack direct sparse solver. More...
#include <dune/istl/umfpack.hh>

Public Types | |
| using | size_type = SuiteSparse_long |
| using | Matrix = M |
| The matrix type. | |
| using | matrix_type = M |
| using | UMFPackMatrix = ISTL::Impl::BCCSMatrix<typename Matrix::field_type, size_type> |
| The corresponding (scalar) UMFPack matrix type. | |
| using | MatrixInitializer = ISTL::Impl::BCCSMatrixInitializer<M, size_type> |
| Type of an associated initializer class. | |
| using | domain_type = Impl::UMFPackDomainType<M> |
| The type of the domain of the solver. | |
| using | range_type = Impl::UMFPackRangeType<M> |
| The type of the range of the solver. | |
Public Member Functions | |
| virtual SolverCategory::Category | category () const |
| Category of the solver (see SolverCategory::Category). | |
| UMFPack (const Matrix &matrix, int verbose=0) | |
| Construct a solver object from a matrix. | |
| UMFPack (const Matrix &matrix, int verbose, bool) | |
| Constructor for compatibility with SuperLU standard constructor. | |
| UMFPack (const Matrix &mat_, const ParameterTree &config) | |
| Construct a solver object from a matrix. | |
| UMFPack () | |
| default constructor | |
| UMFPack (const Matrix &mat_, const char *file, int verbose=0) | |
| Try loading a decomposition from file and do a decomposition if unsuccessful. | |
| UMFPack (const char *file, int verbose=0) | |
| try loading a decomposition from file | |
| virtual | ~UMFPack () |
| virtual void | apply (domain_type &x, range_type &b, InverseOperatorResult &res) |
| Apply inverse operator,. | |
| virtual void | apply (domain_type &x, range_type &b, double reduction, InverseOperatorResult &res) |
| apply inverse operator, with given convergence criteria. | |
| void | apply (T *x, T *b) |
| additional apply method with c-arrays in analogy to superlu | |
| void | setOption (unsigned int option, double value) |
| Set UMFPack-specific options. | |
| void | saveDecomposition (const char *file) |
| saves a decomposition to a file | |
| template<class BitVector = Impl::NoBitVector> | |
| void | setMatrix (const Matrix &matrix, const BitVector &bitVector={}) |
| Initialize data from given matrix. | |
| template<typename S> | |
| void | setSubMatrix (const Matrix &_mat, const S &rowIndexSet) |
| void | setVerbosity (int v) |
| sets the verbosity level for the UMFPack solver | |
| void * | getFactorization () |
| Return the matrix factorization. | |
| UMFPackMatrix & | getInternalMatrix () |
| Return the column compress matrix from UMFPack. | |
| void | free () |
| free allocated space. | |
| const char * | name () |
The UMFPack direct sparse solver.
Details on UMFPack can be found on http://www.cise.ufl.edu/research/sparse/umfpack/
UMFPack will always use double precision. For complex matrices use a matrix type with std::complex<double> as the underlying number type.
| Matrix | the matrix type defining the system |