![]() |
Ginkgo
Generated from pipelines/2662685947 branch based on develop. Ginkgo version 2.0.0
A numerical linear algebra library targeting many-core architectures
|
This class generates the (S)SOR preconditioner. More...
#include <ginkgo/core/preconditioner/sor.hpp>
Classes | |
| struct | parameters_type |
Public Types | |
| using | value_type = ValueType |
| using | index_type = IndexType |
| using | composition_type = Composition< ValueType > |
Public Member Functions | |
| const parameters_type & | get_parameters () |
| Returns the parameters used to construct the factory. More... | |
| const parameters_type & | get_parameters () const |
| Returns the parameters used to construct the factory. More... | |
| std::unique_ptr< composition_type > | generate (std::shared_ptr< const LinOp > system_matrix) const |
Public Member Functions inherited from gko::LinOpFactory | |
| std::unique_ptr< LinOp > | generate (std::shared_ptr< const LinOp > input) const |
Public Member Functions inherited from gko::PolymorphicObject | |
| PolymorphicObject & | operator= (const PolymorphicObject &) |
| std::shared_ptr< const Executor > | get_executor () const noexcept |
| Returns the Executor of the object. More... | |
Public Member Functions inherited from gko::log::EnableLogging< PolymorphicObject > | |
| void | add_logger (std::shared_ptr< const Logger > logger) override |
| void | remove_logger (const Logger *logger) override |
| void | remove_logger (ptr_param< const Logger > logger) |
| const std::vector< std::shared_ptr< const Logger > > & | get_loggers () const override |
| void | clear_loggers () override |
Public Member Functions inherited from gko::log::Loggable | |
| void | remove_logger (ptr_param< const Logger > logger) |
Static Public Member Functions | |
| static parameters_type | build () |
| Creates a new parameter_type to set up the factory. | |
| static parameters_type | parse (const config::pnode &config, const config::registry &context, const config::type_descriptor &td_for_child=config::make_type_descriptor< ValueType, IndexType >()) |
Friends | |
| class | enable_parameters_type< parameters_type, Sor > |
This class generates the (S)SOR preconditioner.
The SOR preconditioner starts from a splitting of the the matrix
into
, where
contains all entries below the diagonal, and
contains all entries above the diagonal. The application of the preconditioner is then defined as solving
with
is known as the relaxation factor. The preconditioner can be made symmetric, leading to the SSOR preconitioner. Here,
is defined as
A detailed description can be found in Iterative Methods for Sparse Linear Systems (Y. Saad) ch. 4.1.
This class is a factory, which will only generate the preconditioner. The resulting LinOp will represent the application of
.
| ValueType | The value type of the internally used CSR matrix |
| IndexType | The index type of the internally used CSR matrix |
| std::unique_ptr<composition_type> gko::preconditioner::Sor< ValueType, IndexType >::generate | ( | std::shared_ptr< const LinOp > | system_matrix | ) | const |
|
inline |
Returns the parameters used to construct the factory.
|
inline |
Returns the parameters used to construct the factory.
1.8.16