Go to the documentation of this file.
23 double Stop_cond = 1.0e-28;
25 solver->set_parameters(Niter, Nrestart, Stop_cond);
41 int& Nconv,
double& diff)
43 assert(xq.
nin() == b.
nin());
45 assert(xq.
nex() == b.
nex());
54 int& Nconv,
double& diff)
61 Field v(NinF, Nvol, Nex);
76 int& Nconv,
double& diff)
83 Field v2(NinF, Nvol, Nex);
102 int& Nconv,
double& diff)
109 Field v2(NinF, Nvol, Nex);
129 int& Nconv,
double& diff)
136 Field v2(NinF, Nvol, Nex);
150 int& Nconv,
double& diff)
virtual void mult(AFIELD &, const AFIELD &)
multiplies fermion operator to a given field.
void invert_DdagD_plain(Field &, const Field &, int &Nconv, double &diff)
void detailed(const char *format,...)
bool check_size(const int nin, const int nvol, const int nex) const
checking size parameters. [23 May 2016 H.Matsufuru]
void axpy(Field &y, const double a, const Field &x)
axpy(y, a, x): y := a * x + y
virtual void set_mode(std::string mode)
setting the mode of multiplication if necessary. Default implementation here is just to avoid irrelev...
void invert_DdagD_prec(Field &, const Field &, int &Nconv, double &diff)
void invert_DdagD(Field &, const Field &, int &Nconv, double &diff)
void invert_D_plain(Field &, const Field &, int &Nconv, double &diff)
void copy(Field &y, const Field &x)
copy(y, x): y = x
virtual void set_config(Field *)=0
sets the gauge configuration.
virtual void solve(Field &solution, const Field &source, int &Nconv, double &diff)=0
virtual void mult_dag(AFIELD &, const AFIELD &)
hermitian conjugate of mult.
void invert_D(Field &, const Field &, int &Nconv, double &diff)
Base class for linear solver class family.
Bridge::VerboseLevel m_vl
int solver(const std::string &)
void invert_D_prec(Field &, const Field &, int &Nconv, double &diff)
Standard Conjugate Gradient solver algorithm.
Container of Field-type object.