14 #ifndef SOLVER_GMRES_m_CMPLX_INCLUDED
15 #define SOLVER_GMRES_m_CMPLX_INCLUDED
59 std::vector<Field>
m_v;
85 void set_parameters(
const int Niter,
const int Nrestart,
const double Stop_cond);
86 void set_parameters(
const int Niter,
const int Nrestart,
const double Stop_cond,
const bool use_init_guess);
90 int& Nconv,
double& diff);
105 void min_J(std::valarray<dcomplex>& y,
106 std::valarray<dcomplex>& h);
110 return i + (
m_N_M + 1) * j;
121 static bool register_factory()
123 return Solver::Factory::Register(
"GMRES_m_Cmplx", create_object);
Solver_GMRES_m_Cmplx(Fopr *fopr)
static const std::string class_name
Container of Field-type object.
void solve_init(const Field &, double &)
void innerprod_c(double &prod_r, double &prod_i, const Field &v, const Field &w)
GMRES(m) algorithm with complex variables.
int index_ij(const int i, const int j)
Base class for linear solver class family.
void reset_field(const Field &)
void solve(Field &solution, const Field &source, int &Nconv, double &diff)
void min_J(std::valarray< dcomplex > &y, std::valarray< dcomplex > &h)
void set_parameters_GMRES_m(const int N_M)
Base class of fermion operator family.
Solver_GMRES_m_Cmplx(unique_ptr< Fopr > &fopr)
void solve_step(const Field &, double &)
void set_parameters(const Parameters ¶ms)