|
Template Numerical Library version\ main:351d08c5f
|
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 ¶meters, 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. | |
|
overridevirtual |
Method for setup of the preconditioner of linear iterative solver based on configuration 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 >.
|
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 >.