Wrapper class for various solvers. These solvers are parametrized by MatrixType and VectorType. The different algorithms, like krylov subspace methods or other external solvers where the backend provides an interface, can be assigned by different Runner objects. More...
#include <LinearSolver.hpp>
Inherits LinearSolverInterface< Mat, Vec >.
Classes | |
struct | Creator |
A creator to be used instead of the constructor. More... | |
Public Member Functions | |
template<class... Args> | |
LinearSolver (std::string prefix, Args &&... args) | |
Constructor. | |
Runner * | runner () override |
Public Member Functions inherited from LinearSolverInterface< Mat, Vec > | |
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... | |
Protected Member Functions | |
void | solveImpl (Mat const &A, Vec &x, Vec const &b, SolverInfo &solverInfo) override |
Implements LinearSolverInterface::solveImpl() | |
Wrapper class for various solvers. These solvers are parametrized by MatrixType and VectorType. The different algorithms, like krylov subspace methods or other external solvers where the backend provides an interface, can be assigned by different Runner objects.