48 for(
int k = 1;
k <= MaxIter && !convP;
k++) {
54 for(
int n=0;
n <
N5-1;
n++) {
74 y = Real(2)/(Real(1)-
m)*
chi[
N5-1];
88 QDPIO::cout <<
"InvBorici: iter " <<
k
90 <<
" || b || = " << b_norm
91 <<
" || r ||/|| b || = " <<
r_norm / b_norm
92 <<
" target = " << tol << std::endl;
94 if( toBool(
r_norm < tol*b_norm ) ) {
102 QDPIO::cerr <<
"Nonconvergence warning: " << n_iters <<
" iters. || r || / || b || = " <<
r_norm / b_norm;
112 const LatticeFermion&
b,
121 InvBorici_a(D_4, D_5, D_dag_D_5,
b,
x, tol, tol_1, MaxIter, MaxIter5D,
m, n_iters);
Primary include file for CHROMA library code.
Linear Operator to arrays.
virtual int size() const =0
Expected length of array index.
Asqtad Staggered-Dirac operator.
void InvMINRES(const LinearOperatorArray< LatticeFermion > &A, const multi1d< LatticeFermion > &chi, multi1d< LatticeFermion > &psi, const Real &RsdCG, int MaxCG, int &n_count)
LinOpSysSolverMGProtoClover::T T
void InvBorici_a(const LinearOperator< T > &D_4, const LinearOperatorArray< T > &D_5, const LinearOperatorArray< T > &D_dag_D_5, const T &b, T &x, const Real &tol, const Real &tol_1, const int MaxIter, const int MaxIter5D, const Real &m, int &n_iters)
multi1d< LatticeFermion > chi(Ncb)
void InvBorici(const LinearOperator< LatticeFermion > &D_4, const LinearOperatorArray< LatticeFermion > &D_5, const LinearOperatorArray< LatticeFermion > &D_dag_D_5, const LatticeFermion &b, LatticeFermion &x, const Real &tol, const Real &tol_1, const int MaxIter, const int MaxIter5D, const Real &m, int &n_iters)
FloatingPoint< double > Double