CHROMA
heavy_hadron_potentials_w.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 // $id: heavy_hadron_potentials_w.h,v 1.1 2008/07/21 17:59:14 kostas Exp $
3 /*! \file
4  * \brief Potential between 2 heavy hadrons : Detmold
5  *
6  * Includes Lambda-b's etc
7  */
8 
9 #ifndef __HHPOT_h__
10 #define __HHPOT_h__
11 
12 #include "chromabase.h"
13 #include "util/ft/sftmom.h"
14 
15 namespace Chroma
16 {
17 
18  //! Heavy hadron potentials
19  /*!
20  * \ingroup hadron
21  *
22  * This routine is specific to Wilson fermions!
23  *
24  *
25  * \param u gauge field (Read)
26  * \param quark1 quark propagator ( Read )
27  * \param quark2 quark propagator ( Read )
28  * \param src1 cartesian coordinates of one source ( Read )
29  * \param src2 cartesian coordinates of the other source ( Read )
30  * \param phases object holds list of momenta and Fourier phases ( Read )
31  * \param xml xml file object ( Read )
32  * \param xml_group group name for xml data ( Read )
33  *
34  */
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,
40  const SftMom& phases,
41  XMLWriter& xml,
42  const std::string& xml_group);
43 
44 
45  // Data classes
46  class QllBlock{
47  private:
48  multi1d<DComplex> data;
49  int mysize;
50  int Nt;
51 
52  public:
53 
54  QllBlock(int len){
55  Nt = len;
56  mysize = Nt * Nc * Nc * Nc * Ns * Ns;
57  data.resize(mysize);
58  data = 0;
59  };
60 
61  QllBlock(int len,
62  multi1d<DPropagator> Q1,
63  multi1d<DPropagator> Q2,
64  const SpinMatrix& S,
65  multiNd<DComplex> HQ)
66  {
67  Nt = len;
68  mysize = Nt * Nc * Nc * Nc * Ns * Ns;
69  data.resize(mysize);
70  data = 0;
71 
72  data = makeQllBlock(Q1, Q2, S, HQ, mysize, Nt);
73  };
74 
75  ~QllBlock(){};
76 
77  const DComplex& operator()(int t, int a, int b, int c, int alpha, int beta) const{
78 
79  return data[a + Nc*(b + Nc*(c + Nc* (alpha + Ns *(t + Nt* beta))))];
80  };
81 
82  const DComplex& operator()(multi1d<int> ind) const {
83 
84  if (ind.size() != 6)
85  {
86  QDPIO::cerr << "Incorrect QllBlock index" << std::endl;
87  QDP_abort(1);
88  }
89 
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];
92 
93  return data[a + Nc*(b + Nc*(c + Nc* (alpha + Ns *(t + Nt* beta))))];
94  };
95 
96  int size() const {return mysize;};
97 
98  int length() const {return Nt;};
99 
100  multi1d<DComplex> makeQllBlock( multi1d<DPropagator> Q1,
101  multi1d<DPropagator> Q2,
102  const SpinMatrix& S,
103  multiNd<DComplex> HQ,
104  int size,
105  int length) const
106  {
107  multi1d<DComplex> result(size);
108  multi1d<int> Carray;
109  Carray.resize(4);
110  SpinMatrix Q1tmp, Q2tmp;
111  DComplex thisres, Q1ttmp, Q2ttmp, HQtmp;
112  for (int t=0; t<length; t++){
113  Carray[0]=t;
114  for (int a=0; a<Nc; a++){
115  for (int b=0; b<Nc; b++){
116  for (int c=0; c<Nc; c++){
117  Carray[3]=c;
118  for (int alpha=0; alpha<Nd; alpha++){
119  for (int beta=0; beta<Nd; beta++){
120  thisres = 0;
121  for (int aa=0; aa<Nc; aa++){
122  Carray[1]=aa;
123  for (int bb=0; bb<Nc; bb++){
124  Carray[2]=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);
129  HQtmp = HQ[Carray];
130  Q1ttmp = peekSpin(Q1tmp,rho,alpha);
131  Q2ttmp = peekSpin(Q2tmp,sigma,beta);
132  thisres += Q1ttmp * Q2ttmp * peekSpin(S,rho,sigma) * HQtmp;
133  }
134  }
135  }
136  }
137  result[a + Nc*(b + Nc*(c + Nc* (alpha + Ns *(t + Nt* beta))))] = thisres;
138  }
139  }
140  }
141  }
142  }
143  }
144  return result;
145  };
146 
147  };
148 
149 
150 
152  // This can be either Qbarl or Qlbar meson
153  private:
154  multi1d<DComplex> data;
155  int mysize;
156  int Nt;
157 
158  public:
159  HeavyMesonBlock(int len){
160  Nt = len;
161  mysize = Nt * Nc * Nc * Nc * Ns * Ns;
162  data.resize(mysize);
163  data = 0;
164  };
165 
167  multi1d<DPropagator> Q,
168  const SpinMatrix& S,
169  multi1d<ColorMatrix> HQ,
170  const SpinMatrix& HQspin)
171  {
172  Nt = len;
173  mysize = Nt * Nc * Nc * Ns * Ns;
174  data.resize(mysize);
175  data = makeHeavyMesonBlock(Q, S, HQ, HQspin, mysize, Nt);
176  };
177 
179 
180  const DComplex& operator()(int t, int a, int b, int alpha, int beta) const {
181 
182  return data[a + Nc*(b + Nc* (alpha + Ns *(t + Nt* beta)))];
183  };
184 
185  const DComplex& operator()(multi1d<int> ind) const {
186 
187  if (ind.size() != 5)
188  {
189  QDPIO::cerr << "Incorrect HeavyMesonBlock index" << std::endl;
190  QDP_abort(1);
191  }
192 
193  int t=ind[0]; int a=ind[1]; int b=ind[2];
194  int alpha=ind[3]; int beta=ind[4];
195 
196  return data[a + Nc*(b + Nc* (alpha + Ns *(t + Nt* beta)))];
197  };
198 
199  int size() const {return mysize;};
200 
201  int length() const {return Nt;};
202 
203  multi1d<DComplex> makeHeavyMesonBlock(multi1d<DPropagator> Q,
204  const SpinMatrix& S,
205  multi1d<ColorMatrix> HQ,
206  const SpinMatrix& HQspin,
207  int size,
208  int Nt) const
209  // For Qbarl : HQspin = 0.5 * (g_one - g_one * Gamma(8)); // This is the antiQ projector
210  // For Qlbar : HQspin = 0.5 * (g_one + g_one * Gamma(8)); // This is the Q projector
211  {
212  multi1d<DComplex> result(size);
213  SpinMatrix Qtmp, U2tmp, opg4, g_one;
214  g_one = 1.0;
215  DComplex thisres, Qttmp, U2ttmp, HQtmp, Stmp;
216  result=0;
217  for (int t=0; t<Nt; t++){
218  for (int a=0; a<Nc; a++){ // output colour index
219  for (int b=0; b<Nc; b++){ // output colour index
220  for (int alpha=0; alpha<Nd; alpha++){ // output spin index
221  for (int beta=0; beta<Nd; beta++){ // output spin index
222  thisres = 0;
223  for (int c=0; c<Nc; c++){ // colour index summed over
224  for (int rho=0; rho<Nd; rho++){ // spin index summed over
225  for (int sigma=0; sigma<Nd; sigma++){ // spin index summed over
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;
231  }
232  }
233  }
234  result[a + Nc*(b + Nc* (alpha + Ns *(t + Nt* beta)))] = thisres;
235  }
236  }
237  }
238  }
239  }
240  return result;
241  };
242 
243  };
244 
245 
246 
247  // Work
248  multiNd<DComplex> HBQfunc(const multi1d<ColorMatrix>& HQ);
249 
250  multiNd<DComplex> antiHBQfunc(const multi1d<ColorMatrix>& HQ);
251 
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);
257 
258  multi1d<DComplex> c4contract( const QllBlock& B1, const QllBlock& B2,
259  const QllBlock& B3, const QllBlock& B4,
260  const QllBlock& B5,
261  const SpinMatrix& S1, const SpinMatrix& S2);
262 
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);
268 
269  multi1d<DComplex> c6contract( const QllBlock& B1, const QllBlock& B2,
270  const SpinMatrix& S1, const SpinMatrix& S2);
271 
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);
275 
276  multi1d<DComplex> d1contract(const QllBlock& BzU1zD1z0zCG5, const QllBlock& BzU3zD1z0zCG5,
277  const HeavyMesonBlock& HzU2zRzC, const HeavyMesonBlock& HzU4zRzC,
278  const SpinMatrix& mesonS1, const SpinMatrix& baryonS2);
279 
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);
283 
284  multi1d<DComplex> d3contract(const QllBlock& BzU1zU1z0zCGi, const HeavyMesonBlock& HzU2zRzG5,
285  const SpinMatrix& mesonS1, const SpinMatrix& baryonS2);
286 
287  multi1d<DComplex> m1contract( const HeavyMesonBlock& H1, const HeavyMesonBlock& H2,
288  const HeavyMesonBlock& H3, const HeavyMesonBlock& H4,
289  const SpinMatrix& S1, const SpinMatrix& S2);
290 
291  multi1d<DComplex> m2contract( const HeavyMesonBlock& H1, const HeavyMesonBlock& H2,
292  const SpinMatrix& S1, const SpinMatrix& S2);
293 
294  multi1d<DComplex> bcontract(const HeavyMesonBlock& H1,
295  const SpinMatrix& S1);
296 
297  multi1d<DComplex> lambdabcontract(const QllBlock& H1,
298  const SpinMatrix& S1);
299 
300  multi1d<DComplex> sigmabpluscontract(const QllBlock& H1,
301  const SpinMatrix& S1);
302 
303  multi2d<DComplex> c1J2corr(const QllBlock& B1,const QllBlock& B2,const QllBlock& B3,
304  const QllBlock& B4,const QllBlock& B5,const QllBlock& B6,
305  const QllBlock& B7,const QllBlock& B8,const QllBlock& B9,
306  const QllBlock& B10,const QllBlock& B11,const QllBlock& B12,
307  const QllBlock& B13,const QllBlock& B14,const QllBlock& B15,
308  const QllBlock& B16,const QllBlock& B17,const QllBlock& B18,
309  const QllBlock& B19,const QllBlock& B20,const QllBlock& B21,
310  const QllBlock& B22,const QllBlock& B23,const QllBlock& B24);
311 
312  multi2d<DComplex> c4J2corr(const QllBlock& B1,const QllBlock& B2,const QllBlock& B3,
313  const QllBlock& B4,const QllBlock& B5,const QllBlock& B6,
314  const QllBlock& B7,const QllBlock& B8,const QllBlock& B9,
315  const QllBlock& B10,const QllBlock& B11,const QllBlock& B12,
316  const QllBlock& B13,const QllBlock& B14,const QllBlock& B15);
317 
318  multi2d<DComplex> c5J2corr(const QllBlock& B1,const QllBlock& B2,const QllBlock& B3,
319  const QllBlock& B4,const QllBlock& B5,const QllBlock& B6,
320  const QllBlock& B7,const QllBlock& B8,const QllBlock& B9,
321  const QllBlock& B10,const QllBlock& B11,const QllBlock& B12,
322  const QllBlock& B13,const QllBlock& B14,const QllBlock& B15,
323  const QllBlock& B16,const QllBlock& B17,const QllBlock& B18,
324  const QllBlock& B19,const QllBlock& B20,const QllBlock& B21,
325  const QllBlock& B22,const QllBlock& B23,const QllBlock& B24);
326 
327  multi2d<DComplex> c6J2corr(const QllBlock& B1,const QllBlock& B2,const QllBlock& B3,
328  const QllBlock& B4,const QllBlock& B5,const QllBlock& B6);
329 
330 
331  multi2d<DComplex> d2J32corr(const QllBlock& BzU1zU1z0zCGplus, const QllBlock& BzU3zU1z0zCGplus, const QllBlock& BzU1zU3z0zCGplus,
332  const HeavyMesonBlock& HzU2zRzGup, const HeavyMesonBlock& HzU4zRzGup,
333  const QllBlock& BzU1zU1z0zCG3, const QllBlock& BzU3zU1z0zCG3, const QllBlock& BzU1zU3z0zCG3,
334  const QllBlock& BzU1zU1z0zCGminus, const QllBlock& BzU3zU1z0zCGminus, const QllBlock& BzU1zU3z0zCGminus,
335  const HeavyMesonBlock& HzU2zRzGdown, const HeavyMesonBlock& HzU4zRzGdown);
336 
337  multi2d<DComplex> d3J32corr(const QllBlock& BzU1zU1z0zCGplus,
338  const HeavyMesonBlock& HzU2zRzGup,
339  const QllBlock& BzU1zU1z0zCG3,
340  const QllBlock& BzU1zU1z0zCGminus,
341  const HeavyMesonBlock& HzU2zRzGdown);
342 
343 }
344 
345 #endif
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
multi1d< DComplex > data
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.
int t
Definition: meslate.cc:37
Nd
Definition: meslate.cc:74
static const LatticeInteger & beta(const int dim)
Definition: stag_phases_s.h:47
static const LatticeInteger & alpha(const int dim)
Definition: stag_phases_s.h:43
Asqtad Staggered-Dirac operator.
Definition: klein_gord.cc:10
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)
Double c
Definition: invbicg.cc:108
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)
Complex a
Definition: invbicg.cc:95
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)
Complex b
Definition: invbicg.cc:96
multi1d< DComplex > lambdabcontract(const QllBlock &BzU1zD1z0zCG5, const SpinMatrix &S1)
::std::string string
Definition: gtest.h:1979
Fourier transform phase factor support.