Go to the documentation of this file.
15 #ifndef AFOPR_RATIONAL_INCLUDED
16 #define AFOPR_RATIONAL_INCLUDED
41 template<
typename AFIELD>
81 void set_parameters(
const int Np,
const int n_exp,
const int d_exp,
83 const int Niter,
const real_t Stop_cond);
104 {
return m_fopr->needs_convert(); }
108 {
m_fopr->convert(v, w); }
112 {
m_fopr->reverse(v, w); }
126 static bool register_factory()
int field_nin()
returns the on-site degree of freedom of the fermion field.
Common parameter class: provides parameters as singleton.
Bridge::VerboseLevel m_vl
void mult(AFIELD &v, const AFIELD &f)
multiplies fermion operator to a given field.
void set_parameters(const Parameters ¶ms)
sets parameters by a Parameter object: to be implemented in a subclass.
virtual bool needs_convert()
returns true if additional field conversion is needed.
real_t func(const real_t x)
virtual void convert(AFIELD &v, const Field &w)
converts a Field object into other format if necessary.
AFopr_Rational(AFopr< AFIELD > *fopr, const Parameters ¶ms)
std::vector< real_t > m_bl
AShiftsolver_CG< AFIELD, AFopr< AFIELD > > * m_solver
std::vector< AFIELD > m_xq
static const std::string class_name
void get_parameters(Parameters ¶ms) const
gets parameters by a Parameter object: to be implemented in a subclass.
Fermion operator for rational approximation.
virtual void reverse(Field &v, const AFIELD &w)
reverses to a Field object from other format if necessary.
void set_config(Field *U)
sets the gauge configuration.
AFopr_Rational(AFopr< AFIELD > *fopr)
Container of Field-type object.
int field_nex()
returns the external degree of freedom of the fermion field.
Multishift Conjugate Gradient solver.
int field_nvol()
returns the volume of the fermion field.
std::vector< real_t > m_cl
void mult_dag(AFIELD &v, const AFIELD &f)
hermitian conjugate of mult.