#include <diluprecond.h>


Public Member Functions | |
| DILU_BdMatrixPreconditioner () | |
| DILU_BdMatrixPreconditioner (const BdMatrix< T > &A) | |
| ~DILU_BdMatrixPreconditioner () | |
| void | update (const BdMatrix< T > &A) |
| TVector< T > | solve (TVector< T > x) const |
| TVector< T > | solve (const Vector< T > &v) const |
| TVector< T > | transSolve (const Vector< T > &v) const |
| TVector< T > | transSolve (TVector< T > tv) const |
Diag. Incomplete LU decomposition as preconditioner for Krylov subspace methods
Note: Quite fast and efficient preconditioner. More effective than Diagonal (Jacobi) preconditioning, but less effective than ILU0 decomposition. Computational costs slighly above Jacobi. Unfortunately, for not so well conditioned matrices, DILU becomes numerically unstable quite early. Long before the others, so I'd not advice to use it in case you're not confident about a good condition of your matrix.
Definition at line 40 of file diluprecond.h.
| TBCI::DILU_BdMatrixPreconditioner< T >::DILU_BdMatrixPreconditioner | ( | ) | [inline] |
Definition at line 43 of file diluprecond.h.
| TBCI::DILU_BdMatrixPreconditioner< T >::DILU_BdMatrixPreconditioner | ( | const BdMatrix< T > & | A | ) | [inline] |
Definition at line 44 of file diluprecond.h.
| TBCI::DILU_BdMatrixPreconditioner< T >::~DILU_BdMatrixPreconditioner | ( | ) | [inline] |
Definition at line 46 of file diluprecond.h.
| void TBCI::DILU_BdMatrixPreconditioner< T >::update | ( | const BdMatrix< T > & | A | ) | [inline] |
Definition at line 74 of file diluprecond.h.
References TBCI::BdMatrix< T >::adiag, BCHK, TBCI::BdMatrix< T >::bdiag, TBCI::BdMatrix< T >::diag, TBCI::BdMatrix< T >::diagconf, TBCI::BdMatrix< T >::dim, LIKELY, TBCI::BVector< T >::size(), T, and UNLIKELY.
| TVector< T > TBCI::DILU_BdMatrixPreconditioner< T >::solve | ( | TVector< T > | x | ) | const [inline, virtual] |
Implements TBCI::Preconditioner_Sig< T, MatrixType >.
Definition at line 103 of file diluprecond.h.
References BCHK, TBCI::TVector< T >::setval(), and TBCI::TVector< T >::size().
| TVector<T> TBCI::DILU_BdMatrixPreconditioner< T >::solve | ( | const Vector< T > & | v | ) | const [inline, virtual] |
| TVector<T> TBCI::DILU_BdMatrixPreconditioner< T >::transSolve | ( | const Vector< T > & | v | ) | const [inline, virtual] |
| TVector<T> TBCI::DILU_BdMatrixPreconditioner< T >::transSolve | ( | TVector< T > | tv | ) | const [inline, virtual] |
1.5.6