Grid 0.7.0
Chebyshev< Field > Class Template Reference

#include <Chebyshev.h>

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

Public Member Functions

void csv (std::ostream &out)
void PlotApprox (std::ostream &out)
 Chebyshev ()
 Chebyshev (ChebyParams p)
 Chebyshev (RealD _lo, RealD _hi, int _order, RealD(*func)(RealD))
 Chebyshev (RealD _lo, RealD _hi, int _order)
void Init (RealD _lo, RealD _hi, int _order)
void InitLowPass (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 JacksonSmooth (void)
RealD approx (RealD x)
RealD approxD (RealD x)
RealD approxInv (RealD z, RealD x0, int maxiter, RealD resid)
void operator() (LinearOperatorBase< Field > &Linop, const Field &in, Field &out)
virtual void operator() (LinearOperatorBase< Field > &Linop, const std::vector< Field > &in, std::vector< Field > &out)

Private Attributes

std::vector< RealDCoeffs
int order
RealD hi
RealD lo

Detailed Description

template<class Field>
class Chebyshev< Field >

Definition at line 48 of file Chebyshev.h.

Constructor & Destructor Documentation

◆ Chebyshev() [1/4]

template<class Field>
Chebyshev< Field >::Chebyshev ( )
inline

Definition at line 77 of file Chebyshev.h.

◆ Chebyshev() [2/4]

template<class Field>
Chebyshev< Field >::Chebyshev ( ChebyParams p)
inline

Definition at line 78 of file Chebyshev.h.

References Init().

◆ Chebyshev() [3/4]

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

Definition at line 79 of file Chebyshev.h.

References Init().

◆ Chebyshev() [4/4]

template<class Field>
Chebyshev< Field >::Chebyshev ( RealD _lo,
RealD _hi,
int _order )
inline

Definition at line 80 of file Chebyshev.h.

References Init().

Member Function Documentation

◆ csv()

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

Definition at line 58 of file Chebyshev.h.

References approx(), delta(), hi, and lo.

◆ PlotApprox()

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

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 )
inline

Definition at line 86 of file Chebyshev.h.

References Coeffs, hi, lo, and order.

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

◆ InitLowPass()

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

Definition at line 99 of file Chebyshev.h.

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

◆ Init() [2/3]

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

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 )
inline

Definition at line 135 of file Chebyshev.h.

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

◆ JacksonSmooth()

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

Definition at line 156 of file Chebyshev.h.

References Coeffs, M_PI, order, and U.

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

◆ approx()

template<class Field>
RealD Chebyshev< Field >::approx ( RealD x)
inline

Definition at line 184 of file Chebyshev.h.

References Coeffs, hi, lo, order, sum(), T0, and T1.

Referenced by approxInv(), csv(), and PlotApprox().

◆ approxD()

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

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 )
inline

Definition at line 236 of file Chebyshev.h.

References approx(), and approxD().

◆ operator()() [1/2]

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

◆ 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> Chebyshev< Field >::Coeffs
private

Definition at line 52 of file Chebyshev.h.

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

◆ order

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

Definition at line 53 of file Chebyshev.h.

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

◆ hi

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

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
private

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: