Ginkgo: gko::experimental::reorder::Amd< 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::reorder::Amd< IndexType > Class Template Reference

Computes a Approximate Minimum Degree (AMD) reordering of an input matrix. More...

`#include <ginkgo/core/reorder/amd.hpp>`

Inheritance diagram for gko::experimental::reorder::Amd< IndexType >:
[legend]
Collaboration diagram for gko::experimental::reorder::Amd< IndexType >:
[legend]

## Classes
struct | parameters_type

## Public Types
using | index_type = IndexType
using | permutation_type = matrix::Permutation<index_type>
Public Types inherited from gko::EnablePolymorphicAssignment< Amd< int32 > >
using | result_type

## Public Member Functions
const parameters_type & | get_parameters ()
| Returns the parameters used to construct the factory.
std::unique_ptr< permutation_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< Amd< int32 > >
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.

## Friends
class | EnablePolymorphicObject< Amd< IndexType >, LinOpFactory >
class | enable_parameters_type< parameters_type, Amd< IndexType > >

## Detailed Description

template<typename IndexType = int32>
class gko::experimental::reorder::Amd< IndexType >

Computes a Approximate Minimum Degree (AMD) reordering of an input matrix.

Template Parameters

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

## Member Function Documentation

## ◆ generate()

template<typename IndexType = int32>

std::unique_ptr< permutation_type > gko::experimental::reorder::Amd< 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 Permutation instead of a generic LinOp, which would need to be cast to Permutation again to access its indices. It is only necessary because smart pointers aren't covariant.

## ◆ get_parameters()

template<typename IndexType = int32>

const parameters_type & gko::experimental::reorder::Amd< IndexType >::get_parameters | ( |  | ) |
| inline

Returns the parameters used to construct the factory.

Returns
  the parameters used to construct the factory.

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

- ginkgo/core/reorder/amd.hpp