|
TBCI Numerical high perf. C++ Library
2.8.0
|
Abstract base class for all Preconditioners. More...
#include <precond.h>

Public Member Functions | |
| Preconditioner_Sig () | |
| Preconditioner_Sig (const MatrixType &) | |
| virtual | ~Preconditioner_Sig () |
| virtual void | update (const MatrixType &)=0 |
| virtual TVector< T > | solve (const Vector< T > &) const =0 |
| virtual TVector< T > | solve (TVector< T >) const =0 |
| virtual TVector< T > | transSolve (const Vector< T > &) const =0 |
| virtual TVector< T > | transSolve (TVector< T >) const =0 |
Abstract base class for all Preconditioners.
Here we actually use polymorphism: We just define an interface (signature) here and pass a reference to a real Preconditioner as Preconditioner_Sig<T,MatrixType>& to the solvers. This way, we save a template parameter.
Note: The solvers do not currently by default call the prconditioner's update member. So you have to initialize the preconditioner by passing the System Matrix to it in the constructor or the update() member function before calling the solver.
|
inline |
| Preconditioner_Sig< T, MatrixType >::Preconditioner_Sig | ( | const MatrixType & | ) |
|
inlinevirtual |
|
pure virtual |
Implemented in ILU0_BdMatrixPreconditioner< T >, DiagPreconditioner< T, MatrixType >, DILU_BdMatrixPreconditioner< T >, ILU0_Symm_BdMatrixPreconditioner< T >, and NoPreconditioner< T, MatrixType >.
Referenced by BiCG(), BiCGSTAB(), CG(), CG2(), CGS(), CHEBY(), IR(), and QMR().
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
1.8.5