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 systemmatrix. x
A [block]vector for the unknown components. b
A [block]vector for the righthand side of the linear system.
References AMDiS::error_exit(), MatrixFacade< T, MatrixImpl >::impl(), VectorFacade< T, VectorImpl >::impl(), and LinearSolverInterface< Mat, Vec >::solveImpl().