Grid 0.7.0
ConjugateGradientPolynomial< Field > Class Template Reference

#include <ConjugateGradient.h>

Inheritance diagram for ConjugateGradientPolynomial< Field >:
ConjugateGradient< Field > OperatorFunction< Field >

Public Member Functions

 ConjugateGradientPolynomial (RealD tol, Integer maxit, bool err_on_no_conv=true)
void PolyHermOp (LinearOperatorBase< Field > &Linop, const Field &src, Field &psi)
void CGsequenceHermOp (LinearOperatorBase< Field > &Linop, const Field &src, Field &x)
void Solve (LinearOperatorBase< Field > &Linop, const Field &src, Field &psi)
virtual void LogBegin (void)
virtual void LogIteration (int k, RealD a, RealD b)
void operator() (LinearOperatorBase< Field > &Linop, const Field &src, Field &psi)
virtual void operator() (LinearOperatorBase< Field > &Linop, const std::vector< Field > &in, std::vector< Field > &out)

Data Fields

std::vector< double > ak
std::vector< double > bk
std::vector< double > poly_p
std::vector< double > poly_r
std::vector< double > poly_Ap
std::vector< double > polynomial
bool ErrorOnNoConverge
RealD Tolerance
Integer MaxIterations
Integer IterationsToComplete
RealD TrueResidual

Detailed Description

template<class Field>
class ConjugateGradientPolynomial< Field >

Definition at line 262 of file ConjugateGradient.h.

Constructor & Destructor Documentation

◆ ConjugateGradientPolynomial()

template<class Field>
ConjugateGradientPolynomial< Field >::ConjugateGradientPolynomial ( RealD tol,
Integer maxit,
bool err_on_no_conv = true )
inline

Member Function Documentation

◆ PolyHermOp()

template<class Field>
void ConjugateGradientPolynomial< Field >::PolyHermOp ( LinearOperatorBase< Field > & Linop,
const Field & src,
Field & psi )
inline

Definition at line 276 of file ConjugateGradient.h.

References LinearOperatorBase< Field >::HermOp(), and polynomial.

◆ CGsequenceHermOp()

template<class Field>
void ConjugateGradientPolynomial< Field >::CGsequenceHermOp ( LinearOperatorBase< Field > & Linop,
const Field & src,
Field & x )
inline

Definition at line 288 of file ConjugateGradient.h.

References ak, bk, and LinearOperatorBase< Field >::HermOp().

◆ Solve()

template<class Field>
void ConjugateGradientPolynomial< Field >::Solve ( LinearOperatorBase< Field > & Linop,
const Field & src,
Field & psi )
inline

Definition at line 304 of file ConjugateGradient.h.

References ConjugateGradient< Field >::operator()().

◆ LogBegin()

template<class Field>
virtual void ConjugateGradientPolynomial< Field >::LogBegin ( void )
inlinevirtual

Reimplemented from ConjugateGradient< Field >.

Definition at line 309 of file ConjugateGradient.h.

References ak, bk, poly_Ap, poly_p, poly_r, and polynomial.

◆ LogIteration()

template<class Field>
virtual void ConjugateGradientPolynomial< Field >::LogIteration ( int k,
RealD a,
RealD b )
inlinevirtual

Reimplemented from ConjugateGradient< Field >.

Definition at line 322 of file ConjugateGradient.h.

References ak, bk, poly_Ap, poly_p, poly_r, and polynomial.

◆ operator()() [1/2]

◆ operator()() [2/2]

template<class Field>
virtual void OperatorFunction< Field >::operator() ( LinearOperatorBase< Field > & Linop,
const std::vector< Field > & in,
std::vector< Field > & out )
inlinevirtualinherited

Reimplemented in BlockConjugateGradient< Field >.

Definition at line 625 of file LinearOperator.h.

Field Documentation

◆ ak

template<class Field>
std::vector<double> ConjugateGradientPolynomial< Field >::ak

Definition at line 265 of file ConjugateGradient.h.

Referenced by CGsequenceHermOp(), LogBegin(), and LogIteration().

◆ bk

template<class Field>
std::vector<double> ConjugateGradientPolynomial< Field >::bk

Definition at line 266 of file ConjugateGradient.h.

Referenced by CGsequenceHermOp(), LogBegin(), and LogIteration().

◆ poly_p

template<class Field>
std::vector<double> ConjugateGradientPolynomial< Field >::poly_p

Definition at line 267 of file ConjugateGradient.h.

Referenced by LogBegin(), and LogIteration().

◆ poly_r

template<class Field>
std::vector<double> ConjugateGradientPolynomial< Field >::poly_r

Definition at line 268 of file ConjugateGradient.h.

Referenced by LogBegin(), and LogIteration().

◆ poly_Ap

template<class Field>
std::vector<double> ConjugateGradientPolynomial< Field >::poly_Ap

Definition at line 269 of file ConjugateGradient.h.

Referenced by LogBegin(), and LogIteration().

◆ polynomial

template<class Field>
std::vector<double> ConjugateGradientPolynomial< Field >::polynomial

Definition at line 270 of file ConjugateGradient.h.

Referenced by LogBegin(), LogIteration(), and PolyHermOp().

◆ ErrorOnNoConverge

◆ Tolerance

◆ MaxIterations

template<class Field>
Integer ConjugateGradient< Field >::MaxIterations
inherited

Definition at line 51 of file ConjugateGradient.h.

Referenced by ConjugateGradient(), and operator()().

◆ IterationsToComplete

◆ TrueResidual

template<class Field>
RealD ConjugateGradient< Field >::TrueResidual
inherited

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