![]() |
Ginkgo Generated from branch based on master. Ginkgo version 1.8.0
A numerical linear algebra library targeting many-core architectures
|
Public Member Functions | |
template<typename... Args> | |
auto | with_subspace_dim (Args &&... _value) -> std::decay_t< decltype(*(this->self()))> & |
template<typename... Args> | |
auto | with_kappa (Args &&... _value) -> std::decay_t< decltype(*(this->self()))> & |
template<typename... Args> | |
auto | with_deterministic (Args &&... _value) -> std::decay_t< decltype(*(this->self()))> & |
template<typename... Args> | |
auto | with_complex_subspace (Args &&... _value) -> std::decay_t< decltype(*(this->self()))> & |
![]() | |
auto | with_preconditioner (::gko::deferred_factory_parameter< preconditioner_type > factory) -> std::decay_t< decltype(*(this->self()))> & |
auto | with_generated_preconditioner (Args &&... _value) -> std::decay_t< decltype(*(this->self()))> & |
![]() | |
auto | with_criteria (Args &&... factories) -> std::decay_t< decltype(*(this->self()))> & |
auto | with_criteria (const std::vector< FactoryType > &factories) -> std::decay_t< decltype(*(this->self()))> & |
![]() | |
parameters_type & | with_loggers (Args &&... _value) |
Provides the loggers to be added to the factory and its generated objects in a fluent interface. | |
std::unique_ptr< Factory > | on (std::shared_ptr< const Executor > exec) const |
Creates a new factory on the specified executor. | |
Public Attributes | |
size_type | subspace_dim {2u} |
Dimension of the subspace S. | |
remove_complex< ValueType > | kappa {0.7} |
Threshold to determine if Av_n and v_n are too close to being perpendicular. | |
bool | deterministic {false} |
If set to true, the vectors spanning the subspace S are chosen deterministically. | |
bool | complex_subspace {false} |
If set to true, IDR will use a complex subspace S also for real problems, allowing for faster convergence and better results by acknowledging the influence of complex eigenvectors. | |
![]() | |
std::shared_ptr< const LinOpFactory > | preconditioner |
The preconditioner to be used by the iterative solver. | |
std::shared_ptr< const LinOp > | generated_preconditioner |
Already generated preconditioner. | |
![]() | |
std::vector< std::shared_ptr< const stop::CriterionFactory > > | criteria |
Stopping criteria to be used by the solver. | |
Additional Inherited Members | |
![]() | |
using | factory |
bool gko::solver::Idr< ValueType >::parameters_type::complex_subspace {false} |
If set to true, IDR will use a complex subspace S also for real problems, allowing for faster convergence and better results by acknowledging the influence of complex eigenvectors.
The default is false.
Referenced by gko::solver::Idr< ValueType >::get_complex_subspace(), and gko::solver::Idr< ValueType >::set_complex_subspace().
bool gko::solver::Idr< ValueType >::parameters_type::deterministic {false} |
If set to true, the vectors spanning the subspace S are chosen deterministically.
This is mostly needed for testing purposes.
Note: If 'deterministic' is set to true, the subspace vectors are generated in serial on the CPU, which can be very slow.
The default behaviour is to choose the subspace vectors randomly.
Referenced by gko::solver::Idr< ValueType >::get_deterministic(), and gko::solver::Idr< ValueType >::set_deterministic().
remove_complex<ValueType> gko::solver::Idr< ValueType >::parameters_type::kappa {0.7} |
Threshold to determine if Av_n and v_n are too close to being perpendicular.
This is considered to be the case if
Referenced by gko::solver::Idr< ValueType >::get_kappa(), and gko::solver::Idr< ValueType >::set_kappa().
size_type gko::solver::Idr< ValueType >::parameters_type::subspace_dim {2u} |
Dimension of the subspace S.
Determines how many intermediate residuals are computed in each iteration.
Referenced by gko::solver::Idr< ValueType >::get_subspace_dim(), and gko::solver::Idr< ValueType >::set_subspace_dim().