35 void QllQllPOT(
const multi1d<LatticeColorMatrix>&
u,
36 const LatticePropagator& quark1,
37 const LatticePropagator& quark2,
38 const multi1d<int>& src1,
39 const multi1d<int>& src2,
56 mysize =
Nt * Nc * Nc * Nc * Ns * Ns;
62 multi1d<DPropagator> Q1,
63 multi1d<DPropagator> Q2,
68 mysize =
Nt * Nc * Nc * Nc * Ns * Ns;
86 QDPIO::cerr <<
"Incorrect QllBlock index" << std::endl;
90 int t=ind[0];
int a=ind[1];
int b=ind[2];
91 int c=ind[3];
int alpha=ind[4];
int beta=ind[5];
101 multi1d<DPropagator> Q2,
103 multiNd<DComplex> HQ,
107 multi1d<DComplex> result(
size);
110 SpinMatrix Q1tmp, Q2tmp;
111 DComplex thisres, Q1ttmp, Q2ttmp, HQtmp;
114 for (
int a=0;
a<Nc;
a++){
115 for (
int b=0;
b<Nc;
b++){
116 for (
int c=0;
c<Nc;
c++){
121 for (
int aa=0; aa<Nc; aa++){
123 for (
int bb=0; bb<Nc; bb++){
125 for (
int rho=0; rho<
Nd; rho++){
126 for (
int sigma=0; sigma<
Nd; sigma++){
127 Q1tmp = peekColor(Q1[
t],aa,
a);
128 Q2tmp = peekColor(Q2[
t],bb,
b);
130 Q1ttmp = peekSpin(Q1tmp,rho,
alpha);
131 Q2ttmp = peekSpin(Q2tmp,sigma,
beta);
132 thisres += Q1ttmp * Q2ttmp * peekSpin(S,rho,sigma) * HQtmp;
137 result[
a + Nc*(
b + Nc*(
c + Nc* (
alpha + Ns *(
t +
Nt*
beta))))] = thisres;
161 mysize =
Nt * Nc * Nc * Nc * Ns * Ns;
167 multi1d<DPropagator>
Q,
169 multi1d<ColorMatrix> HQ,
170 const SpinMatrix& HQspin)
189 QDPIO::cerr <<
"Incorrect HeavyMesonBlock index" << std::endl;
193 int t=ind[0];
int a=ind[1];
int b=ind[2];
205 multi1d<ColorMatrix> HQ,
206 const SpinMatrix& HQspin,
212 multi1d<DComplex> result(
size);
213 SpinMatrix Qtmp, U2tmp, opg4, g_one;
215 DComplex thisres, Qttmp, U2ttmp, HQtmp, Stmp;
217 for (
int t=0;
t<
Nt;
t++){
218 for (
int a=0;
a<Nc;
a++){
219 for (
int b=0;
b<Nc;
b++){
223 for (
int c=0;
c<Nc;
c++){
224 for (
int rho=0; rho<
Nd; rho++){
225 for (
int sigma=0; sigma<
Nd; sigma++){
226 Qtmp = peekColor(
Q[
t],
c,
b);
227 HQtmp = peekColor(HQ[
t],
a,
c) * peekSpin(HQspin,
alpha,rho);
228 Stmp = peekSpin(S, sigma,rho);
229 Qttmp = peekSpin(Qtmp,sigma,
beta);
230 thisres += Qttmp * Stmp * HQtmp;
248 multiNd<DComplex>
HBQfunc(
const multi1d<ColorMatrix>& HQ);
250 multiNd<DComplex>
antiHBQfunc(
const multi1d<ColorMatrix>& HQ);
252 multi1d<DComplex>
c1contract(
const QllBlock& B1,
const QllBlock& B2,
253 const QllBlock& B3,
const QllBlock& B4,
254 const QllBlock& B5,
const QllBlock& B6,
255 const QllBlock& B7,
const QllBlock& B8,
256 const SpinMatrix& S1,
const SpinMatrix& S2);
258 multi1d<DComplex>
c4contract(
const QllBlock& B1,
const QllBlock& B2,
259 const QllBlock& B3,
const QllBlock& B4,
261 const SpinMatrix& S1,
const SpinMatrix& S2);
263 multi1d<DComplex>
c5contract(
const QllBlock& B1,
const QllBlock& B2,
264 const QllBlock& B3,
const QllBlock& B4,
265 const QllBlock& B5,
const QllBlock& B6,
266 const QllBlock& B7,
const QllBlock& B8,
267 const SpinMatrix& S1,
const SpinMatrix& S2);
269 multi1d<DComplex>
c6contract(
const QllBlock& B1,
const QllBlock& B2,
270 const SpinMatrix& S1,
const SpinMatrix& S2);
272 multi1d<DComplex>
c7contract(
const QllBlock& BzU1zD3z0zCG5,
const QllBlock& BzU2zU4zRzCGii,
const QllBlock& BzU3zD3z0zCG5,
273 const QllBlock& BzU4zU2zRzCGii,
const QllBlock& BzU4zU4zRzCGii,
274 const SpinMatrix& S1,
const SpinMatrix& S2);
276 multi1d<DComplex>
d1contract(
const QllBlock& BzU1zD1z0zCG5,
const QllBlock& BzU3zD1z0zCG5,
277 const HeavyMesonBlock& HzU2zRzC,
const HeavyMesonBlock& HzU4zRzC,
278 const SpinMatrix& mesonS1,
const SpinMatrix& baryonS2);
280 multi1d<DComplex>
d2contract(
const QllBlock& BzU1zU1z0zCGi,
const QllBlock& BzU3zU1z0zCGi,
const QllBlock& BzU1zU3z0zCGi,
281 const HeavyMesonBlock& HzU2zRzG5,
const HeavyMesonBlock& HzU4zRzG5,
282 const SpinMatrix& mesonS1,
const SpinMatrix& baryonS2);
284 multi1d<DComplex>
d3contract(
const QllBlock& BzU1zU1z0zCGi,
const HeavyMesonBlock& HzU2zRzG5,
285 const SpinMatrix& mesonS1,
const SpinMatrix& baryonS2);
287 multi1d<DComplex>
m1contract(
const HeavyMesonBlock& H1,
const HeavyMesonBlock& H2,
288 const HeavyMesonBlock& H3,
const HeavyMesonBlock& H4,
289 const SpinMatrix& S1,
const SpinMatrix& S2);
291 multi1d<DComplex>
m2contract(
const HeavyMesonBlock& H1,
const HeavyMesonBlock& H2,
292 const SpinMatrix& S1,
const SpinMatrix& S2);
294 multi1d<DComplex>
bcontract(
const HeavyMesonBlock& H1,
295 const SpinMatrix& S1);
298 const SpinMatrix& S1);
301 const SpinMatrix& S1);
Primary include file for CHROMA library code.
const DComplex & operator()(int t, int a, int b, int alpha, int beta) const
multi1d< DComplex > makeHeavyMesonBlock(multi1d< DPropagator > Q, const SpinMatrix &S, multi1d< ColorMatrix > HQ, const SpinMatrix &HQspin, int size, int Nt) const
HeavyMesonBlock(int len, multi1d< DPropagator > Q, const SpinMatrix &S, multi1d< ColorMatrix > HQ, const SpinMatrix &HQspin)
const DComplex & operator()(multi1d< int > ind) const
const DComplex & operator()(multi1d< int > ind) const
multi1d< DComplex > makeQllBlock(multi1d< DPropagator > Q1, multi1d< DPropagator > Q2, const SpinMatrix &S, multiNd< DComplex > HQ, int size, int length) const
const DComplex & operator()(int t, int a, int b, int c, int alpha, int beta) const
QllBlock(int len, multi1d< DPropagator > Q1, multi1d< DPropagator > Q2, const SpinMatrix &S, multiNd< DComplex > HQ)
void QllQllPOT(const multi1d< LatticeColorMatrix > &u, const LatticePropagator &quark1, const LatticePropagator &quark2, const multi1d< int > &src1, const multi1d< int > &src2, const SftMom &phases, XMLWriter &xml, const std::string &xml_group)
Heavy hadron potentials for SU(2) isospin limit.
static const LatticeInteger & beta(const int dim)
static const LatticeInteger & alpha(const int dim)
Asqtad Staggered-Dirac operator.
multi1d< DComplex > c1contract(const QllBlock &BzU1zD1z0zCg5, const QllBlock &BzU1zD3z0zCg5, const QllBlock &BzU2zD2zRzCg5, const QllBlock &BzU2zD4zRzCg5, const QllBlock &BzU3zD1z0zCg5, const QllBlock &BzU3zD3z0zCg5, const QllBlock &BzU4zD2zRzCg5, const QllBlock &BzU4zD4zRzCg5, const SpinMatrix &S1, const SpinMatrix &S2)
multi1d< DComplex > c4contract(const QllBlock &BzU1zD1z0zCgjj, const QllBlock &BzU2zU2zRzCgii, const QllBlock &BzU2zU4zRzCgii, const QllBlock &BzU3zD1z0zCgjj, const QllBlock &BzU4zU2zRzCgii, const SpinMatrix &S1, const SpinMatrix &S2)
multi1d< DComplex > c5contract(const QllBlock &BzU1zU1z0zCgjj, const QllBlock &BzU1zU3z0zCgjj, const QllBlock &BzU2zU2zRzCgii, const QllBlock &BzU2zU4zRzCgii, const QllBlock &BzU3zU1z0zCgjj, const QllBlock &BzU3zU3z0zCgjj, const QllBlock &BzU4zU2zRzCgii, const QllBlock &BzU4zU4zRzCgii, const SpinMatrix &S1, const SpinMatrix &S2)
static multi1d< LatticeColorMatrix > u
multi1d< DComplex > bcontract(const HeavyMesonBlock &H1, const SpinMatrix &S1)
LinOpSysSolverMGProtoClover::Q Q
multi2d< DComplex > c1J2corr(const QllBlock &B1, const QllBlock &B2, const QllBlock &B3, const QllBlock &B4, const QllBlock &B5, const QllBlock &B6, const QllBlock &B7, const QllBlock &B8, const QllBlock &B9, const QllBlock &B10, const QllBlock &B11, const QllBlock &B12, const QllBlock &B13, const QllBlock &B14, const QllBlock &B15, const QllBlock &B16, const QllBlock &B17, const QllBlock &B18, const QllBlock &B19, const QllBlock &B20, const QllBlock &B21, const QllBlock &B22, const QllBlock &B23, const QllBlock &B24)
multi2d< DComplex > c5J2corr(const QllBlock &BzU1zU1z0zCgplus, const QllBlock &BzU1zU3z0zCgplus, const QllBlock &BzU2zU2zRzCgplus, const QllBlock &BzU2zU4zRzCgplus, const QllBlock &BzU3zU1z0zCgplus, const QllBlock &BzU3zU3z0zCgplus, const QllBlock &BzU4zU2zRzCgplus, const QllBlock &BzU4zU4zRzCgplus, const QllBlock &BzU1zU1z0zCg3, const QllBlock &BzU1zU3z0zCg3, const QllBlock &BzU2zU2zRzCg3, const QllBlock &BzU2zU4zRzCg3, const QllBlock &BzU3zU1z0zCg3, const QllBlock &BzU3zU3z0zCg3, const QllBlock &BzU4zU2zRzCg3, const QllBlock &BzU4zU4zRzCg3, const QllBlock &BzU1zU1z0zCgminus, const QllBlock &BzU1zU3z0zCgminus, const QllBlock &BzU2zU2zRzCgminus, const QllBlock &BzU2zU4zRzCgminus, const QllBlock &BzU3zU1z0zCgminus, const QllBlock &BzU3zU3z0zCgminus, const QllBlock &BzU4zU2zRzCgminus, const QllBlock &BzU4zU4zRzCgminus)
multiNd< DComplex > HBQfunc(const multi1d< ColorMatrix > &HQ)
multi1d< DComplex > m2contract(const HeavyMesonBlock &HzU1z0zG5, const HeavyMesonBlock &HzD2zRzG5, const SpinMatrix &S1, const SpinMatrix &S2)
multi2d< DComplex > d2J32corr(const QllBlock &BzU1zU1z0zCgplus, const QllBlock &BzU3zU1z0zCgplus, const QllBlock &BzU1zU3z0zCgplus, const HeavyMesonBlock &HzU2zRzGup, const HeavyMesonBlock &HzU4zRzGup, const QllBlock &BzU1zU1z0zCg3, const QllBlock &BzU3zU1z0zCg3, const QllBlock &BzU1zU3z0zCg3, const QllBlock &BzU1zU1z0zCgminus, const QllBlock &BzU3zU1z0zCgminus, const QllBlock &BzU1zU3z0zCgminus, const HeavyMesonBlock &HzU2zRzGdown, const HeavyMesonBlock &HzU4zRzGdown)
multi2d< DComplex > c4J2corr(const QllBlock &BzU1zD1z0zCgplus, const QllBlock &BzU2zU2zRzCgplus, const QllBlock &BzU2zU4zRzCgplus, const QllBlock &BzU3zD1z0zCgplus, const QllBlock &BzU4zU2zRzCgplus, const QllBlock &BzU1zD1z0zCg3, const QllBlock &BzU2zU2zRzCg3, const QllBlock &BzU2zU4zRzCg3, const QllBlock &BzU3zD1z0zCg3, const QllBlock &BzU4zU2zRzCg3, const QllBlock &BzU1zD1z0zCgminus, const QllBlock &BzU2zU2zRzCgminus, const QllBlock &BzU2zU4zRzCgminus, const QllBlock &BzU3zD1z0zCgminus, const QllBlock &BzU4zU2zRzCgminus)
multi1d< DComplex > c6contract(const QllBlock &BzD1zD1z0zCgjj, const QllBlock &BzU2zU2zRzCgii, const SpinMatrix &S1, const SpinMatrix &S2)
multi2d< DComplex > c6J2corr(const QllBlock &BzD1zD1z0zCgplus, const QllBlock &BzU2zU2zRzCgplus, const QllBlock &BzD1zD1z0zCg3, const QllBlock &BzU2zU2zRzCg3, const QllBlock &BzD1zD1z0zCgminus, const QllBlock &BzU2zU2zRzCgminus)
multi1d< DComplex > sigmabpluscontract(const QllBlock &BzU1zU1z0zCGi, const SpinMatrix &S1)
multi1d< DComplex > m1contract(const HeavyMesonBlock &HzU1z0zG5, const HeavyMesonBlock &HzU2zRzG5, const HeavyMesonBlock &HzU3z0zG5, const HeavyMesonBlock &HzU4zRzG5, const SpinMatrix &S1, const SpinMatrix &S2)
multi1d< DComplex > d3contract(const QllBlock &BzU1zU1z0zCGi, const HeavyMesonBlock &HzD2zRzG5, const SpinMatrix &mesonS1, const SpinMatrix &baryonS2)
multi1d< DComplex > c7contract(const QllBlock &BzU1zD3z0zCG5, const QllBlock &BzU2zU4zRzCGii, const QllBlock &BzU3zD3z0zCG5, const QllBlock &BzU4zU2zRzCGii, const QllBlock &BzU4zU4zRzCGii, const SpinMatrix &S1, const SpinMatrix &S2)
multiNd< DComplex > antiHBQfunc(const multi1d< ColorMatrix > &HQ)
multi1d< DComplex > d1contract(const QllBlock &BzU1zD1z0zCG5, const QllBlock &BzU3zD1z0zCG5, const HeavyMesonBlock &HzU2zRzG5, const HeavyMesonBlock &HzU4zRzG5, const SpinMatrix &mesonS1, const SpinMatrix &baryonS2)
multi2d< DComplex > d3J32corr(const QllBlock &BzU1zU1z0zCgplus, const HeavyMesonBlock &HzU2zRzGup, const QllBlock &BzU1zU1z0zCg3, const QllBlock &BzU1zU1z0zCgminus, const HeavyMesonBlock &HzU2zRzGdown)
multi1d< DComplex > d2contract(const QllBlock &BzU1zU1z0zCGi, const QllBlock &BzU3zU1z0zCGi, const QllBlock &BzU1zU3z0zCGi, const HeavyMesonBlock &HzU2zRzG5, const HeavyMesonBlock &HzU4zRzG5, const SpinMatrix &mesonS1, const SpinMatrix &baryonS2)
multi1d< DComplex > lambdabcontract(const QllBlock &BzU1zD1z0zCG5, const SpinMatrix &S1)
Fourier transform phase factor support.