EnableApplyWithInitialGuess< DerivedType > Class Template Reference

EnableApplyWithInitialGuess&lt; DerivedType &gt; Class Template Reference#

Reference API: gko::solver::EnableApplyWithInitialGuess< DerivedType > Class Template Reference
Reference API
gko::solver::EnableApplyWithInitialGuess< DerivedType > Class Template Referenceabstract

#include <ginkgo/core/solver/solver_base.hpp>

Inheritance diagram for gko::solver::EnableApplyWithInitialGuess< DerivedType >:
[legend]

Protected Member Functions

 EnableApplyWithInitialGuess (initial_guess_mode guess=initial_guess_mode::provided)
 
void apply_with_initial_guess (const LinOp *b, LinOp *x, initial_guess_mode guess) const override
 
void apply_with_initial_guess (const LinOp *alpha, const LinOp *b, const LinOp *beta, LinOp *x, initial_guess_mode guess) const override
 
virtual void apply_with_initial_guess_impl (const LinOp *b, LinOp *x, initial_guess_mode guess) const =0
 
virtual void apply_with_initial_guess_impl (const LinOp *alpha, const LinOp *b, const LinOp *beta, LinOp *x, initial_guess_mode guess) const =0
 
DerivedType * self () noexcept
 
const DerivedType * self () const noexcept
 
- Protected Member Functions inherited from gko::solver::ApplyWithInitialGuess
void apply_with_initial_guess (ptr_param< const LinOp > b, ptr_param< LinOp > x, initial_guess_mode guess) const
 
void apply_with_initial_guess (ptr_param< const LinOp > alpha, ptr_param< const LinOp > b, ptr_param< const LinOp > beta, ptr_param< LinOp > x, initial_guess_mode guess) const
 
initial_guess_mode get_default_initial_guess () const
 
 ApplyWithInitialGuess (initial_guess_mode guess=initial_guess_mode::provided)
 
void set_default_initial_guess (initial_guess_mode guess)
 

Detailed Description

template<typename DerivedType>
class gko::solver::EnableApplyWithInitialGuess< DerivedType >

EnableApplyWithInitialGuess providing default operation for ApplyWithInitialGuess with correct validation and log. It ensures that vectors of apply_with_initial_guess will always have the same executor as the object this mixin is used in, creating a clone on the correct executor if necessary.

Template Parameters
DerivedTypeThe type that this Mixin is used in. It must provide get_size() and get_executor() functions that return correctly initialized values and the logger functionality.

Member Function Documentation

◆ apply_with_initial_guess() [1/2]

template<typename DerivedType >
void gko::solver::EnableApplyWithInitialGuess< DerivedType >::apply_with_initial_guess ( const LinOp alpha,
const LinOp b,
const LinOp beta,
LinOp x,
initial_guess_mode  guess 
) const
inlineoverrideprotectedvirtual

◆ apply_with_initial_guess() [2/2]

template<typename DerivedType >
void gko::solver::EnableApplyWithInitialGuess< DerivedType >::apply_with_initial_guess ( const LinOp b,
LinOp x,
initial_guess_mode  guess 
) const
inlineoverrideprotectedvirtual

◆ apply_with_initial_guess_impl() [1/2]

template<typename DerivedType >
virtual void gko::solver::EnableApplyWithInitialGuess< DerivedType >::apply_with_initial_guess_impl ( const LinOp alpha,
const LinOp b,
const LinOp beta,
LinOp x,
initial_guess_mode  guess 
) const
protectedpure virtual

The class should override this method and must modify the input vectors according to the initial_guess_mode

Implemented in gko::solver::Ir< ValueType >, and gko::solver::Multigrid.

◆ apply_with_initial_guess_impl() [2/2]

template<typename DerivedType >
virtual void gko::solver::EnableApplyWithInitialGuess< DerivedType >::apply_with_initial_guess_impl ( const LinOp b,
LinOp x,
initial_guess_mode  guess 
) const
protectedpure virtual

The class should override this method and must modify the input vectors according to the initial_guess_mode

Implemented in gko::solver::Ir< ValueType >, and gko::solver::Multigrid.

Referenced by gko::solver::EnableApplyWithInitialGuess< DerivedType >::apply_with_initial_guess(), and gko::solver::EnableApplyWithInitialGuess< DerivedType >::apply_with_initial_guess().


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