Go to the documentation of this file.
15 #ifndef ASOLVER_FBICGSTAB_H
16 #define ASOLVER_FBICGSTAB_H
31 template<
typename AFIELD>
42 std::complex<real_t>
rho;
144 #endif // ASOLVER_FBICGSTAB_H
void set_parameters(const Parameters ¶ms)
setting parameters by a Parameter object.
double flop_count_intermediate(const int iter)
ASolver_FBiCGStab(AFopr< AFIELD > *fopr, APrecond< AFIELD > *prec)
constructor.
void solve_step1(real_t &rr, coeff_t &prev)
real_t m_Stop_cond
stopping criterion (squared).
typename ASolver< AFIELD >::InitialGuess InitialGuess
AFopr< AFIELD > * get_afopr()
returns the pointer to the fermion operator.
struct ASolver_FBiCGStab::coeff_t coeff
~ASolver_FBiCGStab()
destructor.
void solve_init(const AFIELD &b, const AFIELD &xq, real_t &rr, coeff_t &prev)
static const std::string class_name
InitialGuess m_initial_mode
void init(void)
initial setup.
AFopr< AFIELD > * m_fopr
fermion operator.
double flop_count()
returns the floating point operation count.
std::complex< real_t > alpha
AFIELD m_x
Matsufuru added: new AField_dev implementation.
real_t m_Stop_cond2
stopping criterion for inner solver.
APrecond< AFIELD > * m_prec
preconditioner.
int m_Niter
maximum iteration number.
void solve_step2(real_t &rr, coeff_t &prev)
int m_nconv
to remember convergence iteration to provide flop count.
void tidyup(void)
final tidy-up.
std::complex< real_t > rho
ASolver_FBiCGStab()
calling constructor without fermion operator is forbidden.
void prec(AFIELD &, AFIELD &)
void solve(AFIELD &xq, const AFIELD &b, int &nconv, real_t &diff)
solver main.
void set_parameters_BiCGStab_series(const real_t Omega_tolerance)
setting BiCGStab specific parameters.
Container of Field-type object.