HArD::Core2D
Hybrid Arbitrary Degree::Core 2D - Library to implement 2D schemes with edge and cell polynomials as unknowns
|
This structure is a wrapper to allow a given code to select various linear solvers. More...
#include <linearsolver.hpp>
Public Member Functions | |
LinearSolver (const std::string &namesolver) | |
Constructor. | |
std::string | name () const |
Returns the name of the solver. | |
Eigen::ComputationInfo | info_factorize () const |
Returns the information message after the "factorize" step. | |
Eigen::ComputationInfo | info_solve () const |
Returns the information message after the "solve" step. | |
void | analyzePattern (MatrixType &A) |
Analyze the pattern of the matrix. | |
void | factorize (MatrixType &A) |
Factorize the matrix. | |
void | compute (MatrixType &A) |
Analyze and factorize the matrix. | |
template<typename VectorType > | |
VectorType | solve (VectorType &b) |
Solve the system Ax=b using the selected solver (after analysis of pattern and computation of matrix) | |
template<typename VectorType > | |
VectorType | compute_and_solve (MatrixType &A, VectorType &b) |
Perform all operators to solve Ax=b. | |
template<typename VectorType > | |
double | residual (MatrixType &A, VectorType &b, VectorType &x) |
Check relative infinity norm of residual: ||Ax-b||/||b||. | |
This structure is a wrapper to allow a given code to select various linear solvers.