Go to the documentation of this file. 1 #ifndef ASOLVER_BICGSTAB_H
2 #define ASOLVER_BICGSTAB_H
14 template<
typename AFIELD>
110 static bool register_factory()
113 create_object_with_fopr);
119 #endif // ASOLVER_BICGSTAB_H
AFIELD m_x
Matsufuru added: new AField_dev implementation.
real_t m_Stop_cond
stopping criterion (squared).
void set_init_mode(const InitialGuess init_guess)
setting the initial guess mode
AFopr< AFIELD > * get_fopr()
returns the pointer to the fermion operator.
ASolver_BiCGStab(AFopr< AFIELD > *fopr)
constructor.
int m_init_mult
to remember convergence iteration to provide flop count.
void set_parameters_BiCGStab_series(const real_t Omega_tolerance)
setting BiCGStab specific parameters.
~ASolver_BiCGStab()
destructor.
void solve(AFIELD &xq, const AFIELD &b, int &nconv, real_t &diff)
solver main.
void solve_init(const AFIELD &b, real_t &rr, real_t &alpha_prev, real_t &rho_prev, real_t &omega_prev, const InitialGuess init_mode)
static const std::string class_name
InitialGuess m_initial_mode
mode switch for initial guess
double flop_count()
returns the floating point operation count.
real_t m_Omega_tolerance
tolerance for the stability
void set_parameters(const Parameters ¶ms)
setting parameters by a Parameter object.
AFopr< AFIELD > * m_fopr
fermion operator.
typename ASolver< AFIELD >::InitialGuess InitialGuess
ASolver_BiCGStab()
calling constructor without fermion operator is forbidden.
Container of Field-type object.
real_t m_ecrit
to avoid too small denominator denominator.
int m_nconv
to remember convergence iteration to provide flop count.
int m_Niter
maximum iteration number.
void solve_step(real_t &rr, int &iflg, real_t &alpha_prev, real_t &rho_prev, real_t &omega_prev)