Template Numerical Library version\ main:be918e6f
|
Implementation of a preconditioner based in Incomplete LU - specialization for CPU. More...
#include <TNL/Solvers/Linear/Preconditioners/ILU0.h>
Public Types | |
using | DeviceType = Devices::Host |
Device where the preconditioner will run on and auxillary data will alloacted on. | |
using | IndexType = Index |
Type for indexing. | |
using | RealType = Real |
Floating point type used for computations. | |
![]() | |
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 | |
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. | |
![]() | |
virtual | ~Preconditioner () |
Destructor of the preconditioner. | |
virtual bool | setup (const Config::ParameterContainer ¶meters, const String &prefix="") |
Method for setup of the preconditioner of linear iterative solver based on configuration parameters. | |
Protected Types | |
using | CSR = Matrices::SparseMatrix< RealType, DeviceType, IndexType, Matrices::GeneralMatrix, Algorithms::Segments::CSR > |
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 | |
CSR | L |
CSR | U |
Additional Inherited Members | |
![]() | |
static void | configSetup (Config::ConfigDescription &config, const String &prefix="") |
This method defines configuration entries for setup of the preconditioner of linear iterative solver. | |
Implementation of a preconditioner based in Incomplete LU - specialization for CPU.
See detailed description.
See TNL::Solvers::Linear::Preconditioners::Preconditioner for example of setup with a linear solver.
Matrix | is type of the matrix describing the linear system. |
|
overridevirtual |
This method applies the preconditioner.
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 >.
|
overridevirtual |
This method updates the preconditioner with respect to given matrix.
matrixPointer | smart pointer (std::shared_ptr) to matrix the preconditioner is related to. |
Reimplemented from TNL::Solvers::Linear::Preconditioners::Preconditioner< Matrix >.