15 #ifndef FOPR_RATIONAL_SF_INCLUDED
16 #define FOPR_RATIONAL_SF_INCLUDED
76 void set_parameters(
const int Np,
const int n_exp,
const int d_exp,
const double x_min,
const double x_max,
77 const int Niter,
const double Stop_cond);
96 double func(
const double x);
107 static Fopr *create_object(
Fopr *fopr)
113 static bool register_factory()
115 return Fopr::Factory_fopr::Register(
"Rational_SF", create_object);
int field_nvol()
returns the volume for which the fermion operator is defined.
Fopr_Rational_SF(unique_ptr< Fopr > &fopr)
double func(const double x)
virtual void set_config(Field *)=0
setting pointer to the gauge configuration.
Container of Field-type object.
Multishift Conjugate Gradient solver.
static const std::string class_name
Fopr_Rational_SF(Fopr *fopr)
std::vector< Field > m_xq
virtual int field_nin()=0
returns the on-site d.o.f. for which the fermion operator is defined.
void set_parameters(const Parameters ¶ms)
int field_nin()
returns the on-site d.o.f. for which the fermion operator is defined.
void mult(Field &v, const Field &f)
Fermion operator for rational approximation.
virtual int field_nex()=0
returns the external d.o.f. for which the fermion operator is defined.
Shiftsolver_CG * m_solver
void set_config(Field *U)
setting pointer to the gauge configuration.
void mult_dag(Field &v, const Field &f)
hermitian conjugate of mult(Field&, const Field&).
void set_config(unique_ptr< Field_G > &U)
Base class of fermion operator family.
virtual int field_nvol()=0
returns the volume for which the fermion operator is defined.
int field_nex()
returns the external d.o.f. for which the fermion operator is defined.
std::vector< double > m_cl
std::vector< double > m_bl