Ginkgo  Generated from pipelines/2662685947 branch based on develop. Ginkgo version 2.0.0
A numerical linear algebra library targeting many-core architectures
Classes | Public Types | Public Member Functions | Static Public Member Functions | List of all members
gko::stop::ResidualNorm< ValueType > Class Template Reference

The ResidualNorm class is a stopping criterion which stops the iteration process when the actual residual norm is below a certain threshold relative to. More...

#include <ginkgo/core/stop/residual_norm.hpp>

Inheritance diagram for gko::stop::ResidualNorm< ValueType >:
[legend]
Collaboration diagram for gko::stop::ResidualNorm< ValueType >:
[legend]

Classes

class  Factory
 
struct  parameters_type
 

Public Types

using ComplexVector = matrix::Dense< to_complex< ValueType > >
 
using NormVector = matrix::Dense< remove_complex< ValueType > >
 
using Vector = matrix::Dense< ValueType >
 

Public Member Functions

const parameters_typeget_parameters () const
 
- Public Member Functions inherited from gko::stop::Criterion
Updater update ()
 Returns the updater object. More...
 
bool check (uint8 stopping_id, bool set_finalized, array< stopping_status > *stop_status, bool *one_changed, const Updater &updater)
 This checks whether convergence was reached for a certain criterion. More...
 
- Public Member Functions inherited from gko::PolymorphicObject
PolymorphicObjectoperator= (const PolymorphicObject &)
 
std::shared_ptr< const Executorget_executor () const noexcept
 Returns the Executor of the object. More...
 
- Public Member Functions inherited from gko::log::EnableLogging< PolymorphicObject >
void add_logger (std::shared_ptr< const Logger > logger) override
 
void remove_logger (const Logger *logger) override
 
void remove_logger (ptr_param< const Logger > logger)
 
const std::vector< std::shared_ptr< const Logger > > & get_loggers () const override
 
void clear_loggers () override
 
- Public Member Functions inherited from gko::log::Loggable
void remove_logger (ptr_param< const Logger > logger)
 

Static Public Member Functions

static auto build () -> decltype(Factory ::create())
 

Detailed Description

template<typename ValueType = default_precision>
class gko::stop::ResidualNorm< ValueType >

The ResidualNorm class is a stopping criterion which stops the iteration process when the actual residual norm is below a certain threshold relative to.

  1. the norm of the right-hand side, norm(residual) $\leq$ < threshold * norm(right_hand_side).
  2. the initial residual, norm(residual) $\leq$ threshold * norm(initial_residual).
  3. one, norm(residual) $\leq$ threshold.

For better performance, the checks are run on the executor where the algorithm is executed.

Note
To use this stopping criterion there are some dependencies. The constructor depends on either b or the initial_residual in order to compute their norms. If this is not correctly provided, an exception ::gko::NotSupported() is thrown.

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