14 const Real& epsilon_prec,
19 const Subset&
s= UnprecMM.
subset();
26 multi1d<T*>
C(MaxGMRESR);
27 multi1d<T*>
U(MaxGMRESR);
39 while( toBool( norm_r > terminate) && iter < MaxGMRESR ) {
48 InvRelCG1(PrecMM,
r, *
u, epsilon_prec, MaxGMRESRPrec, prec_count);
55 Real inner_tol = terminate / norm_r;
59 UnprecMM( *
c, *
u,
PLUS, inner_tol);
63 for(
int i =0;
i < C_size;
i++) {
86 norm_r = sqrt(norm2(
r,
s));
87 QDPIO::cout <<
"Inv Rel GMRESR: iter "<< iter <<
" || r || = " << norm_r << std::endl;
91 for(
int i=0;
i < C_size;
i++) {
96 if( iter == MaxGMRESR ) {
97 QDPIO::cout <<
"Nonconvergence warning " << std::endl;
106 const LatticeFermion&
b,
109 const Real& epsilon_prec,
Primary include file for CHROMA library code.
virtual const Subset & subset() const =0
Return the subset on which the operator acts.
void InvRelCG1(const LinearOperator< LatticeFermion > &A, const LatticeFermion &chi, LatticeFermion &psi, const Real &RsdCG, int MaxCG, int &n_count)
Conjugate-Gradient (CGNE) algorithm for a generic Linear Operator.
Conjugate-Gradient algorithm for a generic Linear Operator.
Relaxed GMRESR algorithm of the Wuppertal Group.
SpinMatrix C()
C = Gamma(10)
int epsilon(int i, int j, int k)
BinaryReturn< C1, C2, FnInnerProduct >::Type_t innerProduct(const QDPSubType< T1, C1 > &s1, const QDPType< T2, C2 > &s2)
static const LatticeInteger & beta(const int dim)
static const LatticeInteger & alpha(const int dim)
Asqtad Staggered-Dirac operator.
void InvRelGMRESR_CG_a(const LinearOperator< T > &PrecMM, const LinearOperator< T > &UnprecMM, const T &b, T &x, const Real &epsilon, const Real &epsilon_prec, int MaxGMRESR, int MaxGMRESRPrec, int &n_count)
static multi1d< LatticeColorMatrix > u
LinOpSysSolverMGProtoClover::T T
void InvRelGMRESR_CG(const LinearOperator< LatticeFermion > &PrecMM, const LinearOperator< LatticeFermion > &UnprecMM, const LatticeFermion &b, LatticeFermion &x, const Real &epsilon, const Real &epsilon_prec, int MaxGMRESR, int MaxGMRESRPrec, int &n_count)
multi1d< LatticeFermion > s(Ncb)
FloatingPoint< double > Double
multi1d< LatticeColorMatrix > U