DiracGammaExpand
DiracGammaExpand[exp]
expands Dirac matrices contracted to linear combinations of 4-vectors. All DiracGamma[Momentum[a+b+ ...]]
will be expanded to DiracGamma[Momentum[a]] + DiracGamma[Momentum[b]] + DiracGamma[Momentum[...]]
.
See also
Overview, DiracGamma, DiracGammaCombine, DiracSimplify, DiracTrick.
Examples
GS[q] . GS[p - q]
ex = DiracGammaExpand[%]
(γˉ⋅q).(γˉ⋅(p−q))
(γˉ⋅q).(γˉ⋅p−γˉ⋅q)
ex // StandardForm
(*DiracGamma[Momentum[q]] . (DiracGamma[Momentum[p]] - DiracGamma[Momentum[q]])*)
DiracGammaExpand
rewrites γμ(p−q)μ as γmupmu−γμqμ.
The inverse operation is DiracGammaCombine
.
GS[q] . (GS[p] - GS[q])
ex = DiracGammaCombine[%]
(γˉ⋅q).(γˉ⋅p−γˉ⋅q)
(γˉ⋅q).(γˉ⋅(p−q))
ex // StandardForm
(*DiracGamma[Momentum[q]] . DiracGamma[Momentum[p - q]]*)
It is possible to perform the expansions only on Dirac matrices contracted with particular momenta.
c1 GAD[\[Mu]] . (GSD[p1 + p2] + m) . GAD[\[Nu]] + c2 GAD[\[Mu]] . (GSD[q1 + q2] + m) . GAD[\[Nu]]
DiracGammaExpand[%, Momentum -> {q1}]
c1γμ.(m+γ⋅(p1+p2)).γν+c2γμ.(m+γ⋅(q1+q2)).γν
c1γμ.(m+γ⋅(p1+p2)).γν+c2γμ.(m+γ⋅q1+γ⋅q2).γν
If the input expression contains DiracSigma
, DiracGammaExpand
will expand Feynman slashes inside DiracSigma
and call DiracSigmaExpand
.
DiracSigma[GSD[p + q], GSD[r]]
DiracGammaExpand[%]
σp+qr
σpr+σqr
The call to DiracSigmaExpand
can be inhibited by disabling the corresponding option.
DiracGammaExpand[DiracSigma[GSD[p + q], GSD[r]], DiracSigmaExpand -> False]
DiracSigma(γ⋅p+γ⋅q,γ⋅r)
Use DiracSimplify
for noncommutative expansions with the corresponding simplifications.
DiracSimplify[GS[q] . (GS[p - q])]
(γˉ⋅q).(γˉ⋅p)−q2
If simplifications are not required, you may also combine DiracGammaExpand
with DotSimplify
.
DotSimplify[DiracGammaExpand[GS[q] . (GS[p - q])]]
(γˉ⋅q).(γˉ⋅p)−(γˉ⋅q).(γˉ⋅q)