22 #ifndef __HERMES_COMMON_UMFPACK_SOLVER_H_
23 #define __HERMES_COMMON_UMFPACK_SOLVER_H_
47 template <
typename Scalar>
58 virtual int get_matrix_size();
72 void free_factorization_data();
74 bool setup_factorization();
78 char* check_status(
const char *fn_name,
int status);
81 void set_output_level(
double level);
84 double Info[UMFPACK_INFO];
85 double Control[UMFPACK_CONTROL];
General (abstract) matrix representation in Hermes.
General namespace for the Hermes library.
void * numeric
LU factorization of matrix A.
Linear matrix solver functionality.
General (abstract) vector representation in Hermes.
Namespace containing classes for vector / matrix operations.
Basic cs (Compressed sparse) matrix classes and operations.
Vector used with MUMPS solver.
General CSC Matrix class. (can be used in umfpack, in that case use the CSCMatrix subclass...
SimpleVector< Scalar > * rhs
Right hand side vector.
void * symbolic
Reusable factorization information (A denotes matrix represented by the pointer 'm'). Reordering of matrix A to reduce fill-in during factorization.
HERMES_API LinearMatrixSolver< Scalar > * create_linear_solver(Matrix< Scalar > *matrix, Vector< Scalar > *rhs, bool use_direct_solver=false)
Function returning a solver according to the users's choice.
Abstract class for defining solver interface.
CSCMatrix< Scalar > * m
Matrix to solve.
Encapsulation of UMFPACK linear solver.