28 multi1d<LatticeColorMatrix>& u_hyp)
30 multi1d<LatticeColorMatrix> u_lv1(
Nd*(
Nd-1));
31 multi1d<LatticeColorMatrix> u_lv2(
Nd*(
Nd-1));
32 LatticeColorMatrix u_tmp;
33 LatticeColorMatrix
tmp_1;
40 const Real hex_alpha1 = 0.95 ;
41 const Real hex_alpha2 = 0.76 ;
42 const Real hex_alpha3 = 0.38 ;
45 const Real hex_alpha3_fact = hex_alpha3 / 2.0 ;
46 const Real hex_alpha2_fact = hex_alpha2 / 4.0 ;
47 const Real hex_alpha1_fact = hex_alpha1 / 6.0 ;
70 if(
nu ==
mu)
continue;
95 u_tmp = hex_alpha3_fact *
tmp_1 ;
99 u_lv1[ii] = u_tmp *
u[
mu];
115 if(
nu ==
mu)
continue;
119 for(rho = 0; rho <
Nd; ++rho)
121 if(rho ==
mu || rho ==
nu)
continue;
124 for(jj = 0; jj <
Nd; ++jj)
126 if(jj !=
mu && jj !=
nu && jj != rho) sigma = jj;
128 jj = (
Nd-1)*
mu + sigma;
129 if(sigma >
mu ) jj--;
130 kk = (
Nd-1)*rho + sigma;
131 if(sigma > rho ) kk--;
138 u_tmp += u_lv1[kk] * shift(u_lv1[jj],
FORWARD,rho) * adj(shift(u_lv1[kk],
FORWARD,
mu));
145 u_tmp += shift(adj(u_lv1[kk]) * u_lv1[jj] * shift(u_lv1[kk],
FORWARD,
mu),
BACKWARD,rho);
156 u_tmp = hex_alpha2_fact *
tmp_1 ;
159 u_lv2[ii] = u_tmp *
u[
mu] ;
175 if(
nu ==
mu)
continue;
205 u_tmp = hex_alpha1_fact *
tmp_1 ;
209 u_hyp[
mu] = u_tmp *
u[
mu] ;
233 multi1d<LatticeColorMatrix>& u_hyp,
const int nstep)
235 multi1d<LatticeColorMatrix> u_last(
Nd);
246 for(
i=0 ;
i < nstep ; ++
i)
Primary include file for CHROMA library code.
Exactly exponentiate a SU(3) lie algebra element.
void eesu3(LatticeColorMatrix &iQ)
Exact exponentiation of SU(3) matrix.
void taproj(LatticeColorMatrix &a)
Take the traceless antihermitian projection of a color matrix.
void Hex_Smear(const multi1d< LatticeColorMatrix > &u, multi1d< LatticeColorMatrix > &u_hyp, const int nstep)
Construct nstep iterations of the "hex-smeared" links of Capitani et al.
void Hex_Smear_onestepp(multi1d< LatticeColorMatrix > &u, multi1d< LatticeColorMatrix > &u_hyp)
Construct one iteration of the "hex-smeared" links of Capitani et al.
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
Take the traceless antihermitian projection of a color matrix.