Ginkgo: gko::preconditioner::Isai< IsaiType, ValueType, IndexType >::parameters_type Struct Reference

| Ginkgo Generated from branch based on main. Ginkgo version 1.11.0 A numerical linear algebra library targeting many-core architectures

Loading...
Searching...
No Matches
gko::preconditioner::Isai< IsaiType, ValueType, IndexType >::parameters_type Struct Reference
Inheritance diagram for gko::preconditioner::Isai< IsaiType, ValueType, IndexType >::parameters_type:
[legend]
Collaboration diagram for gko::preconditioner::Isai< IsaiType, ValueType, IndexType >::parameters_type:
[legend]

## Public Member Functions
template<typename... Args>
auto | with_skip_sorting (Args &&... _value) -> std::decay_t< decltype(*(this->self()))> &
template<typename... Args>
auto | with_sparsity_power (Args &&... _value) -> std::decay_t< decltype(*(this->self()))> &
template<typename... Args>
auto | with_excess_limit (Args &&... _value) -> std::decay_t< decltype(*(this->self()))> &
auto | with_excess_solver_factory (::gko::deferred_factory_parameter< excess_solver_factory_type > factory) -> std::decay_t< decltype(*(this->self()))> &
template<typename... Args>
auto | with_excess_solver_reduction (Args &&... _value) -> 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
bool | skip_sorting {false}
| Optimization parameter that skips the sorting of the input matrix (only skip if it is known that it is already sorted).
int | sparsity_power {1}
| Which power of the input matrix should be used for the sparsity pattern.
size_type | excess_limit {0u}
| Size limit for the excess system.
std::shared_ptr< const LinOpFactory > | excess_solver_factory {}
| Factory for the Excess System solver.
remove_complex< value_type > | excess_solver_reduction {static_cast<remove_complex<value_type>>(1e-6)}

## Additional Inherited Members
Public Types inherited from gko::enable_parameters_type< parameters_type, Factory >
using | factory

## Member Data Documentation

## ◆ excess_limit

template<isai_type IsaiType, typename ValueType, typename IndexType>

size_type gko::preconditioner::Isai< IsaiType, ValueType, IndexType >::parameters_type::excess_limit {0u}

Size limit for the excess system.

For rows with more than 32 nonzero entries, the algorithm builds up an excess system which is solved with sparse triangular solves (for upper or lower ISAI) or GMRES (for general ISAI). If this parameter is set to some m > 0, the excess system is solved as soon as its size supersedes m. This is repeated until the complete excess solution has been computed. Must be at least 0, default value 0.

## ◆ excess_solver_factory

template<isai_type IsaiType, typename ValueType, typename IndexType>

std::shared_ptr<const LinOpFactory> gko::preconditioner::Isai< IsaiType, ValueType, IndexType >::parameters_type::excess_solver_factory {}

Factory for the Excess System solver.

Defaults to using a triangular solver for upper and lower ISAI and to Block-Jacobi preconditioned GMRES for general and spd ISAI.

## ◆ skip_sorting

template<isai_type IsaiType, typename ValueType, typename IndexType>

bool gko::preconditioner::Isai< IsaiType, ValueType, IndexType >::parameters_type::skip_sorting {false}

Optimization parameter that skips the sorting of the input matrix (only skip if it is known that it is already sorted).

The algorithm to create the approximate inverses requires the input matrix to be sorted. If it is, this parameter can be set to true to skip the sorting for better performance.

## ◆ sparsity_power

template<isai_type IsaiType, typename ValueType, typename IndexType>

int gko::preconditioner::Isai< IsaiType, ValueType, IndexType >::parameters_type::sparsity_power {1}

Which power of the input matrix should be used for the sparsity pattern.

The algorithm symbolically computes M^n and uses this sparsity pattern for the sparse inverse. Must be at least 1, default value 1.

The documentation for this struct was generated from the following file:

- ginkgo/core/preconditioner/isai.hpp