Template Numerical Library: TNL::Solvers::Linear::Preconditioners::ILUT_impl< Matrix, Real, Devices::Host, Index > Class Template Reference

Template Numerical Library version\ main:be7e16d88

Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
TNL::Solvers::Linear::Preconditioners::ILUT_impl< Matrix, Real, Devices::Host, Index > Class Template Reference
Inheritance diagram for TNL::Solvers::Linear::Preconditioners::ILUT_impl< Matrix, Real, Devices::Host, Index >:
[legend]
Collaboration diagram for TNL::Solvers::Linear::Preconditioners::ILUT_impl< Matrix, Real, Devices::Host, Index >:
[legend]

## Public Types
using | DeviceType = Devices::Host
using | IndexType = Index
using | RealType = Real
using | VectorType = Containers::Vector< RealType, DeviceType, IndexType >
Public Types inherited from TNL::Solvers::Linear::Preconditioners::Preconditioner< Matrix >
using | ConstVectorViewType = typename Traits< Matrix >::ConstVectorViewType
| Type for constant vector view.
using | DeviceType = typename Matrix::DeviceType
| Device where the solver will run on and auxiliary data will alloacted on.
using | IndexType = typename Matrix::IndexType
| Type for indexing.
using | MatrixPointer = std::shared_ptr< std::add_const_t< MatrixType > >
| Type of shared pointer to the matrix.
using | MatrixType = Matrix
| Type of the matrix representing the linear system.
using | RealType = typename Matrix::RealType
| Floating point type used for computations.
using | VectorViewType = typename Traits< Matrix >::VectorViewType
| Type for vector view.

## Public Member Functions
bool | setup (const Config::ParameterContainer &parameters, const String &prefix="") override
| Method for setup of the preconditioner of linear iterative solver based on configuration parameters.
void | solve (ConstVectorViewType b, VectorViewType x) const override
| This method applies the preconditioner.
void | update (const MatrixPointer &matrixPointer) override
| This method updates the preconditioner with respect to given matrix.
Public Member Functions inherited from TNL::Solvers::Linear::Preconditioners::Preconditioner< Matrix >
virtual | ~Preconditioner ()=default
| Destructor of the preconditioner.

## Static Protected Member Functions
template<typename M>
static IndexType | getMinColumn (const M &m)
template<typename M>
static IndexType | getMinColumn (const Matrices::DistributedMatrix< M > &m)

## Protected Attributes
Matrices::SparseMatrix< RealType, DeviceType, IndexType, Matrices::GeneralMatrix, Algorithms::Segments::CSR > | L
Index | p = 0
Real | tau = 1e-4
Matrices::SparseMatrix< RealType, DeviceType, IndexType, Matrices::GeneralMatrix, Algorithms::Segments::CSR > | U

## Additional Inherited Members
Static Public Member Functions inherited from TNL::Solvers::Linear::Preconditioners::Preconditioner< Matrix >
static void | configSetup (Config::ConfigDescription &config, const String &prefix="")
| This method defines configuration entries for setup of the preconditioner of linear iterative solver.

## Member Function Documentation

## ◆ setup()

template<typename Matrix, typename Real, typename Index>

bool TNL::Solvers::Linear::Preconditioners::ILUT_impl< Matrix, Real, Devices::Host, Index >::setup | ( | const Config::ParameterContainer & | parameters,
|  | const String & | prefix = "" )
| overridevirtual

Method for setup of the preconditioner of linear iterative solver based on configuration parameters.

Parameters

  parameters | contains values of the define configuration entries.
  prefix | is a prefix of particular configuration entries.

Reimplemented from TNL::Solvers::Linear::Preconditioners::Preconditioner< Matrix >.

## ◆ solve()

template<typename Matrix, typename Real, typename Index>

void TNL::Solvers::Linear::Preconditioners::ILUT_impl< Matrix, Real, Devices::Host, Index >::solve | ( | ConstVectorViewType | b,
|  | VectorViewType | x ) const
| overridevirtual

This method applies the preconditioner.

Parameters

  b | is the input vector the preconditioner is applied on.
  x | is the result of the preconditioning.

Reimplemented from TNL::Solvers::Linear::Preconditioners::Preconditioner< Matrix >.

## ◆ update()

template<typename Matrix, typename Real, typename Index>

void TNL::Solvers::Linear::Preconditioners::ILUT_impl< Matrix, Real, Devices::Host, Index >::update | ( | const MatrixPointer & | matrixPointer | ) |
| overridevirtual

This method updates the preconditioner with respect to given matrix.

Parameters

  matrixPointer | smart pointer (std::shared_ptr) to matrix the preconditioner is related to.

Reimplemented from TNL::Solvers::Linear::Preconditioners::Preconditioner< Matrix >.

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

- src/TNL/Solvers/Linear/Preconditioners/ILUT.h