51 void baryon_s(LatticeStaggeredPropagator & quark_propagator_in,
52 multi1d<Complex> & barprop,
56 LatticeColorMatrix quark_propagator;
59 peekSpin(quark_propagator_in,0,0);
62 LatticeComplex b_prop;
63 LatticeComplex uu_quark;
65 LatticeComplex quark_cpt_A ;
66 LatticeComplex quark_cpt_B ;
88 int antisym_tensor[3][3][3] ;
89 for(
int ii=0 ; ii < 3 ; ++ii)
90 for(
int jj=0 ; jj < 3 ; ++jj)
91 for(
int kk=0 ; kk < 3 ; ++kk)
92 antisym_tensor[ii][jj][kk] = 0 ;
94 antisym_tensor[2][1][0] = 1;
95 antisym_tensor[1][2][0] = -1;
96 antisym_tensor[2][0][1] = -1;
97 antisym_tensor[0][2][1] = 1;
98 antisym_tensor[1][0][2] = 1;
99 antisym_tensor[0][1][2] = -1;
110 int length = timeslice.numSubsets();
114 multi1d<DComplex> hsum(length);
129 for(cf_3 = 0;cf_3 < ( Nc); ++cf_3 )
133 for(cf_1 = 0;cf_1 < ( Nc); ++cf_1 )
134 for(cf_2 = 0;cf_2 < ( Nc); ++cf_2 )
136 tmp = antisym_tensor[cf_3][cf_2][cf_1];
144 quark_cpt_A = peekColor(quark_propagator,cf_2,ci_2 );
145 quark_cpt_B = peekColor(quark_propagator,cf_3,ci_3);
147 uu_quark = quark_cpt_A * quark_cpt_B ;
151 quark_cpt_A = peekColor(quark_propagator,cf_1,ci_1);
155 b_prop += quark_cpt_A * uu_quark;
158 b_prop -= quark_cpt_A * uu_quark;
168 hsum = sumMulti(b_prop, timeslice);
170 for(
t = 0;
t < ( length); ++
t )
172 t_eff = (
t -
t0 + length) % length;
174 if (
bc_spec < 0 && (t_eff+
t0) >= length)
176 barprop[t_eff] = -hsum[
t] ;
179 barprop[t_eff] = hsum[
t];
188 multi1d<Complex> & barprop,
192 LatticeColorMatrix quark_propagator;
195 peekSpin(quark_propagator_in,0,0);
198 LatticeComplex b_prop;
199 LatticeComplex b_prop_local;
201 LatticeComplex uu_quark;
203 LatticeComplex quark_cpt_A ;
204 LatticeComplex quark_cpt_B ;
226 int antisym_tensor[3][3][3] ;
227 for(
int ii=0 ; ii < 3 ; ++ii)
228 for(
int jj=0 ; jj < 3 ; ++jj)
229 for(
int kk=0 ; kk < 3 ; ++kk)
230 antisym_tensor[ii][jj][kk] = 0 ;
232 antisym_tensor[2][1][0] = 1;
233 antisym_tensor[1][2][0] = -1;
234 antisym_tensor[2][0][1] = -1;
235 antisym_tensor[0][2][1] = 1;
236 antisym_tensor[1][0][2] = 1;
237 antisym_tensor[0][1][2] = -1;
248 int length = timeslice.numSubsets();
252 multi1d<DComplex> hsum(length);
267 for(cf_3 = 0;cf_3 < ( Nc); ++cf_3 )
271 for(cf_1 = 0;cf_1 < ( Nc); ++cf_1 )
272 for(cf_2 = 0;cf_2 < ( Nc); ++cf_2 )
274 tmp = antisym_tensor[cf_3][cf_2][cf_1];
282 quark_cpt_A = peekColor(quark_propagator,cf_2,ci_2 );
283 quark_cpt_B = peekColor(quark_propagator,cf_3,ci_3);
285 uu_quark = quark_cpt_A * quark_cpt_B ;
289 quark_cpt_A = peekColor(quark_propagator,cf_1,ci_1);
293 b_prop += quark_cpt_A * uu_quark;
296 b_prop -= quark_cpt_A * uu_quark;
307 LatticeBoolean ltest(
true) ;
309 for(
int m = 0;
m <
Nd; ++
m)
311 ltest &= ( (Layout::latticeCoordinate(
m) % 2) == 0);
313 b_prop_local = where(ltest, b_prop, LatticeComplex(
zero));
316 hsum = sumMulti(b_prop_local, timeslice);
318 for(
t = 0;
t < ( length); ++
t )
320 t_eff = (
t -
t0 + length) % length;
322 if (
bc_spec < 0 && (t_eff+
t0) >= length)
324 barprop[t_eff] = -hsum[
t] ;
327 barprop[t_eff] = hsum[
t];
336 const LatticeColorMatrix & quark_propagator_a,
337 const LatticeColorMatrix & quark_propagator_b,
338 const LatticeColorMatrix & quark_propagator_c,
356 LatticeStaggeredPropagator & quark_propagator_in_a,
357 LatticeStaggeredPropagator & quark_propagator_in_b,
358 LatticeStaggeredPropagator & quark_propagator_in_c,
359 multi1d<Complex> & barprop,
363 LatticeColorMatrix quark_propagator_a;
364 LatticeColorMatrix quark_propagator_b;
365 LatticeColorMatrix quark_propagator_c;
368 peekSpin(quark_propagator_in_a,0,0);
370 peekSpin(quark_propagator_in_b,0,0);
372 peekSpin(quark_propagator_in_c,0,0);
375 LatticeComplex b_prop;
376 LatticeComplex b_prop_local;
400 int antisym_tensor[3][3][3] ;
401 for(
int ii=0 ; ii < 3 ; ++ii)
402 for(
int jj=0 ; jj < 3 ; ++jj)
403 for(
int kk=0 ; kk < 3 ; ++kk)
404 antisym_tensor[ii][jj][kk] = 0 ;
406 antisym_tensor[2][1][0] = 1;
407 antisym_tensor[1][2][0] = -1;
408 antisym_tensor[2][0][1] = -1;
409 antisym_tensor[0][2][1] = 1;
410 antisym_tensor[1][0][2] = 1;
411 antisym_tensor[0][1][2] = -1;
422 int length = timeslice.numSubsets();
426 multi1d<DComplex> hsum(length);
440 for(ci_3= 0;ci_3 < Nc; ++ci_3)
441 for(ci_1= 0;ci_1 < Nc; ++ci_1)
442 for(ci_2= 0;ci_2 < Nc; ++ci_2)
446 for(cf_3 = 0;cf_3 < ( Nc); ++cf_3 )
448 for(cf_1 = 0;cf_1 < ( Nc); ++cf_1 )
449 for(cf_2 = 0;cf_2 < ( Nc); ++cf_2 )
452 antisym_tensor[cf_3][cf_2][cf_1] *
453 antisym_tensor[ci_3][ci_2][ci_1];
459 int sgn_epsilon =
c *
tmp;
524 std::cout <<
"Number of Wick contractions " << total << std::endl ;
527 LatticeBoolean ltest(
true) ;
529 for(
int m = 0;
m <
Nd; ++
m)
531 ltest &= ( (Layout::latticeCoordinate(
m) % 2) == 0);
533 b_prop_local = where(ltest, b_prop, LatticeComplex(
zero));
536 hsum = sumMulti(b_prop_local, timeslice);
538 for(
t = 0;
t < ( length); ++
t )
540 t_eff = (
t -
t0 + length) % length;
542 if (
bc_spec < 0 && (t_eff+
t0) >= length)
544 barprop[t_eff] = -hsum[
t] ;
547 barprop[t_eff] = hsum[
t];
553 double time_in_sec = swatch.getTimeInSeconds();
555 QDPIO::cout <<
"Baryon_s took " << time_in_sec
556 <<
" secs" << std::endl;
576 const LatticeColorMatrix & quark_propagator_a,
577 const LatticeColorMatrix & quark_propagator_b,
578 const LatticeColorMatrix & quark_propagator_c,
587 LatticeComplex uu_quark;
589 LatticeComplex quark_cpt_A ;
590 LatticeComplex quark_cpt_B ;
593 quark_cpt_A = peekColor(quark_propagator_a,cf_2,ci_2 );
594 quark_cpt_B = peekColor(quark_propagator_b,cf_3,ci_3);
596 uu_quark = quark_cpt_A * quark_cpt_B ;
600 quark_cpt_A = peekColor(quark_propagator_c,cf_1,ci_1);
602 int cc = sgn_epsilon * wick_sign ;
607 b_prop += quark_cpt_A * uu_quark;
610 b_prop -= quark_cpt_A * uu_quark;
Primary include file for CHROMA library code.
Function object used for constructing the time-slice set.
int operator()(const multi1d< int > &coordinate) const
Function object used for constructing the time-slice set.
Asqtad Staggered-Dirac operator.
void baryon_local_s(LatticeStaggeredPropagator &quark_propagator_in, multi1d< Complex > &barprop, multi1d< int > &t_source, int j_decay, int bc_spec)
void baryon_s(LatticeStaggeredPropagator &quark_propagator_in, multi1d< Complex > &barprop, multi1d< int > &t_source, int j_decay, int bc_spec)
void lower_contract(LatticeComplex &b_prop, const LatticeColorMatrix &quark_propagator_a, const LatticeColorMatrix &quark_propagator_b, const LatticeColorMatrix &quark_propagator_c, int cf_1, int ci_1, int cf_2, int ci_2, int cf_3, int ci_3, int sgn_epsilon, int wick_sign)