Interface for Preconditioner y = M*x. More...
#include <PreconditionerInterface.hpp>
Inherited by Preconditioner< M, X, Y, PreconImpl >, and SolverPrecon< M, X, Y >.
Public Member Functions | |
| virtual | ~PreconditionerInterface ()=default |
| Virtual destructor. | |
| virtual void | init (M const &A)=0 |
| Is called a the beginning of a solution procedure. | |
| virtual void | finish ()=0 |
| Is called at the end of a solution procedure. | |
| virtual void | solve (X const &x, Y &y) const =0 |
Apply the preconditioner to a vector x and store the result in y. | |
| virtual void | adjoint_solve (X const &x, Y &y) const |
Apply the transposed preconditioner to a vector x and store the result in y. | |
Detailed Description
class AMDiS::PreconditionerInterface< M, X, Y >
Interface for Preconditioner y = M*x.
Member Function Documentation
◆ adjoint_solve()
|
inlinevirtual |
Apply the transposed preconditioner to a vector x and store the result in y.
Reimplemented in BlockDiagonalPreconditioner< M, V, Basis >, Preconditioner< M, X, Y, PreconImpl >, and SolverPrecon< M, X, Y >.
References AMDiS::error_exit().
◆ finish()
|
pure virtual |
Is called at the end of a solution procedure.
Implemented in BlockDiagonalPreconditioner< M, V, Basis >, Preconditioner< M, X, Y, PreconImpl >, and SolverPrecon< M, X, Y >.
◆ init()
|
pure virtual |
Is called a the beginning of a solution procedure.
Implemented in BlockDiagonalPreconditioner< M, V, Basis >, BlockPreconditioner< M, V, RowBasis, ColBasis >, BlockPreconditioner< M, V, Basis >, Preconditioner< M, X, Y, PreconImpl >, and SolverPrecon< M, X, Y >.
◆ solve()
Apply the preconditioner to a vector x and store the result in y.
Implemented in BlockDiagonalPreconditioner< M, V, Basis >, Preconditioner< M, X, Y, PreconImpl >, and SolverPrecon< M, X, Y >.
The documentation for this class was generated from the following file:
- /home/docs/checkouts/readthedocs.org/user_builds/amdis/checkouts/latest/amdis/linearalgebra/mtl/PreconditionerInterface.hpp