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.
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.
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
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.