This is an old revision of the document!


DiracTrace


Description

  • DiracTrace calculates trace of Dirac matrices in $D$ dimensions
  • By default DiracTrace works in $D = 4$; for arbitrary $D$ one can use option DiracTrace[[Dimension: D]]
  • One can directly set trace of identity matrix (e.g. for dimensional regularisation): DiracTrace[[Dimension: D, TraceOfOne: 4]]
  • By default DiracTrace uses notation G_m for $\gamma_m$, G5 for $\gamma_5$ and e_abcd for Levi-Civita tensor.
  • DiracTrace[G, G5, eps] or DiracTrace[[Gamma: G, Gamma5: G5, LeviCivita: eps]] specifies the notation for $\gamma_m$, $\gamma_5$ and Levi-Civita tensor. * DiracTrace[[Simplifications: rules]] will apply additional simplification rules to each processed trace ====Examples==== —- Calculate trace of $\gamma$-matrices: <sxh groovy; gutter: false> defineMatrices 'G_a', 'G5', Matrix1.matrix println DiracTrace['G_a'] » 'Tr[G_a*G_b]'.t </sxh> <sxh plain; gutter: false> > 4*g_ab </sxh> Another example: <sxh groovy; gutter: false> set up matrix objects defineMatrices 'G_a', 'G5', Matrix1.matrix DiracTrace transformation def dTrace = DiracTrace 'G_a' calculate trace println dTrace » 'Tr[(p_a*G^a + m)*G_m*(q_a*G^a-m)*G_n]'.t </sxh> <sxh plain; gutter: false> > 4*p_{m}*q_{n}+4*p_{n}*q_{m}-4*m2*g_{mn}-4*p^{a}*g_{mn}*q_{a} </sxh> —- Calculate trace involving $\gamma_5$: <sxh groovy; gutter: true> set up matrix objects defineMatrices 'G_a', 'G5', Matrix1.matrix DiracTrace transformation def dTrace = DiracTrace 'e_abcd' calculate trace println dTrace » 'Tr[G_a*G_b*G_c*G_d*G5]'.t </sxh> <sxh plain; gutter: false> > -4*I*e_{abcd} </sxh> <sxh groovy; gutter: true; first-line: 7> println dTrace » 'Tr[(p_a*G^a + m)*G_m*G5*(q_a*G^a-m)*G_n]'.t </sxh> <sxh plain; gutter: false> > -4*I*p_{b}*q_{a}*e^{a}_{n}^{b}_{m} </sxh> —- Calculate trace in different dimensions: <sxh groovy; gutter: false> defineMatrices 'G_a', 'G5', Matrix1.matrix println DiracTrace 6 » 'Tr[G_c*G_a*G_b*G^c]'.t </sxh> <sxh plain; gutter: false> > 48*g_ab </sxh> By default, Tr[1] is equal to $2^{\frac{D-1}{2}}$ for odd $D$ and $2^{\frac{D}{2}}$ for even. For symbolic $D$ it will be assumed that it is even: <sxh groovy; gutter: false> defineMatrices 'G_a', 'G5', Matrix1.matrix println DiracTrace 'D'.t » 'Tr[G_c*G_a*G_b*G^c]'.t </sxh> <sxh plain; gutter: false> > D*2**(D/2)*g_ab </sxh> One can directly overcome predefined value of Tr[1] by using additional option (required for dimensional regularisation): <sxh groovy; gutter: false> defineMatrices 'G_a', 'G5', Matrix1.matrix def dTrace = DiracTrace 4 println dTrace » 'Tr[G_c*G_a*G_b*G^c]'.t </sxh> <sxh plain; gutter: false> > 4*D*g_ab </sxh> —- For traces involving $\gamma_5$ in $D$ dimensions, all $\gamma_5$-related calculations will be performed as in 4 dimensions ($Tr[\gamma_a \gamma_b \gamma_c \gamma_d \gamma_5] = -4 i e_{abcd}$ and Chiholm-Kahane identitie: $\gamma_a \gamma_b \gamma_c = g_{ab} \gamma_c-g_{ac} \gamma_b+g_{bc} \gamma_a-i e_{abcd} \gamma_5 \gamma^d$): <sxh groovy; gutter: true> defineMatrices 'G_a', 'G5', Matrix1.matrix def dTrace = DiracTrace 4 println dTrace » 'Tr[G_a*G_b*G_c*G_d*G5]'.t </sxh> <sxh plain; gutter: false> > -4*I*e_{abcd} </sxh> <sxh groovy; gutter: true; first-line: 4> println dTrace » 'Tr[G_a*G_b*G_c*G_d*G_e*G^a*G5]'.t </sxh> <sxh plain; gutter: false> > 4*I*e_{debc}-4*I*e_{decb}+4*I*e_{dbce}-4*I*e_{ebcd} </sxh> —- DiracTrace expands out products of sums containing traces of $\gamma$-matrices and leaves unexpanded other parts of expressions: <sxh groovy; gutter: false> defineMatrices 'G_a', 'G5', Matrix1.matrix def expr = '(k_c+p_c)*(k_d+p_d) + Tr[(p^a + k^a)*(p^b + k^b)*G_a*G_b*G_c*G_d]'.t println dTrace » expr </sxh> <sxh plain; gutter: false> > (k_c+p_c)*(k_d+p_d)+4*g_cd*p_b*p^b+4*k_b*k^b*g_cd+8*k^b*g_cd*p_b </sxh> ====Options==== ====See also==== * Related guides: Applying and manipulating transformations, Setting up matrix objects, List of common transformations * Related tutorials: Compton scattering in QED * Related transformations: LeviCivitaSimplify, UnitaryTrace * JavaDocs: DiracTraceTransformation * Source code: DiracTraceTransformation.java