FCTraceExpand
FCTraceExpand[exp]
expands traces of Dirac and SU(N) matrices using linearity of the trace. The traces themselves are not evaluated.
See also
Overview, DiracTrace, SUNTrace.
Examples
ex = DiracTrace[GA[\[Mu]] . (GS[p1] + m1) . GA[\[Nu]] . (GS[p2] + m2) . GA[\[Rho]] +x]
tr(γˉμ.(γˉ⋅p1+m1).γˉν.(γˉ⋅p2+m2).γˉρ+x)
m1m2tr(γˉμ.γˉν.γˉρ)+m1tr(γˉμ.γˉν.(γˉ⋅p2).γˉρ)+m2tr(γˉμ.(γˉ⋅p1).γˉν.γˉρ)+tr(γˉμ.(γˉ⋅p1).γˉν.(γˉ⋅p2).γˉρ)+tr(1)x
FCTraceExpand[ex, DotSimplify -> False]
tr(γˉμ.(γˉ⋅p1+m1).γˉν.(γˉ⋅p2+m2).γˉρ)+tr(1)x
FCTraceExpand[ex, DiracTrace -> False]
tr(γˉμ.(γˉ⋅p1+m1).γˉν.(γˉ⋅p2+m2).γˉρ+x)
a*DiracTrace[GA[\[Mu]] . (GS[p1] + m1) . GA[\[Nu]]] + b*DiracTrace[GA[\[Mu]] . (GS[p2] + m2) . GA[\[Nu]]]
FCTraceExpand[%, Momentum -> {p1}]
atr(γˉμ.(γˉ⋅p1+m1).γˉν)+btr(γˉμ.(γˉ⋅p2+m2).γˉν)
a(m1tr(γˉμ.γˉν)+tr(γˉμ.(γˉ⋅p1).γˉν))+btr(γˉμ.(γˉ⋅p2+m2).γˉν)
At the moment SUNTrace
automatically expands its content, so here FCTraceExpand
is not needed. However, this may change in future.
ex = SUNTrace[SUNT[i, j, k] + SUNT[l, m, n]]
tr(Ti.Tj.Tk)+tr(Tl.Tm.Tn)
tr(Ti.Tj.Tk)+tr(Tl.Tm.Tn)
FCTraceExpand[ex, SUNTrace -> False]
tr(Ti.Tj.Tk)+tr(Tl.Tm.Tn)