54 int n_over,
int nheat,
int NmaxHB,
55 int& ntrials,
int& nfails,
57 const multi3d<int>& neighsubl)
63 LatticeColorMatrix
tmp_1;
64 LatticeColorMatrix
tmp_2;
65 LatticeColorMatrix u_staple;
66 LatticeColorMatrix u_staple2;
76 for(
int iter = 0; iter <= n_over; ++iter)
78 for(
int subl = 0; subl < ss.numSubsets(); ++subl)
81 u_staple[ss[subl]] = 0;
83 int fsublm = neighsubl[
mu][1][subl];
84 int bsublm = neighsubl[
mu][0][subl];
88 if(
nu ==
mu)
continue;
90 int fsubln = neighsubl[
nu][1][subl];
91 int bsubln = neighsubl[
nu][0][subl];
99 u_staple[ss[subl]] +=
tmp_1 * adj(
u[
nu]);
102 int bfsubl = neighsubl[
mu][1][bsubln];
119 if(
nu ==
mu)
continue;
121 int fsubln = neighsubl[
nu][1][subl];
122 int bsubln = neighsubl[
nu][0][subl];
125 int fsublmn = neighsubl[
mu][1][fsubln];
126 int fsubl2 = neighsubl[
nu][1][fsubln];
144 int bsubl2 = neighsubl[
nu][0][bsubln];
145 int bfsubl = neighsubl[
mu][1][bsubl2];
157 bfsubl = neighsubl[
mu][1][bsubln];
164 fsubl2 = neighsubl[
mu][1][fsublm];
165 fsublmn = neighsubl[
nu][1][fsublm];
180 u_staple2[ss[subl]] +=
tmp_1 * adj(
u[
nu]);
183 bfsubl = neighsubl[
mu][1][bsubln];
184 fsubl2 = neighsubl[
mu][1][bfsubl];
203 bfsubl = neighsubl[
nu][1][bsublm];
219 bfsubl = neighsubl[
mu][1][bsubln];
220 int bsublmn = neighsubl[
mu][0][bsubln];
255 if(
nu ==
eta)
continue;
257 int fsuble = neighsubl[
eta][1][subl];
258 int bsuble = neighsubl[
eta][0][subl];
259 int fsubln = neighsubl[
nu][1][subl];
260 int bsubln = neighsubl[
nu][0][subl];
262 for(
int rho =
eta+1; rho <
Nd; ++rho)
264 if(rho ==
nu)
continue;
266 int fsublr = neighsubl[rho][1][subl];
267 int bsublr = neighsubl[rho][0][subl];
273 int fsublmn = neighsubl[
nu][1][fsublr];
281 fsublmn = neighsubl[
nu][1][fsublm];
288 int bsubl2 = neighsubl[rho][0][bsubln];
289 int bfsubl = neighsubl[
mu][1][bsubl2];
290 int fsubl2 = neighsubl[
nu][1][bfsubl];
311 int bfsubl = neighsubl[rho][1][bsuble];
312 int fsubl2 = neighsubl[
mu][1][bfsubl];
330 bfsubl = neighsubl[
eta][1][bsublr];
331 fsubl2 = neighsubl[
mu][1][bfsubl];
352 int bsubl2 = neighsubl[
eta][0][bsubln];
353 int bfsubl = neighsubl[
mu][1][bsubl2];
354 int fsubl2 = neighsubl[
nu][1][bfsubl];
373 int fsublmn = neighsubl[
nu][1][fsuble];
381 fsublmn = neighsubl[
nu][1][fsublm];
394 int fsuble = neighsubl[
eta][1][subl];
395 int bsuble = neighsubl[
eta][0][subl];
396 int fsubln = neighsubl[
nu][1][subl];
397 int bsubln = neighsubl[
nu][0][subl];
399 for(
int rho =
nu+1; rho <
Nd; ++rho)
401 int fsublr = neighsubl[rho][1][subl];
402 int bsublr = neighsubl[rho][0][subl];
408 int bfsubl = neighsubl[
nu][0][fsublr];
416 bfsubl = neighsubl[
nu][0][fsublm];
424 bfsubl = neighsubl[rho][0][fsubln];
432 bfsubl = neighsubl[rho][0][fsublm];
443 int bfsubl = neighsubl[
eta][0][fsublr];
452 bfsubl = neighsubl[
eta][0][fsublm];
460 bfsubl = neighsubl[rho][0][fsuble];
469 bfsubl = neighsubl[rho][0][fsublm];
480 int bfsubl = neighsubl[
eta][0][fsubln];
489 bfsubl = neighsubl[
eta][0][fsublm];
497 bfsubl = neighsubl[
nu][0][fsuble];
506 bfsubl = neighsubl[
nu][0][fsublm];
541 ntrials = ntrials + ntry;
542 nfails = nfails + nfail;
Primary include file for CHROMA library code.
void su3over(LatticeColorMatrix &u, const LatticeColorMatrix &w, int su2_index, const Subset &sub)
Do one SU(2) subgroup microcanonical overrelaxation update of SU(Nc) matrix.
void mciter32(multi1d< LatticeColorMatrix > &u, int n_over, int nheat, int NmaxHB, int &ntrials, int &nfails, const Set &ss, const multi3d< int > &neighsubl)
One heatbath interation of updating the gauge field configuration.
const Real GlueCoeffRT(0.0)
const Real GlueCoeffPG(0.0)
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 reunit(LatticeColorMatrixF3 &xa)
void su2_hb_update(LatticeColorMatrix &u_mu, const LatticeColorMatrix &u_mu_staple, Double BetaMC, const int su2_index, const Subset &sub, const int NmaxHB)
copymask(lcoord, lbit, ltmp_1, REPLACE)
Reunitarize in place a color matrix to SU(N)
Do one SU(2) subgroup heatbath update of SU(Nc) matrix U with action.
Do one SU(2) subgroup microcanonical overrelaxation update of SU(Nc)