16 #ifdef USE_PARAMETERS_FACTORY
36 #ifdef USE_PARAMETERS_FACTORY
51 const string str_vlevel = params.
get_string(
"verbose_level");
62 err += params.
fetch_int(
"number_of_poles", Np);
63 err += params.
fetch_int(
"exponent_numerator", n_exp);
64 err += params.
fetch_int(
"exponent_denominator", d_exp);
67 err += params.
fetch_int(
"maximum_number_of_iteration", Niter);
68 err += params.
fetch_double(
"convergence_criterion_squared", Stop_cond);
82 double x_min,
double x_max,
83 int Niter,
double Stop_cond)
139 for (
int i = 0; i < Nshift; ++i) {
140 m_xq[i].reset(Nin, Nvol, Nex);
150 for (
int i = 0; i <
m_Np; i++) {
187 for (
int i = 0; i <
m_Np; i++) {
202 for (
int k = 0; k <
m_Np; ++k) {
std::valarray< double > m_cl
void Register_string(const string &, const string &)
void general(const char *format,...)
void Register_int(const string &, const int)
void set_parameters(const Parameters ¶ms)
void get_parameters(double &norm, std::valarray< double > &res, std::valarray< double > &pole)
Container of Field-type object.
Multishift Conjugate Gradient solver.
static const std::string class_name
virtual int field_nin()=0
returns the on-site d.o.f. for which the fermion operator is defined.
int square_non_zero(const double v)
void set_parameters(const Parameters ¶ms)
std::valarray< Field > m_xq
Bridge::VerboseLevel m_vl
Parameters_Fopr_Rational_SF()
virtual int field_nex()=0
returns the external d.o.f. for which the fermion operator is defined.
void crucial(const char *format,...)
Shiftsolver_CG * m_solver
void solve(std::valarray< Field > &solution, std::valarray< double > shift, const Field &source, int &Nconv, double &diff)
static bool Register(const std::string &realm, const creator_callback &cb)
void set_boundary_zero(Field &f)
const Field mult(const Field &f)
int non_zero(const double v)
virtual void set_mode(std::string mode)
setting the mode of multiplication if necessary. Default implementation here is just to avoid irrelev...
void Register_double(const string &, const double)
std::valarray< double > m_bl
int fetch_double(const string &key, double &val) const
string get_string(const string &key) const
virtual int field_nvol()=0
returns the volume for which the fermion operator is defined.
int fetch_int(const string &key, int &val) const
A class generated to add a function for the SF.
static VerboseLevel set_verbose_level(const std::string &str)