Load
FeynCalc and the necessary add-ons or other packages
description = "Ga -> Ga Ga Ga Ga, QED, amplitude, 1-loop";
If[ $FrontEnd === Null,
$FeynCalcStartupMessages = False;
Print[description];
];
If[ $Notebooks === False,
$FeynCalcStartupMessages = False
];
$LoadAddOns = {"FeynArts"};
<< FeynCalc`
$FAVerbose = 0;
FCCheckVersion[9, 3, 1];
FeynCalc 10.0.0 (dev version, 2023-12-20 22:40:59 +01:00, dff3b835). For help, use the onlinedocumentation, check out the wiki or visit the forum.
Please check our FAQ for answers to some common FeynCalc questions and have a look at the supplied examples.
If you use FeynCalc in your research, please evaluate FeynCalcHowToCite[] to learn how to cite this software.
Please keep in mind that the proper academic attribution of our work is crucial to ensure the future development of this package!
FeynArts 3.11 (3 Aug 2020) patched for use with FeynCalc, for documentation see the manual or visit www.feynarts.de.
If you use FeynArts in your research, please cite
∙ T. Hahn, Comput. Phys. Commun., 140, 418-431, 2001, arXiv:hep-ph/0012260
Generate Feynman diagrams
Nicer typesetting
MakeBoxes[mu, TraditionalForm] := "\[Mu]";
MakeBoxes[nu, TraditionalForm] := "\[Nu]";
MakeBoxes[rho, TraditionalForm] := "\[Rho]";
MakeBoxes[k1, TraditionalForm] := "\!\(\*SubscriptBox[\(k\), \(1\)]\)";
MakeBoxes[k2, TraditionalForm] := "\!\(\*SubscriptBox[\(k\), \(2\)]\)";
MakeBoxes[k3, TraditionalForm] := "\!\(\*SubscriptBox[\(k\), \(3\)]\)";
MakeBoxes[k4, TraditionalForm] := "\!\(\*SubscriptBox[\(k\), \(4\)]\)";
MakeBoxes[k5, TraditionalForm] := "\!\(\*SubscriptBox[\(k\), \(5\)]\)";
diags = InsertFields[CreateTopologies[1, 1 -> 4],
{V[1]} -> {V[1], V[1], V[1], V[1]}, InsertionLevel -> {Particles},
ExcludeParticles -> {S[_], V[_], U[_], F[3 | 4], F[2, {2 | 3}]}];
Paint[diags, ColumnsXRows -> {4, 1}, Numbering -> Simple,
SheetHeader -> None, ImageSize -> {512, 256}];






Obtain the amplitude
The 1/(2Pi)^D prefactor is implicit.
amp[0] = FCFAConvert[CreateFeynAmp[diags, PreFactor -> 1,
Truncated -> True], IncomingMomenta -> {k1},
OutgoingMomenta -> {k2, k3, k4, k5}, LoopMomenta -> {q},
LorentzIndexNames -> {mu, nu, rho}, UndoChiralSplittings -> True,
ChangeDimension -> D, List -> True, SMP -> True]
{−(q2−me2).((q−k2)2−me2).((−k2−k4+q)2−me2).((−k2−k4−k5+q)2−me2).((−k2−k3−k4−k5+q)2−me2)itr((γ⋅(−k2−k3−k4−k5+q)+me).(−iγρe).(γ⋅(−k2−k4−k5+q)+me).(−iγLor5e).(γ⋅(−k2−k4+q)+me).(−iγLor4e).(γ⋅(q−k2)+me).(−iγνe).(γ⋅q+me).(−iγμe)),−(q2−me2).((q−k2)2−me2).((−k2−k4+q)2−me2).((−k2−k4−k5+q)2−me2).((−k2−k3−k4−k5+q)2−me2)itr((γ⋅(−k2−k3−k4−k5+q)+me).(iγρe).(γ⋅(−k2−k4−k5+q)+me).(iγLor5e).(γ⋅(−k2−k4+q)+me).(iγLor4e).(γ⋅(q−k2)+me).(iγνe).(γ⋅q+me).(iγμe)),−(q2−me2).((q−k2)2−me2).((−k2−k5+q)2−me2).((−k2−k4−k5+q)2−me2).((−k2−k3−k4−k5+q)2−me2)itr((me−γ⋅q).(iγνe).(γ⋅(k2−q)+me).(iγLor5e).(γ⋅(k2+k5−q)+me).(iγLor4e).(γ⋅(k2+k4+k5−q)+me).(iγρe).(γ⋅(k2+k3+k4+k5−q)+me).(iγμe)),−(q2−me2).((q−k2)2−me2).((−k2−k5+q)2−me2).((−k2−k4−k5+q)2−me2).((−k2−k3−k4−k5+q)2−me2)itr((me−γ⋅q).(−iγνe).(γ⋅(k2−q)+me).(−iγLor5e).(γ⋅(k2+k5−q)+me).(−iγLor4e).(γ⋅(k2+k4+k5−q)+me).(−iγρe).(γ⋅(k2+k3+k4+k5−q)+me).(−iγμe)),−(q2−me2).((q−k2)2−me2).((−k2−k3+q)2−me2).((−k2−k3−k5+q)2−me2).((−k2−k3−k4−k5+q)2−me2)itr((γ⋅(−k2−k3−k4−k5+q)+me).(−iγLor4e).(γ⋅(−k2−k3−k5+q)+me).(−iγLor5e).(γ⋅(−k2−k3+q)+me).(−iγρe).(γ⋅(q−k2)+me).(−iγνe).(γ⋅q+me).(−iγμe)),−(q2−me2).((q−k2)2−me2).((−k2−k3+q)2−me2).((−k2−k3−k5+q)2−me2).((−k2−k3−k4−k5+q)2−me2)itr((γ⋅(−k2−k3−k4−k5+q)+me).(iγLor4e).(γ⋅(−k2−k3−k5+q)+me).(iγLor5e).(γ⋅(−k2−k3+q)+me).(iγρe).(γ⋅(q−k2)+me).(iγνe).(γ⋅q+me).(iγμe)),−(q2−me2).((q−k2)2−me2).((−k2−k5+q)2−me2).((−k2−k3−k5+q)2−me2).((−k2−k3−k4−k5+q)2−me2)itr((me−γ⋅q).(iγνe).(γ⋅(k2−q)+me).(iγLor5e).(γ⋅(k2+k5−q)+me).(iγρe).(γ⋅(k2+k3+k5−q)+me).(iγLor4e).(γ⋅(k2+k3+k4+k5−q)+me).(iγμe)),−(q2−me2).((q−k2)2−me2).((−k2−k5+q)2−me2).((−k2−k3−k5+q)2−me2).((−k2−k3−k4−k5+q)2−me2)itr((me−γ⋅q).(−iγνe).(γ⋅(k2−q)+me).(−iγLor5e).(γ⋅(k2+k5−q)+me).(−iγρe).(γ⋅(k2+k3+k5−q)+me).(−iγLor4e).(γ⋅(k2+k3+k4+k5−q)+me).(−iγμe)),−(q2−me2).((q−k2)2−me2).((−k2−k3+q)2−me2).((−k2−k3−k4+q)2−me2).((−k2−k3−k4−k5+q)2−me2)itr((γ⋅(−k2−k3−k4−k5+q)+me).(−iγLor5e).(γ⋅(−k2−k3−k4+q)+me).(−iγLor4e).(γ⋅(−k2−k3+q)+me).(−iγρe).(γ⋅(q−k2)+me).(−iγνe).(γ⋅q+me).(−iγμe)),−(q2−me2).((q−k2)2−me2).((−k2−k3+q)2−me2).((−k2−k3−k4+q)2−me2).((−k2−k3−k4−k5+q)2−me2)itr((γ⋅(−k2−k3−k4−k5+q)+me).(iγLor5e).(γ⋅(−k2−k3−k4+q)+me).(iγLor4e).(γ⋅(−k2−k3+q)+me).(iγρe).(γ⋅(q−k2)+me).(iγνe).(γ⋅q+me).(iγμe)),−(q2−me2).((q−k2)2−me2).((−k2−k4+q)2−me2).((−k2−k3−k4+q)2−me2).((−k2−k3−k4−k5+q)2−me2)itr((me−γ⋅q).(iγνe).(γ⋅(k2−q)+me).(iγLor4e).(γ⋅(k2+k4−q)+me).(iγρe).(γ⋅(k2+k3+k4−q)+me).(iγLor5e).(γ⋅(k2+k3+k4+k5−q)+me).(iγμe)),−(q2−me2).((q−k2)2−me2).((−k2−k4+q)2−me2).((−k2−k3−k4+q)2−me2).((−k2−k3−k4−k5+q)2−me2)itr((me−γ⋅q).(−iγνe).(γ⋅(k2−q)+me).(−iγLor4e).(γ⋅(k2+k4−q)+me).(−iγρe).(γ⋅(k2+k3+k4−q)+me).(−iγLor5e).(γ⋅(k2+k3+k4+k5−q)+me).(−iγμe)),−(q2−me2).((q−k3)2−me2).((−k2−k3+q)2−me2).((−k2−k3−k5+q)2−me2).((−k2−k3−k4−k5+q)2−me2)itr((γ⋅(−k2−k3−k4−k5+q)+me).(−iγLor4e).(γ⋅(−k2−k3−k5+q)+me).(−iγLor5e).(γ⋅(−k2−k3+q)+me).(−iγνe).(γ⋅(q−k3)+me).(−iγρe).(γ⋅q+me).(−iγμe)),−(q2−me2).((q−k3)2−me2).((−k2−k3+q)2−me2).((−k2−k3−k5+q)2−me2).((−k2−k3−k4−k5+q)2−me2)itr((γ⋅(−k2−k3−k4−k5+q)+me).(iγLor4e).(γ⋅(−k2−k3−k5+q)+me).(iγLor5e).(γ⋅(−k2−k3+q)+me).(iγνe).(γ⋅(q−k3)+me).(iγρe).(γ⋅q+me).(iγμe)),−(q2−me2).((q−k3)2−me2).((−k3−k5+q)2−me2).((−k2−k3−k5+q)2−me2).((−k2−k3−k4−k5+q)2−me2)itr((me−γ⋅q).(iγρe).(γ⋅(k3−q)+me).(iγLor5e).(γ⋅(k3+k5−q)+me).(iγνe).(γ⋅(k2+k3+k5−q)+me).(iγLor4e).(γ⋅(k2+k3+k4+k5−q)+me).(iγμe)),−(q2−me2).((q−k3)2−me2).((−k3−k5+q)2−me2).((−k2−k3−k5+q)2−me2).((−k2−k3−k4−k5+q)2−me2)itr((me−γ⋅q).(−iγρe).(γ⋅(k3−q)+me).(−iγLor5e).(γ⋅(k3+k5−q)+me).(−iγνe).(γ⋅(k2+k3+k5−q)+me).(−iγLor4e).(γ⋅(k2+k3+k4+k5−q)+me).(−iγμe)),−(q2−me2).((q−k3)2−me2).((−k2−k3+q)2−me2).((−k2−k3−k4+q)2−me2).((−k2−k3−k4−k5+q)2−me2)itr((γ⋅(−k2−k3−k4−k5+q)+me).(−iγLor5e).(γ⋅(−k2−k3−k4+q)+me).(−iγLor4e).(γ⋅(−k2−k3+q)+me).(−iγνe).(γ⋅(q−k3)+me).(−iγρe).(γ⋅q+me).(−iγμe)),−(q2−me2).((q−k3)2−me2).((−k2−k3+q)2−me2).((−k2−k3−k4+q)2−me2).((−k2−k3−k4−k5+q)2−me2)itr((γ⋅(−k2−k3−k4−k5+q)+me).(iγLor5e).(γ⋅(−k2−k3−k4+q)+me).(iγLor4e).(γ⋅(−k2−k3+q)+me).(iγνe).(γ⋅(q−k3)+me).(iγρe).(γ⋅q+me).(iγμe)),−(q2−me2).((q−k3)2−me2).((−k3−k4+q)2−me2).((−k2−k3−k4+q)2−me2).((−k2−k3−k4−k5+q)2−me2)itr((me−γ⋅q).(iγρe).(γ⋅(k3−q)+me).(iγLor4e).(γ⋅(k3+k4−q)+me).(iγνe).(γ⋅(k2+k3+k4−q)+me).(iγLor5e).(γ⋅(k2+k3+k4+k5−q)+me).(iγμe)),−(q2−me2).((q−k3)2−me2).((−k3−k4+q)2−me2).((−k2−k3−k4+q)2−me2).((−k2−k3−k4−k5+q)2−me2)itr((me−γ⋅q).(−iγρe).(γ⋅(k3−q)+me).(−iγLor4e).(γ⋅(k3+k4−q)+me).(−iγνe).(γ⋅(k2+k3+k4−q)+me).(−iγLor5e).(γ⋅(k2+k3+k4+k5−q)+me).(−iγμe)),−(q2−me2).((q−k4)2−me2).((−k2−k4+q)2−me2).((−k2−k3−k4+q)2−me2).((−k2−k3−k4−k5+q)2−me2)itr((γ⋅(−k2−k3−k4−k5+q)+me).(−iγLor5e).(γ⋅(−k2−k3−k4+q)+me).(−iγρe).(γ⋅(−k2−k4+q)+me).(−iγνe).(γ⋅(q−k4)+me).(−iγLor4e).(γ⋅q+me).(−iγμe)),−(q2−me2).((q−k4)2−me2).((−k2−k4+q)2−me2).((−k2−k3−k4+q)2−me2).((−k2−k3−k4−k5+q)2−me2)itr((γ⋅(−k2−k3−k4−k5+q)+me).(iγLor5e).(γ⋅(−k2−k3−k4+q)+me).(iγρe).(γ⋅(−k2−k4+q)+me).(iγνe).(γ⋅(q−k4)+me).(iγLor4e).(γ⋅q+me).(iγμe)),−(q2−me2).((q−k4)2−me2).((−k3−k4+q)2−me2).((−k2−k3−k4+q)2−me2).((−k2−k3−k4−k5+q)2−me2)itr((γ⋅(−k2−k3−k4−k5+q)+me).(−iγLor5e).(γ⋅(−k2−k3−k4+q)+me).(−iγνe).(γ⋅(−k3−k4+q)+me).(−iγρe).(γ⋅(q−k4)+me).(−iγLor4e).(γ⋅q+me).(−iγμe)),−(q2−me2).((q−k4)2−me2).((−k3−k4+q)2−me2).((−k2−k3−k4+q)2−me2).((−k2−k3−k4−k5+q)2−me2)itr((γ⋅(−k2−k3−k4−k5+q)+me).(iγLor5e).(γ⋅(−k2−k3−k4+q)+me).(iγνe).(γ⋅(−k3−k4+q)+me).(iγρe).(γ⋅(q−k4)+me).(iγLor4e).(γ⋅q+me).(iγμe))}
Calculate the amplitude
We obtain 24 diagrams. The sum vanishes because the contribution of
each odd diagram is exactly cancelled by the contribution of the next
even diagram, i.e. A1+A2=0, A3+A4=0 and so on
amp[1] = amp[0] // FCTraceFactor;
amp[2] = Total /@ Partition[amp[1], 2, 2, 1, {}]
{0,0,0,0,0,0,0,0,0,0,0,0}
0
Check the final results
FCCompareResults[amp[3], 0,
Text -> {"\tVerify Furry's theorem for 5-photons at 1-loop:",
"CORRECT.", "WRONG!"}, Interrupt -> {Hold[Quit[1]], Automatic}];
Print["\tCPU Time used: ", Round[N[TimeUsed[], 4], 0.001], " s."];
\tVerify Furry’s theorem for 5-photons at 1-loop:CORRECT.
\tCPU Time used: 26.748 s.