TBCI Numerical high perf. C++ Library 2.8.0
DILU_BdMatrixPreconditioner< T > Class Template Reference

#include <diluprecond.h>

Inheritance diagram for DILU_BdMatrixPreconditioner< T >:
Collaboration diagram for DILU_BdMatrixPreconditioner< T >:

Public Member Functions

 DILU_BdMatrixPreconditioner ()
 DILU_BdMatrixPreconditioner (const BdMatrix< T > &A)
 ~DILU_BdMatrixPreconditioner ()
void update (const BdMatrix< T > &A)
TVector< Tsolve (TVector< T > x) const
TVector< Tsolve (const Vector< T > &v) const
TVector< TtransSolve (const Vector< T > &v) const
TVector< TtransSolve (TVector< T > tv) const
Public Member Functions inherited from Preconditioner_Sig< T, BdMatrix< T > >
 Preconditioner_Sig ()
virtual ~Preconditioner_Sig ()

Detailed Description

template<typename T>
class DILU_BdMatrixPreconditioner< T >

Templated incomplete LU preconditioner for the class TBCI::BdMatrix

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.

Constructor & Destructor Documentation

◆ DILU_BdMatrixPreconditioner() [1/2]

template<typename T>
DILU_BdMatrixPreconditioner< T >::DILU_BdMatrixPreconditioner ( )
inline

Definition at line 43 of file diluprecond.h.

◆ DILU_BdMatrixPreconditioner() [2/2]

template<typename T>
DILU_BdMatrixPreconditioner< T >::DILU_BdMatrixPreconditioner ( const BdMatrix< T > & A)
inline

Definition at line 44 of file diluprecond.h.

References update().

◆ ~DILU_BdMatrixPreconditioner()

template<typename T>
DILU_BdMatrixPreconditioner< T >::~DILU_BdMatrixPreconditioner ( )
inline

Definition at line 46 of file diluprecond.h.

Member Function Documentation

◆ solve() [1/2]

template<typename T>
TVector< T > DILU_BdMatrixPreconditioner< T >::solve ( const Vector< T > & v) const
inlinevirtual

Implements Preconditioner_Sig< T, BdMatrix< T > >.

Definition at line 54 of file diluprecond.h.

References solve().

◆ solve() [2/2]

template<typename T>
TVector< T > DILU_BdMatrixPreconditioner< T >::solve ( TVector< T > x) const

Definition at line 103 of file diluprecond.h.

References BCHKNR, i, and y.

Referenced by solve(), transSolve(), and transSolve().

◆ transSolve() [1/2]

template<typename T>
TVector< T > DILU_BdMatrixPreconditioner< T >::transSolve ( const Vector< T > & v) const
inlinevirtual

Implements Preconditioner_Sig< T, BdMatrix< T > >.

Definition at line 61 of file diluprecond.h.

References solve().

◆ transSolve() [2/2]

template<typename T>
TVector< T > DILU_BdMatrixPreconditioner< T >::transSolve ( TVector< T > tv) const
inline

Definition at line 64 of file diluprecond.h.

References solve().

◆ update()


The documentation for this class was generated from the following files: