Ginkgo Generated from branch based on master. Ginkgo version 1.8.0
A numerical linear algebra library targeting many-core architectures
Loading...
Searching...
No Matches
gko::experimental::factorization::Lu< ValueType, IndexType >::parameters_type Struct Reference
Inheritance diagram for gko::experimental::factorization::Lu< ValueType, IndexType >::parameters_type:
[legend]
Collaboration diagram for gko::experimental::factorization::Lu< ValueType, IndexType >::parameters_type:
[legend]

Public Member Functions

template<typename... Args>
auto with_symbolic_factorization (Args &&... _value) -> std::decay_t< decltype(*(this->self()))> &
 
template<typename... Args>
auto with_symbolic_algorithm (Args &&... _value) -> std::decay_t< decltype(*(this->self()))> &
 
template<typename... Args>
auto with_skip_sorting (Args &&... _value) -> std::decay_t< decltype(*(this->self()))> &
 
- Public Member Functions inherited from gko::enable_parameters_type< parameters_type, Lu >
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< Lu > on (std::shared_ptr< const Executor > exec) const
 Creates a new factory on the specified executor.
 

Public Attributes

std::shared_ptr< const sparsity_pattern_typesymbolic_factorization {nullptr}
 The combined sparsity pattern L + U of the factors L and U.
 
symbolic_type symbolic_algorithm {symbolic_type::general}
 If the symbolic factorization of the matrix is not provided to the factory, this parameter controls which algorithm will be used to compute it.
 
bool skip_sorting {false}
 The system_matrix, which will be given to this factory, must be sorted (first by row, then by column) in order for the algorithm to work.
 

Additional Inherited Members

- Public Types inherited from gko::enable_parameters_type< parameters_type, Lu >
using factory
 

Member Data Documentation

◆ skip_sorting

template<typename ValueType , typename IndexType >
bool gko::experimental::factorization::Lu< ValueType, IndexType >::parameters_type::skip_sorting {false}

The system_matrix, which will be given to this factory, must be sorted (first by row, then by column) in order for the algorithm to work.

If it is known that the matrix will be sorted, this parameter can be set to true to skip the sorting (therefore, shortening the runtime). However, if it is unknown or if the matrix is known to be not sorted, it must remain false, otherwise, the algorithm may produce incorrect results or crash.

◆ symbolic_algorithm

template<typename ValueType , typename IndexType >
symbolic_type gko::experimental::factorization::Lu< ValueType, IndexType >::parameters_type::symbolic_algorithm {symbolic_type::general}

If the symbolic factorization of the matrix is not provided to the factory, this parameter controls which algorithm will be used to compute it.

Note
Only use symbolic_factorization_algorithm::symmetric if you are sure your matrix has a symmetric sparsity pattern!

◆ symbolic_factorization

template<typename ValueType , typename IndexType >
std::shared_ptr<const sparsity_pattern_type> gko::experimental::factorization::Lu< ValueType, IndexType >::parameters_type::symbolic_factorization {nullptr}

The combined sparsity pattern L + U of the factors L and U.

It can be used to avoid the potentially costly symbolic factorization of the system matrix if its symbolic factorization is already known. If it is set to nullptr, the symbolic factorization will be computed.

Note
Currently, the symbolic factorization needs to be provided if the system matrix does not have a symmetric sparsity pattern.

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