3#include <amdis/Output.hpp>
8 template <
class M,
class X,
class Y>
16 virtual void init(M
const& A) = 0;
22 virtual void solve(X
const& x, Y& y)
const = 0;
27 error_exit(
"Must be implemented by derived class.");
Interface for Preconditioner y = M*x.
Definition: PreconditionerInterface.hpp:10
virtual void init(M const &A)=0
Is called a the beginning of a solution procedure.
virtual ~PreconditionerInterface()=default
Virtual destructor.
virtual void finish()=0
Is called at the end of a solution procedure.
virtual void adjoint_solve(X const &x, Y &y) const
Apply the transposed preconditioner to a vector x and store the result in y.
Definition: PreconditionerInterface.hpp:25
virtual void solve(X const &x, Y &y) const =0
Apply the preconditioner to a vector x and store the result in y.