Go to the documentation of this file.
10 #ifndef ASOLVER_SAP_MINRES_H
11 #define ASOLVER_SAP_MINRES_H
25 template<
typename AFIELD>
75 vout.
crucial(
m_vl,
"partial construct is not allowed for Asolver_SAP_MINRES\n");
126 static bool register_factory()
133 #endif // ASOLVER_SAP_MINRES_H
real_t m_Stop_cond
stopping criterion (squared).
std::vector< real_t > m_p2_block
static const std::string class_name
void solve(AFIELD &xq, const AFIELD &b, int &nconv, real_t &diff, const int eo)
solver main.
const block_index_t * m_block_index
AFopr_dd< AFIELD > * m_fopr
need mult_sap()
typename AFIELD::complex_t complex_t
ASolver_SAP_MINRES(AFopr_dd< AFIELD > *fopr, const block_index_t *block_index)
constructor.
Base class of fermion operator family.
ASolver_SAP_MINRES(AFopr< AFIELD > *fopr)
AFopr< AFIELD > * get_afopr()
returns the pointer to the fermion operator.
Bridge::VerboseLevel m_vl
void set_parameters(const Parameters ¶ms)
setting parameters by a Parameter object.
double flop_count()
returns the floating point operation count.
std::vector< complex_t > m_alpha_block
int m_Niter
maximum iteration number.
int m_nconv
to remember convergence iteration to provide flop count.
std::vector< real_t > m_r2_block
ASolver_SAP_MINRES()
calling constructor without fermion operator is forbidden.
ComplexTraits< double >::complex_t complex_t
void crucial(const char *format,...)
Container of Field-type object.
~ASolver_SAP_MINRES()
destructor.
AFIELD m_r
working vectors.
void set_block(block_index_t *block_index)
setting block.
AIndex_block_lex< real_t, AFIELD::IMPL > block_index_t