Template Numerical Library version\ main:94209208
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 >:
Inheritance graph
[legend]
Collaboration diagram for TNL::Solvers::Linear::Preconditioners::ILUT_impl< Matrix, Real, Devices::Host, Index >:
Collaboration graph
[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 auxillary 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 ()
 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::CSRL
 
Index p = 0
 
Real tau = 1e-4
 
Matrices::SparseMatrix< RealType, DeviceType, IndexType, Matrices::GeneralMatrix, Algorithms::Segments::CSRU
 

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
parameterscontains values of the define configuration entries.
prefixis 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
bis the input vector the preconditioner is applied on.
xis 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
matrixPointersmart 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 files: