31 multi1d<LatticeColorMatrix>& u_hyp,
32 const Real& alpha1,
const Real& alpha2,
const Real& alpha3,
33 const Real& BlkAccu,
int BlkMax)
35 multi1d<LatticeColorMatrix> u_lv1(
Nd*(
Nd-1));
36 multi1d<LatticeColorMatrix> u_lv2(
Nd*(
Nd-1));
37 LatticeColorMatrix u_tmp;
38 LatticeColorMatrix
tmp_1;
64 if(
nu ==
mu)
continue;
99 sun_proj(u_tmp, u_lv1[ii], BlkAccu, BlkMax);
111 ftmp1 = 1.0 - alpha2;
118 if(
nu ==
mu)
continue;
121 for(jj = 0; jj <
Nd; ++jj)
123 if(jj !=
mu && jj !=
nu) rho = jj;
125 jj = (
Nd-1)*
mu + rho;
127 kk = (
Nd-1)*
nu + rho;
142 LatticeColorMatrix u_lv1_tmp = shift(u_lv1[kk],
FORWARD,
mu);
143 u_tmp += shift(adj(u_lv1[kk]) * u_lv1[jj] * u_lv1_tmp ,
BACKWARD,
nu);
166 ftmp1 = 1.0 - alpha2;
173 if(
nu ==
mu)
continue;
177 for(rho = 0; rho <
Nd; ++rho)
179 if(rho ==
mu || rho ==
nu)
continue;
182 for(jj = 0; jj <
Nd; ++jj)
184 if(jj !=
mu && jj !=
nu && jj != rho) sigma = jj;
186 jj = (
Nd-1)*
mu + sigma;
187 if(sigma >
mu ) jj--;
188 kk = (
Nd-1)*rho + sigma;
189 if(sigma > rho ) kk--;
196 u_tmp += u_lv1[kk] * shift(u_lv1[jj],
FORWARD,rho) * adj(shift(u_lv1[kk],
FORWARD,
mu));
203 LatticeColorMatrix u_lv1_tmp = shift(u_lv1[kk],
FORWARD,
mu);
204 u_tmp += shift(adj(u_lv1[kk]) * u_lv1[jj] * u_lv1_tmp ,
BACKWARD,rho);
217 sun_proj(u_tmp, u_lv2[ii], BlkAccu, BlkMax);
226 ftmp1 = 1.0 - alpha1;
233 if(
nu ==
mu)
continue;
252 LatticeColorMatrix u_lv2_tmp = shift(u_lv2[kk],
FORWARD,
mu);
253 u_tmp += shift(adj(u_lv2[kk]) * u_lv2[jj] * u_lv2_tmp ,
BACKWARD,
nu);
Primary include file for CHROMA library code.
void Hyp_Smear(const multi1d< LatticeColorMatrix > &u, multi1d< LatticeColorMatrix > &u_hyp, const Real &alpha1, const Real &alpha2, const Real &alpha3, const Real &BlkAccu, int BlkMax)
Construct the "hyp-smeared" links of Anna Hasenfratz.
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)
static multi1d< LatticeColorMatrix > u
void sun_proj(const LatticeColorMatrix &w, LatticeColorMatrix &v, const Real &BlkAccu, int BlkMax)
Project a complex Nc x Nc matrix W onto SU(Nc) by maximizing Tr(VW)