15 #ifndef FOPR_RATIONAL_INCLUDED
16 #define FOPR_RATIONAL_INCLUDED
74 void set_parameters(
const int Np,
const int n_exp,
const int d_exp,
const double x_min,
const double x_max,
75 const int Niter,
const double Stop_cond);
94 double func(
const double x);
105 static Fopr *create_object(
Fopr *fopr)
111 static bool register_factory()
113 return Fopr::Factory_fopr::Register(
"Rational", create_object);
Fermion operator for rational approximation.
void set_config(unique_ptr< Field_G > &U)
virtual void set_config(Field *)=0
setting pointer to the gauge configuration.
std::vector< Field > m_xq
Container of Field-type object.
Multishift Conjugate Gradient solver.
int field_nvol()
returns the volume for which the fermion operator is defined.
void mult(Field &v, const Field &f)
multiplies fermion operator to a given field (2nd argument)
std::vector< double > m_cl
virtual int field_nin()=0
returns the on-site 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.
virtual int field_nex()=0
returns the external d.o.f. for which the fermion operator is defined.
Fopr_Rational(unique_ptr< Fopr > &fopr)
Fopr_Rational(Fopr *fopr)
static const std::string class_name
void set_parameters(const Parameters ¶ms)
double func(const double x)
void mult_dag(Field &v, const Field &f)
hermitian conjugate of mult(Field&, const Field&).
int field_nin()
returns the on-site d.o.f. for which the fermion operator is defined.
std::vector< double > m_bl
int field_nex()
returns the external d.o.f. for which the fermion operator is defined.
Base class of fermion operator family.
virtual int field_nvol()=0
returns the volume for which the fermion operator is defined.