Ginkgo  Generated from pipelines/1478841010 branch based on develop. Ginkgo version 1.9.0
A numerical linear algebra library targeting many-core architectures
Public Types | Public Member Functions | List of all members
gko::multigrid::EnableMultigridLevel< ValueType > Class Template Reference

The EnableMultigridLevel gives the default implementation of MultigridLevel with composition and provides set_multigrid_level function. More...

#include <ginkgo/core/multigrid/multigrid_level.hpp>

Inheritance diagram for gko::multigrid::EnableMultigridLevel< ValueType >:
[legend]
Collaboration diagram for gko::multigrid::EnableMultigridLevel< ValueType >:
[legend]

Public Types

using value_type = ValueType
 
- Public Types inherited from gko::UseComposition< ValueType >
using value_type = ValueType
 

Public Member Functions

std::shared_ptr< const LinOpget_fine_op () const override
 Returns the operator on fine level. More...
 
std::shared_ptr< const LinOpget_restrict_op () const override
 Returns the restrict operator. More...
 
std::shared_ptr< const LinOpget_coarse_op () const override
 Returns the operator on coarse level. More...
 
std::shared_ptr< const LinOpget_prolong_op () const override
 Returns the prolong operator. More...
 
- Public Member Functions inherited from gko::UseComposition< ValueType >
std::shared_ptr< Composition< ValueType > > get_composition () const
 Returns the composition operators. More...
 
std::shared_ptr< const LinOpget_operator_at (size_type index) const
 Returns the operator at index-th position of composition. More...
 

Detailed Description

template<typename ValueType>
class gko::multigrid::EnableMultigridLevel< ValueType >

The EnableMultigridLevel gives the default implementation of MultigridLevel with composition and provides set_multigrid_level function.

A class inherit from EnableMultigridLevel should use the this->get_compositions()->apply(...) as its own apply, which represents op(b) = prolong(coarse(restrict(b))).

Member Function Documentation

◆ get_coarse_op()

template<typename ValueType >
std::shared_ptr<const LinOp> gko::multigrid::EnableMultigridLevel< ValueType >::get_coarse_op ( ) const
inlineoverridevirtual

Returns the operator on coarse level.

Returns
the operator on coarse level.

Implements gko::multigrid::MultigridLevel.

References gko::UseComposition< ValueType >::get_operator_at().

◆ get_fine_op()

template<typename ValueType >
std::shared_ptr<const LinOp> gko::multigrid::EnableMultigridLevel< ValueType >::get_fine_op ( ) const
inlineoverridevirtual

Returns the operator on fine level.

Returns
the operator on fine level.

Implements gko::multigrid::MultigridLevel.

◆ get_prolong_op()

template<typename ValueType >
std::shared_ptr<const LinOp> gko::multigrid::EnableMultigridLevel< ValueType >::get_prolong_op ( ) const
inlineoverridevirtual

Returns the prolong operator.

Returns
the prolong operator.

Implements gko::multigrid::MultigridLevel.

References gko::UseComposition< ValueType >::get_operator_at().

◆ get_restrict_op()

template<typename ValueType >
std::shared_ptr<const LinOp> gko::multigrid::EnableMultigridLevel< ValueType >::get_restrict_op ( ) const
inlineoverridevirtual

Returns the restrict operator.

Returns
the restrict operator.

Implements gko::multigrid::MultigridLevel.

References gko::UseComposition< ValueType >::get_operator_at().


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