> gibt es eine Funktion wie Contract{a1, a2, a3, ...an}die gemaess
> Wick-Theorem all Kontraktionen
> der Symbole angibt, (n gerade) also z.B.
>
> Contract{a1, a2, a3, a4} = {a1a2}{a3, a4}+{a1a3}{a2a4}+{a1a4}{a2a3}
Die folgende Funktion rechnet eine Spur über Dirac-Matrizen
aus. Das ist natürlich nicht ganz dasselbe wie die Wick-Kontraktion,
aber man bekommt damit die voll-kontrahierten Terme, also die,
die übrigbleiben, wenn man den ganzen Laden auf's Vakuum anwendet.
Trace4[mu_, g__] :=
Block[ {Trace4, s = -1},
Plus@@ MapIndexed[((s = -s) Pair[mu, #1] Drop[Trace4[g], #2])&, {g}]
]
Trace4[] = 4
Für die Wick-Kontraktion müßte hier noch das Vorzeichen sowie
der Faktor 4 raus, d.h.
Wick[mu_, g__] :=
Block[ {Wick},
Plus@@ MapIndexed[Pair[mu, #1] Drop[Trace4[g], #2]&, {g}]
]
Wick[] = 1
Gruß,
Thomas Hahn