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]]
  • Sometimes (e.g. for dimensional regularisation) it is convenient to directly set trace of identity matrix: 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] or DiracTrace[[Gamma: G]] allows to specify the notation used for $\gamma_\mu$.
  • 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 first applies Expand to all parts of expressions containing traces of gammas
  • DiracTrace[[Simplifications: rules]] will apply additional simplification rules to each processed trace

Examples


Calculate trace of $\gamma$-matrices:

defineMatrices 'G_a', Matrix1.matrix
println DiracTrace['G_a'] >> 'Tr[G_a*G_b]'.t
   > 4*g_ab

Another example:

//set up matrix objects
defineMatrices 'G_a', Matrix1.matrix
//DiracTrace transformation
def dTrace = DiracTrace[[Gamma: 'G_a']]
//calculate trace
println  dTrace >> 'Tr[(p_a*G^a + m)*G_m*(q_a*G^a-m)*G_n]'.t
   > 4*p_{m}*q_{n}+4*p_{n}*q_{m}-4*m**2*g_{mn}-4*p^{a}*g_{mn}*q_{a}


Calculate trace involving $\gamma_5$:

//set up matrix objects
defineMatrices 'G_a', 'G5', Matrix1.matrix
//DiracTrace transformation
def dTrace = DiracTrace[[Gamma: 'G_a', Gamma5: 'G5', LeviCivita: 'e_abcd']]
//calculate trace
println dTrace >> 'Tr[G_a*G_b*G_c*G_d*G5]'.t
   > -4*I*e_{abcd}
println dTrace >> 'Tr[(p_a*G^a + m)*G_m*G5*(q_a*G^a-m)*G_n]'.t
   > -4*I*p_{b}*q_{a}*e^{a}_{n}^{b}_{m}


Calculate trace in different dimensions:

defineMatrices 'G_a', Matrix1.matrix
println DiracTrace[[Dimension: 6]] >> 'Tr[G_c*G_a*G_b*G^c]'.t
   > 48*g_ab

See also