Abstract base class for linear solvers. More...
#include <LinearSolverInterface.hpp>
Inherited by ISTLSolver< Mat, Vec >, and LinearSolver< Mat, Vec, Runner >.
Public Member Functions | |
| virtual | ~LinearSolverInterface ()=default |
| Destructor. | |
| template<class TA , class TX , class TY , template< class > class MI, template< class > class VI> | |
| void | solve (MatrixFacade< TA, MI > const &A, VectorFacade< TX, VI > &x, VectorFacade< TY, VI > const &b, SolverInfo &solverInfo) |
| Public method to call in order to solve a linear system Ax = b. More... | |
| virtual RunnerInterface< Mat, Vec > * | runner () |
Protected Member Functions | |
| virtual void | solveImpl (Mat const &A, Vec &x, Vec const &b, SolverInfo &solverInfo)=0 |
| main methods that all solvers must implement | |
Abstract base class for linear solvers.
|
inline |
Public method to call in order to solve a linear system Ax = b.
The method redirects to the specific linear solver and prints statistics and error estimations at the end.
The parameters correspond to A A [block-]matrix that represents the system-matrix. x A [block-]vector for the unknown components. b A [block-]vector for the right-hand side of the linear system.
References AMDiS::error_exit(), MatrixFacade< T, MatrixImpl >::impl(), VectorFacade< T, VectorImpl >::impl(), and LinearSolverInterface< Mat, Vec >::solveImpl().