Grid 0.7.0
ChebyshevLanczos< Field > Class Template Reference

#include <Chebyshev.h>

Inheritance diagram for ChebyshevLanczos< Field >:
Chebyshev< Field > OperatorFunction< Field >

Public Member Functions

 ChebyshevLanczos (RealD _alpha, RealD _beta, RealD _mu, int _order)
void csv (std::ostream &out)
RealD approx (RealD xx)
void AminusMuSq (LinearOperatorBase< Field > &Linop, const Field &in, Field &out)
void operator() (LinearOperatorBase< Field > &Linop, const Field &in, Field &out)
void PlotApprox (std::ostream &out)
void Init (RealD _lo, RealD _hi, int _order)
void Init (RealD _lo, RealD _hi, int _order, RealD(*func)(RealD))
template<class functor>
void Init (RealD _lo, RealD _hi, int _order, functor &func)
void InitLowPass (RealD _lo, RealD _hi, int _order)
void JacksonSmooth (void)
RealD approxD (RealD x)
RealD approxInv (RealD z, RealD x0, int maxiter, RealD resid)
virtual void operator() (LinearOperatorBase< Field > &Linop, const std::vector< Field > &in, std::vector< Field > &out)

Private Attributes

std::vector< RealDCoeffs
int order
RealD alpha
RealD beta
RealD mu
RealD hi
RealD lo

Detailed Description

template<class Field>
class ChebyshevLanczos< Field >

Definition at line 300 of file Chebyshev.h.

Constructor & Destructor Documentation

◆ ChebyshevLanczos()

template<class Field>
ChebyshevLanczos< Field >::ChebyshevLanczos ( RealD _alpha,
RealD _beta,
RealD _mu,
int _order )
inline

Definition at line 309 of file Chebyshev.h.

References alpha, beta, Coeffs, mu, and order.

Member Function Documentation

◆ csv()

template<class Field>
void ChebyshevLanczos< Field >::csv ( std::ostream & out)
inline

Definition at line 322 of file Chebyshev.h.

References alpha, and approx().

◆ approx()

template<class Field>
RealD ChebyshevLanczos< Field >::approx ( RealD xx)
inline

Definition at line 330 of file Chebyshev.h.

References alpha, beta, Coeffs, mu, order, sum(), T0, and T1.

Referenced by csv().

◆ AminusMuSq()

template<class Field>
void ChebyshevLanczos< Field >::AminusMuSq ( LinearOperatorBase< Field > & Linop,
const Field & in,
Field & out )
inline

Definition at line 361 of file Chebyshev.h.

References alpha, beta, LinearOperatorBase< Field >::HermOp(), and mu.

Referenced by operator()().

◆ operator()() [1/2]

template<class Field>
void ChebyshevLanczos< Field >::operator() ( LinearOperatorBase< Field > & Linop,
const Field & in,
Field & out )
inlinevirtual

Reimplemented from Chebyshev< Field >.

Definition at line 378 of file Chebyshev.h.

References AminusMuSq(), Coeffs, GridBase::gSites(), order, T0, T1, and T2.

◆ PlotApprox()

template<class Field>
void Chebyshev< Field >::PlotApprox ( std::ostream & out)
inlineinherited

Definition at line 70 of file Chebyshev.h.

References approx(), hi, and lo.

◆ Init() [1/3]

template<class Field>
void Chebyshev< Field >::Init ( RealD _lo,
RealD _hi,
int _order )
inlineinherited

Definition at line 86 of file Chebyshev.h.

References Coeffs, hi, lo, and order.

Referenced by Chebyshev(), Chebyshev(), Chebyshev(), and Grid::PowerSpectrum::operator()().

◆ Init() [2/3]

template<class Field>
void Chebyshev< Field >::Init ( RealD _lo,
RealD _hi,
int _order,
RealD(* func )(RealD) )
inlineinherited

Definition at line 115 of file Chebyshev.h.

References Coeffs, hi, lo, M_PI, and order.

◆ Init() [3/3]

template<class Field>
template<class functor>
void Chebyshev< Field >::Init ( RealD _lo,
RealD _hi,
int _order,
functor & func )
inlineinherited

Definition at line 135 of file Chebyshev.h.

References Coeffs, hi, lo, M_PI, and order.

◆ InitLowPass()

template<class Field>
void Chebyshev< Field >::InitLowPass ( RealD _lo,
RealD _hi,
int _order )
inlineinherited

Definition at line 99 of file Chebyshev.h.

References Coeffs, hi, lo, M_PI, and order.

◆ JacksonSmooth()

template<class Field>
void Chebyshev< Field >::JacksonSmooth ( void )
inlineinherited

Definition at line 156 of file Chebyshev.h.

References Coeffs, M_PI, order, and U.

Referenced by Grid::PowerSpectrum::operator()().

◆ approxD()

template<class Field>
RealD Chebyshev< Field >::approxD ( RealD x)
inlineinherited

Definition at line 210 of file Chebyshev.h.

References Coeffs, hi, lo, order, sum(), U0, and U1.

Referenced by approxInv().

◆ approxInv()

template<class Field>
RealD Chebyshev< Field >::approxInv ( RealD z,
RealD x0,
int maxiter,
RealD resid )
inlineinherited

Definition at line 236 of file Chebyshev.h.

References approx(), and approxD().

◆ 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

◆ Coeffs

template<class Field>
std::vector<RealD> ChebyshevLanczos< Field >::Coeffs
private

Definition at line 302 of file Chebyshev.h.

Referenced by approx(), ChebyshevLanczos(), and operator()().

◆ order

template<class Field>
int ChebyshevLanczos< Field >::order
private

Definition at line 303 of file Chebyshev.h.

Referenced by approx(), ChebyshevLanczos(), and operator()().

◆ alpha

template<class Field>
RealD ChebyshevLanczos< Field >::alpha
private

Definition at line 304 of file Chebyshev.h.

Referenced by AminusMuSq(), approx(), ChebyshevLanczos(), and csv().

◆ beta

template<class Field>
RealD ChebyshevLanczos< Field >::beta
private

Definition at line 305 of file Chebyshev.h.

Referenced by AminusMuSq(), approx(), and ChebyshevLanczos().

◆ mu

template<class Field>
RealD ChebyshevLanczos< Field >::mu
private

Definition at line 306 of file Chebyshev.h.

Referenced by AminusMuSq(), approx(), and ChebyshevLanczos().

◆ hi

template<class Field>
RealD Chebyshev< Field >::hi
privateinherited

Definition at line 54 of file Chebyshev.h.

Referenced by approx(), approxD(), csv(), Init(), Init(), Init(), InitLowPass(), operator()(), and PlotApprox().

◆ lo

template<class Field>
RealD Chebyshev< Field >::lo
privateinherited

Definition at line 55 of file Chebyshev.h.

Referenced by approx(), approxD(), csv(), Init(), Init(), Init(), InitLowPass(), operator()(), and PlotApprox().


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