|
Template Numerical Library version\ main:d08c4decc
|
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 auxiliary data will alloacted on. | |
| using | IndexType = Index |
| Type for indexing. | |
| using | RealType = Real |
| Floating point type used for computations. | |
| 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 | |
| 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. | |
| 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 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. | |
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 >.