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()))> & |
Public Member Functions inherited from gko::solver::enable_preconditioned_iterative_solver_factory_parameters< parameters_type, Factory > | |
| 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()))> & |
Public Member Functions inherited from gko::solver::enable_iterative_solver_factory_parameters< parameters_type, Factory > | |
| 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()))> & |
Public Member Functions inherited from gko::enable_parameters_type< parameters_type, Factory > | |
| 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. | |
Public Attributes inherited from gko::solver::enable_preconditioned_iterative_solver_factory_parameters< parameters_type, Factory > | |
| 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. | |
Public Attributes inherited from gko::solver::enable_iterative_solver_factory_parameters< parameters_type, Factory > | |
| std::vector< std::shared_ptr< const stop::CriterionFactory > > | criteria |
| Stopping criteria to be used by the solver. | |
Additional Inherited Members | |
Public Types inherited from gko::enable_parameters_type< parameters_type, Factory > | |
| 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.