KASKADE 7 development version
Public Types | Public Member Functions | List of all members
Kaskade::PCGCountingTerminationCriterion< R > Class Template Referenceabstract

PCG termination after a given number of iterations. More...

#include <apcg.hh>

Detailed Description

template<class R>
class Kaskade::PCGCountingTerminationCriterion< R >

PCG termination after a given number of iterations.

Template Parameters
Ra floating point type for real numbers

Definition at line 108 of file linalg/apcg.hh.

Inheritance diagram for Kaskade::PCGCountingTerminationCriterion< R >:
Kaskade::PCGTerminationCriterion< R >

Public Types

typedef R Real
 real field type More...
 

Public Member Functions

 PCGCountingTerminationCriterion (int n_)
 Constructor. More...
 
virtual void clear ()
 re-initializes the termination criterion for a new IterateType::CG run More...
 
virtual PCGTerminationCriterion< R > & tolerance (Real)
 unused More...
 
virtual void step (Real)
 supplies energy of step to the termination criterion More...
 
virtual void residual (Real)
 unused More...
 
virtual operator bool () const
 termination decision More...
 
virtual operator bool ()=0
 termination decision More...
 
virtual void setTolerance (Real tol)=0
 set requested tolerance More...
 
virtual void setLookAhead (int lah)=0
 set requested look-ahead count More...
 
virtual void addStepQuantities (Real stepLength, Real qAq, Real qPq, Real rPINVr)=0
 addStepQuantities supplies algorithmic quantities to the termination criterion More...
 
virtual int getMaxIterationSteps ()=0
 get the maximum number of allowed iteration steps More...
 
virtual bool minimalDecreaseAchieved ()
 

Member Typedef Documentation

◆ Real

template<class R >
typedef R Kaskade::PCGCountingTerminationCriterion< R >::Real

real field type

Definition at line 114 of file linalg/apcg.hh.

Constructor & Destructor Documentation

◆ PCGCountingTerminationCriterion()

template<class R >
Kaskade::PCGCountingTerminationCriterion< R >::PCGCountingTerminationCriterion ( int  n_)
inline

Constructor.

Definition at line 119 of file linalg/apcg.hh.

Member Function Documentation

◆ addStepQuantities()

template<class R >
virtual void Kaskade::PCGTerminationCriterion< R >::addStepQuantities ( Real  stepLength,
Real  qAq,
Real  qPq,
Real  rPINVr 
)
pure virtualinherited

addStepQuantities supplies algorithmic quantities to the termination criterion

Parameters
stepLengthscaling for the conjugate search direction \(q\)
qAqsquared energy norm of the conjugate search direction \(q\)
qPqsquared \(P\)-norm, i. e. the norm induced by the preconditioner, of the conjugate search direction \(q\)
rPINVrsquared \(P^{-1}\)-norm of the residual

Implemented in Kaskade::StrakosTichyPTerminationCriterion< R >, and Kaskade::StrakosTichyEnergyErrorTerminationCriterion< R >.

◆ clear()

template<class R >
virtual void Kaskade::PCGCountingTerminationCriterion< R >::clear ( )
inlinevirtual

re-initializes the termination criterion for a new IterateType::CG run

Implements Kaskade::PCGTerminationCriterion< R >.

Definition at line 126 of file linalg/apcg.hh.

◆ getMaxIterationSteps()

template<class R >
virtual int Kaskade::PCGTerminationCriterion< R >::getMaxIterationSteps ( )
pure virtualinherited

◆ minimalDecreaseAchieved()

template<class R >
virtual bool Kaskade::PCGTerminationCriterion< R >::minimalDecreaseAchieved ( )
inlinevirtualinherited

◆ operator bool() [1/2]

template<class R >
virtual Kaskade::PCGCountingTerminationCriterion< R >::operator bool ( ) const
inlinevirtual

termination decision

Returns
true if the iteration has reached the required accuracy

Implements Kaskade::PCGTerminationCriterion< R >.

Definition at line 157 of file linalg/apcg.hh.

◆ operator bool() [2/2]

template<class R >
virtual Kaskade::PCGTerminationCriterion< R >::operator bool ( )
pure virtualinherited

termination decision

Returns
true if the iteration has reached the required accuracy

Implemented in Kaskade::StrakosTichyEnergyErrorTerminationCriterion< R >, and Kaskade::StrakosTichyPTerminationCriterion< R >.

◆ residual()

template<class R >
virtual void Kaskade::PCGCountingTerminationCriterion< R >::residual ( Real  )
inlinevirtual

unused

Implements Kaskade::PCGTerminationCriterion< R >.

Definition at line 150 of file linalg/apcg.hh.

◆ setLookAhead()

template<class R >
virtual void Kaskade::PCGTerminationCriterion< R >::setLookAhead ( int  lah)
pure virtualinherited

set requested look-ahead count

Parameters
lahthe requested look-ahead count (positive integer)

Implemented in Kaskade::StrakosTichyEnergyErrorTerminationCriterion< R >, and Kaskade::StrakosTichyPTerminationCriterion< R >.

◆ setTolerance()

template<class R >
virtual void Kaskade::PCGTerminationCriterion< R >::setTolerance ( Real  tol)
pure virtualinherited

set requested tolerance

Parameters
tolthe requested tolerance (nonnegative)

Implemented in Kaskade::StrakosTichyEnergyErrorTerminationCriterion< R >, and Kaskade::StrakosTichyPTerminationCriterion< R >.

Referenced by Kaskade::CGBase< X, Xstar, impl, TimerPolicy, Functor >::apply().

◆ step()

template<class R >
virtual void Kaskade::PCGCountingTerminationCriterion< R >::step ( Real  )
inlinevirtual

supplies energy of step to the termination criterion

Implements Kaskade::PCGTerminationCriterion< R >.

Definition at line 142 of file linalg/apcg.hh.

◆ tolerance()

template<class R >
virtual PCGTerminationCriterion< R > & Kaskade::PCGCountingTerminationCriterion< R >::tolerance ( Real  )
inlinevirtual

unused

Implements Kaskade::PCGTerminationCriterion< R >.

Definition at line 134 of file linalg/apcg.hh.


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