38 void baryon(
const LatticePropagator& quark_propagator,
46 if ( Ns != 4 || Nc != 3 )
49 multi3d<DComplex> bardisp1;
50 multi3d<DComplex> bardisp2;
53 baryon(quark_propagator, phases, bardisp1);
62 LatticePropagator
q1_tmp = - (Gamma(7) * quark_propagator * Gamma(7));
68 int num_baryons = bardisp1.size3();
69 int num_mom = bardisp1.size2();
70 int length = bardisp1.size1();
73 XMLArrayWriter xml_bar(xml,num_baryons);
74 push(xml_bar, xml_group);
76 for(
int baryons = 0; baryons < num_baryons; ++baryons)
79 write(xml_bar,
"baryon_num", baryons);
82 XMLArrayWriter xml_sink_mom(xml_bar,num_mom);
83 push(xml_sink_mom,
"momenta");
85 for(
int sink_mom_num = 0; sink_mom_num < num_mom; ++sink_mom_num)
88 write(xml_sink_mom,
"sink_mom_num", sink_mom_num) ;
89 write(xml_sink_mom,
"sink_mom", phases.
numToMom(sink_mom_num)) ;
91 multi1d<Complex> barprop(length);
94 for(
int t = 0;
t < length; ++
t)
96 int t_eff = (
t -
t0 + length) % length;
99 barprop[t_eff] = -bardisp1[baryons][sink_mom_num][
t];
101 barprop[t_eff] = bardisp1[baryons][sink_mom_num][
t];
107 for(
int t = 0;
t < length; ++
t)
109 int t_eff = (length -
t +
t0) % length;
113 barprop[t_eff] -= bardisp2[baryons][sink_mom_num][
t];
114 barprop[t_eff] *= 0.5;
118 barprop[t_eff] += bardisp2[baryons][sink_mom_num][
t];
119 barprop[t_eff] *= 0.5;
124 write(xml_sink_mom,
"barprop", barprop);
140 LatticeComplex
nucl2pt(
const LatticePropagator& quark_propagator,
141 const SpinMatrix&
T,
const SpinMatrix&
sp)
145 LatticePropagator
di_quark = quarkContract13(quark_propagator *
sp,
146 sp * quark_propagator);
147 return LatticeComplex(trace(
T * traceColor(quark_propagator * traceSpin(
di_quark)))
148 + trace(
T * traceColor(quark_propagator *
di_quark)));
159 LatticeComplex
delta2pt(
const LatticePropagator& quark_propagator,
160 const SpinMatrix&
T,
const SpinMatrix&
sp)
163 LatticePropagator
di_quark = quarkContract13(quark_propagator *
sp,
164 sp * quark_propagator);
165 return LatticeComplex(trace(
T * traceColor(quark_propagator * traceSpin(
di_quark)))
166 + 2*trace(
T * traceColor(quark_propagator *
di_quark)));
229 void baryon(
const LatticePropagator& quark_propagator,
231 multi3d<DComplex>& barprop)
238 if ( Ns != 4 || Nc != 3 )
242 const int num_baryons = 22;
243 int num_mom = phases.
numMom();
244 barprop.resize(num_baryons,num_mom,length);
265 LatticeComplex b_prop;
268 for(
int baryons = 0; baryons < num_baryons; ++baryons)
279 b_prop =
nucl2pt(quark_propagator, T_mixed,
Cg5);
380 b_prop =
nucl2pt(quark_propagator, T_unpol,
Cg5);
497 b_prop =
nucl2pt(quark_propagator,
506 multi2d<DComplex> hsum;
507 hsum = phases.
sft(b_prop);
509 for(
int sink_mom_num=0; sink_mom_num < num_mom; ++sink_mom_num)
510 for(
int t = 0;
t < length; ++
t)
513 barprop[baryons][sink_mom_num][
t] = hsum[sink_mom_num][
t];
Baryon spin and projector matrices.
Primary include file for CHROMA library code.
Fourier transform phase factor support.
int numSubsets() const
Number of subsets - length in decay direction.
multi1d< int > numToMom(int mom_num) const
Convert momenta id to actual array of momenta.
multi2d< DComplex > sft(const LatticeComplex &cf) const
Do a sumMulti(cf*phases,getSet())
int numMom() const
Number of momenta.
void write(XMLWriter &xml, const std::string &path, const AsqtadFermActParams ¶m)
Writer parameters.
LatticeComplex delta2pt(const LatticePropagator &quark_propagator, const SpinMatrix &T, const SpinMatrix &sp)
Delta 2-pt.
void baryon(const LatticePropagator &quark_propagator, const SftMom &phases, int t0, int bc_spec, bool time_rev, XMLWriter &xml, const std::string &xml_group)
Baryon 2-pt functions.
LatticeComplex nucl2pt(const LatticePropagator &quark_propagator, const SpinMatrix &T, const SpinMatrix &sp)
Nucleon 2-pt.
SpinMatrix Cg4m()
C gamma_4 gamma_- = Cg4m.
SpinMatrix Tmixed()
T = (1 + \Sigma_3)*(1 + gamma_4) / 2 = (1 + Gamma(8) - i G(3) - i G(11)) / 2.
SpinMatrix Tunpol()
T = (1 + gamma_4) / 2 = (1 + Gamma(8)) / 2.
SpinMatrix Cg5NRnegPar()
C g_5 NR = (1/2)*C gamma_5 * ( 1 - g_4 )
SpinMatrix CgkNR(int k)
C g_k NR = C gamma_k (1/2)(1 + gamma_4)
SpinMatrix Cgm()
C gamma_- = Cgm = (C gamma_-)^T.
SpinMatrix TmixedNegPar()
T = (1 - \Sigma_3)*(1 - gamma_4) / 2 = (1 - Gamma(8) + i G(3) - i G(11)) / 2.
SpinMatrix CgmNR()
C gamma_- NR = CgmNR = C gamma_- (1/2)(1 + gamma_4)
SpinMatrix Cg5()
C g_5 = C gamma_5 = Gamma(5)
SpinMatrix C()
C = Gamma(10)
SpinMatrix Cgk(int k)
C g_k = C gamma_k.
SpinMatrix Cg4gk(int k)
C g4 g_k = C gamma_4 gamma_k.
SpinMatrix Cg5NR()
C g_5 NR = (1/2)*C gamma_5 * ( 1 + g_4 )
SpinMatrix Cg5g4()
C gamma_5 gamma_4 = - Gamma(13)
LatticePropagator di_quark
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)
push(xml_out,"Condensates")
LinOpSysSolverMGProtoClover::T T
Fourier transform phase factor support.