Ginkgo: gko::experimental::factorization::Lu< ValueType, IndexType > Class Template 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::experimental::factorization::Lu< ValueType, IndexType > Class Template Reference

Computes an LU factorization of a sparse matrix. More...

`#include <ginkgo/core/factorization/lu.hpp>`

Inheritance diagram for gko::experimental::factorization::Lu< ValueType, IndexType >:
[legend]
Collaboration diagram for gko::experimental::factorization::Lu< ValueType, IndexType >:
[legend]

## Classes
struct | parameters_type

## Public Types
using | value_type = ValueType
using | index_type = IndexType
using | matrix_type = matrix::Csr<value_type, index_type>
using | sparsity_pattern_type = matrix::SparsityCsr<value_type, index_type>
using | factorization_type = Factorization<value_type, index_type>
Public Types inherited from gko::EnablePolymorphicAssignment< Lu< ValueType, IndexType > >
using | result_type

## Public Member Functions
const parameters_type & | get_parameters ()
| Returns the parameters used to construct the factory.
const parameters_type & | get_parameters () const
| Returns the parameters used to construct the factory.
std::unique_ptr< factorization_type > | generate (std::shared_ptr< const LinOp > system_matrix) const
| Creates a new product from the given components.
Public Member Functions inherited from gko::EnablePolymorphicAssignment< Lu< ValueType, IndexType > >
void | convert_to (result_type *result) const override
void | move_to (result_type *result) override

## Static Public Member Functions
static parameters_type | build ()
| Creates a new parameter_type to set up the factory.
static parameters_type | parse (const config::pnode &config, const config::registry &context, const config::type_descriptor &td_for_child=config::make_type_descriptor< ValueType, IndexType >())
| Create the parameters from the property_tree.

## Friends
class | EnablePolymorphicObject< Lu, LinOpFactory >
class | enable_parameters_type< parameters_type, Lu >

## Detailed Description

template<typename ValueType, typename IndexType>
class gko::experimental::factorization::Lu< ValueType, IndexType >

Computes an LU factorization of a sparse matrix.

This LinOpFactory returns a Factorization storing the L and U factors for the provided system matrix in matrix::Csr format. If no symbolic factorization is provided, it will be computed first. It expects all fill-in entries to be present in the symbolic factorization. If the symbolic factorization is missing some entries, please refer to Ilu.

Template Parameters

  ValueType | the type used to store values of the system matrix
  IndexType | the type used to store sparsity pattern indices of the system matrix

## Member Function Documentation

## ◆ generate()

template<typename ValueType, typename IndexType>

std::unique_ptr< factorization_type > gko::experimental::factorization::Lu< ValueType, IndexType >::generate | ( | std::shared_ptr< const LinOp > | system_matrix | ) | const

Creates a new product from the given components.

The method will create an ComponentsType object from the arguments of this method, and pass it to the generate_impl() function which will create a new AbstractProductType.

Template Parameters

  Args | types of arguments passed to the constructor of ComponentsType

Parameters

  args | arguments passed to the constructor of ComponentsType

Returns
  an instance of AbstractProductType

Note
  This function overrides the default LinOpFactory::generate to return a Factorization instead of a generic LinOp, which would need to be cast to Factorization again to access its factors. It is only necessary because smart pointers aren't covariant.

## ◆ get_parameters() [1/2]

template<typename ValueType, typename IndexType>

const parameters_type & gko::experimental::factorization::Lu< ValueType, IndexType >::get_parameters | ( |  | ) |
| inline

Returns the parameters used to construct the factory.

Returns
  the parameters used to construct the factory.

## ◆ get_parameters() [2/2]

template<typename ValueType, typename IndexType>

const parameters_type & gko::experimental::factorization::Lu< ValueType, IndexType >::get_parameters | ( |  | ) | const
| inline

Returns the parameters used to construct the factory.

Returns
  the parameters used to construct the factory.

## ◆ parse()

template<typename ValueType, typename IndexType>

parameters_type gko::experimental::factorization::Lu< ValueType, IndexType >::parse | ( | const config::pnode & | config,
|  | const config::registry & | context,
|  | const config::type_descriptor & | td_for_child = config::make_type_descriptor< ValueType, IndexType >() )
| static

Create the parameters from the property_tree.

Because this is directly tied to the specific type, the value/index type settings within config are ignored and type_descriptor is only used for children configs.

Parameters

  config | the property tree for setting
  context | the registry
  td_for_child | the type descriptor for children configs. The default uses the value/index type of this class.

Returns
  parameters

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

- ginkgo/core/factorization/lu.hpp