Exercise 7: Rho Meson
Goals: Computing vector meson two-point function
Concepts: Gamma matrices
Directory: $HOME/examples/07-rho
How to: $ cd $HOME/examples/07-rho
$ make
$ submit rho /scratch/data/beta6_gauge_8x8x8x16 0.1493

In this exercise we compute a vector meson two point function and introduce γ matrices. QDP has a hardwired prepresentation of the Clifford algebra basis that is used by all routines in the library. The user can access the γ-matrices by using a small integer. All products of γ-matrices can be expresses as a product of the following form: γ1aγ2bγ3cγ4d where each of a, b, c and d is either 0 or 1. Then the index of this particular product is the number [dcba]2. Since Sρ = Trt(Pγ1PTγ1), and P=γ5P+γ5, one computes Sρ as follows (this is rho.c). Since γ-matrices do not commute, we need to be mindful on which side of the propagator they are, see lines 37 and 38)

 12   print_rho(QDP_DiracPropagator *prop, int t0)
13 {
14 int i, nt, gamma;
15 QLA_Complex *corr;
16 QDP_DiracPropagator *prop_gamma, *gamma_prop_gamma;
...
29 /* allocate temporary propagators */
30 prop_gamma = QDP_create_P();
31 gamma_prop_gamma = QDP_create_P();
32
33 /* gamma_1 gamma_5 = g_2 g_3 g_4 -> 1110_2 = 15 - 1 */
34 gamma = 15 - 1;
35
36 /* multiply prop by GAMMA on both sides */
37 QDP_P_eq_P_times_gamma(prop_gamma, prop, gamma, QDP_all);
38 QDP_P_eq_gamma_times_P(gamma_prop_gamma, prop_gamma, gamma, QDP_all);
39
40 /* do sum[trace(prop^+ GAMMA prop GAMMA)] over each timeslice */
41 QDP_c_eq_P_dot_P_multi(corr, prop, gamma_prop_gamma, timeslices, nt);
The propagator now is complex. We print only the real part of it:
 43     /* print result */
44 printf0("BEGIN RHO\n");
45 for(i=0; i<nt; i++) {
46 int t = (t0+i)%nt;
47 printf0("%i\t%g\n", i, -QLA_real(corr[t]) );
48 }
49 printf0("END RHO\n");


Problems