45 LatticeFermion tmp1,
tmp2;
63 tmp1 = Gamma(
G5) *
psi;
85 LatticeFermion
tmp3 = tmp1;
179 for(
k = 0;
k <=
MaxCG && ! convP ; ++
k) {
199 d = innerProductReal(
p[
isz], Ap);
224 if (
s !=
isz && !convsP[
s]) {
228 z[
iz][
s] = z0*z1*bp ;
230 bs[
s] =
b *
z[
iz][
s] / z0;
267 if(
s !=
isz && !convsP[
s]) {
370 bool btmp = toBool(ztmp <
rsd_sq);
371 convP = convP & btmp;
392 if (
k > 0 && !convP) {
395 chi_sq_new = rsdcg_sq * norm2(
chi);
398 chi_sq_diff = norm2(tmp1);
401 QDPIO::cout <<
"Iter " <<
k <<
" || delta Sgn() || " << sqrt(chi_sq_diff) << std::endl;
404 bool btmp = toBool(chi_sq_diff < chi_sq_new);
407 if (! btmp && convP) {
420 chi = Gamma(
G5)*tmp1;
424 QDPIO::cout <<
"Overlap Inner Solve (lg5eps): " <<
k <<
" iterations " << std::endl;
Primary include file for CHROMA library code.
const multi1d< Real > rootQ
const multi1d< LatticeFermion > EigVec
const multi1d< Real > resP
const multi1d< Real > EigValFunc
Gramm-Schmidt orthogonolization.
void GramSchm(multi1d< LatticeFermion > &psi, const int Npsi, const multi1d< LatticeFermion > &vec, const int Nvec, const Subset &sub)
Gramm-Schmidt orthogonolization.
void operator()(LatticeFermion &chi, const LatticeFermion &psi, enum PlusMinus isign) const
Apply the operator onto a source std::vector.
Internal pole epsilon operator. Just the unitary part.
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)
Asqtad Staggered-Dirac operator.
QDP_error_exit("too many BiCG iterations", n_count, rsd_sq, cp, c, re_rvr, im_rvr, re_a, im_a, re_b, im_b)
multi1d< LatticeFermion > chi(Ncb)
multi1d< LatticeFermion > s(Ncb)
FloatingPoint< double > Double