#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 |
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.
Definition at line 40 of file precond.h.
| TBCI::Preconditioner_Sig< T, MatrixType >::Preconditioner_Sig | ( | ) | [inline] |
| TBCI::Preconditioner_Sig< T, MatrixType >::Preconditioner_Sig | ( | const MatrixType & | ) |
| virtual TBCI::Preconditioner_Sig< T, MatrixType >::~Preconditioner_Sig | ( | ) | [inline, virtual] |
| virtual void TBCI::Preconditioner_Sig< T, MatrixType >::update | ( | const MatrixType & | ) | [pure virtual] |
Implemented in TBCI::DiagPreconditioner< T, MatrixType >, and TBCI::NoPreconditioner< T, MatrixType >.
| virtual TVector<T> TBCI::Preconditioner_Sig< T, MatrixType >::solve | ( | const Vector< T > & | ) | const [pure virtual] |
Implemented in TBCI::DiagPreconditioner< T, MatrixType >, TBCI::DILU_BdMatrixPreconditioner< T >, TBCI::ILU0_Symm_BdMatrixPreconditioner< T >, TBCI::ILU0_BdMatrixPreconditioner< T >, and TBCI::NoPreconditioner< T, MatrixType >.
Referenced by TBCI::BiCG(), TBCI::BiCGSTAB(), TBCI::CG(), TBCI::CG2(), TBCI::CGS(), TBCI::CHEBY(), TBCI::GMRES(), TBCI::IR(), and TBCI::QMR().
| virtual TVector<T> TBCI::Preconditioner_Sig< T, MatrixType >::solve | ( | TVector< T > | ) | const [pure virtual] |
| virtual TVector<T> TBCI::Preconditioner_Sig< T, MatrixType >::transSolve | ( | const Vector< T > & | ) | const [pure virtual] |
| virtual TVector<T> TBCI::Preconditioner_Sig< T, MatrixType >::transSolve | ( | TVector< T > | ) | const [pure virtual] |
1.5.6