3 #include <amdis/Output.hpp> 4 #include <amdis/linearalgebra/RunnerInterface.hpp> 19 template <
class T,
template <
class>
class MatrixImpl>
22 template <
class T,
template <
class>
class VectorImpl>
26 template <
class Mat,
class Vec>
43 template <
class TA,
class TX,
class TY,
template <
class>
class MI,
template <
class>
class VI>
51 error_exit(
"Must be implemented by derived class.");
virtual ~LinearSolverInterface()=default
Destructor.
The basic container that stores a base vector and a corresponding basis.
Definition: LinearSolverInterface.hpp:23
void error_exit(std::string const &str, Args &&... args)
print a message and exit
Definition: Output.hpp:142
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.
Definition: LinearSolverInterface.hpp:44
virtual void solveImpl(Mat const &A, Vec &x, Vec const &b, SolverInfo &solverInfo)=0
main methods that all solvers must implement
Contains all classes needed for solving linear and non linear equation systems.
Definition: AdaptBase.hpp:6
Abstract base class for linear solvers.
Definition: LinearSolverInterface.hpp:27
Impl const & impl() const
Return the underlying linear algebra backend.
Definition: VectorFacade.hpp:71
Definition: SolverInfo.hpp:11
Definition: LinearSolverInterface.hpp:20
Impl const & impl() const
Return the underlying matrix backend.
Definition: MatrixFacade.hpp:38
Interface for Runner / Worker types used in solver classes.
Definition: RunnerInterface.hpp:11