#include <sparsesolver_mumps.hpp>
Public Member Functions | |
virtual bool | Compute (SymSparseMatrix &) |
computes the factorization, returns true if succeeded | |
virtual bool | Compute (SparseMatrix &) |
computes the factorization, returns true if succeeded | |
MUMPS (SymSparseMatrix &) | |
MUMPS (SparseMatrix &) | |
constructor which already factorizes the matrix | |
MUMPS (const bool use_matrix_buffer_as_MUMPS_input_data=false) | |
default constructor (inits m_use_matrix_buffer_as_MUMPS_input_data) | |
void | SetPositive (bool pos) |
Tell MUMPS if the matrix is positive definite (default: false). | |
virtual bool | Solve (const Matrix &b, Matrix &x) |
virtual bool | SolveInPlace (Matrix &b) |
virtual bool | SolveTransposed (const Matrix &b, Matrix &x) |
virtual std::string | typeIdent () const |
returns the name of the datatype | |
virtual | ~MUMPS () |
destructor | |
Private Types | |
typedef TSolverInterface::MUMPS_STRUC_C | TSolverData |
typedef TMumpsInterface< TScalar > | TSolverInterface |
Private Member Functions | |
void | clear () |
template<class SparseMatrixType> | |
bool | Factorize (SparseMatrixType &) |
void | FillData (SymSparseMatrix &, double values[], int rows[], int cols[]) |
void | FillData (SparseMatrix &, double values[], int rows[], int cols[]) |
void | init (const bool is_symmetric) |
const std::string | mumpserror (int id) const |
Private Attributes | |
bool | m_ispositive |
an internal flag (default: false) which tells MUMPS that the matrix is positive definite | |
TSolverData | m_solver |
bool | m_solvercontainsdata |
bool | m_use_matrix_buffer_as_MUMPS_input_data |
if this is on then the matrix buffer is directly used by MUMPS (warning: It may happen that MUMPS will change it unexpectedly) |
Solves the given vector on return; returns true if succeeded
Reimplemented from tmath::sparse::SparseSolver.
virtual bool tmath::sparse::MUMPS::SolveInPlace | ( | Matrix & | b | ) | [virtual] |
Factorizes this matrix and solves the given vector in place; returns true if succeeded
Reimplemented from tmath::sparse::SparseSolver.
Solves the system (transpose(Matrix)*x=b for x; returns true if succeeded
Reimplemented from tmath::sparse::SparseSolver.