TBCI Numerical high perf. C++ Library 2.8.0
DiagPreconditioner< T, MatrixType > Class Template Reference

#include <diagprecond.h>

Inheritance diagram for DiagPreconditioner< T, MatrixType >:
Collaboration diagram for DiagPreconditioner< T, MatrixType >:

Public Member Functions

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

Friends

class SystemMatrix

Detailed Description

template<typename T, typename MatrixType = BdMatrix<T>>
class DiagPreconditioner< T, MatrixType >

Diagonal Preconditioner (Jacobi Preconditioner) for solvers for the linear system of type A * x = b

Definition at line 27 of file diagprecond.h.

Constructor & Destructor Documentation

◆ DiagPreconditioner() [1/2]

template<typename T, typename MatrixType = BdMatrix<T>>
DiagPreconditioner< T, MatrixType >::DiagPreconditioner ( )
inline

Definition at line 35 of file diagprecond.h.

◆ DiagPreconditioner() [2/2]

template<typename T, typename MatrixType = BdMatrix<T>>
DiagPreconditioner< T, MatrixType >::DiagPreconditioner ( const MatrixType & A)
inline

Definition at line 37 of file diagprecond.h.

References MatrixType, and update().

◆ ~DiagPreconditioner()

template<typename T, typename MatrixType = BdMatrix<T>>
DiagPreconditioner< T, MatrixType >::~DiagPreconditioner ( )
inline

Definition at line 39 of file diagprecond.h.

Member Function Documentation

◆ solve() [1/2]

template<typename T, typename MatrixType = BdMatrix<T>>
TVector< T > DiagPreconditioner< T, MatrixType >::solve ( const Vector< T > & v) const
inlinevirtual

Implements Preconditioner_Sig< T, MatrixType >.

Definition at line 60 of file diagprecond.h.

References solve().

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

◆ solve() [2/2]

template<typename T, typename MatrixType = BdMatrix<T>>
TVector< T > DiagPreconditioner< T, MatrixType >::solve ( TVector< T > tv) const
inlinevirtual

Implements Preconditioner_Sig< T, MatrixType >.

Definition at line 66 of file diagprecond.h.

References TVector< T >::setval().

◆ transSolve() [1/2]

template<typename T, typename MatrixType = BdMatrix<T>>
TVector< T > DiagPreconditioner< T, MatrixType >::transSolve ( const Vector< T > & v) const
inlinevirtual

Implements Preconditioner_Sig< T, MatrixType >.

Definition at line 77 of file diagprecond.h.

References solve().

◆ transSolve() [2/2]

template<typename T, typename MatrixType = BdMatrix<T>>
TVector< T > DiagPreconditioner< T, MatrixType >::transSolve ( TVector< T > tv) const
inlinevirtual

Implements Preconditioner_Sig< T, MatrixType >.

Definition at line 80 of file diagprecond.h.

References solve().

◆ update()

template<typename T, typename MatrixType = BdMatrix<T>>
void DiagPreconditioner< T, MatrixType >::update ( const MatrixType & A)
inlinevirtual

Implements Preconditioner_Sig< T, MatrixType >.

Definition at line 42 of file diagprecond.h.

References BCHK, do_expcheck(), EXPCHK, i, MatrixType, and T.

Referenced by DiagPreconditioner().

◆ SystemMatrix

template<typename T, typename MatrixType = BdMatrix<T>>
friend class SystemMatrix
friend

Definition at line 33 of file diagprecond.h.

References SystemMatrix.

Referenced by SystemMatrix.


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