= "El Ga -> El Ga, QED, matrix element squared, tree";
description If[ $FrontEnd === Null,
= False;
$FeynCalcStartupMessages Print[description];
];
If[ $Notebooks === False,
= False
$FeynCalcStartupMessages ];
= {"FeynArts"};
$LoadAddOns
<< FeynCalc`= 0;
$FAVerbose
[9, 3, 1]; FCCheckVersion
\text{FeynCalc }\;\text{10.0.0 (dev version, 2023-12-20 22:40:59 +01:00, dff3b835). For help, use the }\underline{\text{online} \;\text{documentation}}\;\text{, check out the }\underline{\text{wiki}}\;\text{ or visit the }\underline{\text{forum}.}
\text{Please check our }\underline{\text{FAQ}}\;\text{ for answers to some common FeynCalc questions and have a look at the supplied }\underline{\text{examples}.}
\text{If you use FeynCalc in your research, please evaluate FeynCalcHowToCite[] to learn how to cite this software.}
\text{Please keep in mind that the proper academic attribution of our work is crucial to ensure the future development of this package!}
\text{FeynArts }\;\text{3.11 (3 Aug 2020) patched for use with FeynCalc, for documentation see the }\underline{\text{manual}}\;\text{ or visit }\underline{\text{www}.\text{feynarts}.\text{de}.}
\text{If you use FeynArts in your research, please cite}
\text{ $\bullet $ T. Hahn, Comput. Phys. Commun., 140, 418-431, 2001, arXiv:hep-ph/0012260}
Nicer typesetting
MakeBoxes[p1, TraditionalForm] := "\!\(\*SubscriptBox[\(p\), \(1\)]\)";
MakeBoxes[p2, TraditionalForm] := "\!\(\*SubscriptBox[\(p\), \(2\)]\)";
MakeBoxes[k1, TraditionalForm] := "\!\(\*SubscriptBox[\(k\), \(1\)]\)";
MakeBoxes[k2, TraditionalForm] := "\!\(\*SubscriptBox[\(k\), \(2\)]\)";
= InsertFields[CreateTopologies[0, 2 -> 2], {F[2, {1}], V[1]} ->
diags {F[2, {1}], V[1]}, InsertionLevel -> {Classes},
-> QEDOnly];
Restrictions
[diags, ColumnsXRows -> {2, 1}, Numbering -> Simple,
Paint-> None, ImageSize -> {512, 256}]; SheetHeader
[0] = FCFAConvert[CreateFeynAmp[diags], IncomingMomenta -> {p1, k1},
amp-> {p2, k2}, UndoChiralSplittings -> True, ChangeDimension -> 4,
OutgoingMomenta -> {k1, k2}, List -> False, SMP -> True,
TransversePolarizationVectors -> True] Contract
-\frac{\text{e}^2 \left(\varphi (\overline{p_2},m_e)\right).\left(\bar{\gamma }\cdot \bar{\varepsilon }\left(k_1\right)\right).\left(\bar{\gamma }\cdot \left(\overline{p_2}-\overline{k_1}\right)+m_e\right).\left(\bar{\gamma }\cdot \bar{\varepsilon }^*\left(k_2\right)\right).\left(\varphi (\overline{p_1},m_e)\right)}{(\overline{k_1}-\overline{p_2}){}^2-m_e^2}-\frac{\text{e}^2 \left(\varphi (\overline{p_2},m_e)\right).\left(\bar{\gamma }\cdot \bar{\varepsilon }^*\left(k_2\right)\right).\left(\bar{\gamma }\cdot \left(\overline{k_2}+\overline{p_2}\right)+m_e\right).\left(\bar{\gamma }\cdot \bar{\varepsilon }\left(k_1\right)\right).\left(\varphi (\overline{p_1},m_e)\right)}{(-\overline{k_2}-\overline{p_2}){}^2-m_e^2}
[];
FCClearScalarProducts[s, t, u, p1, k1, -p2, -k2, SMP["m_e"], 0, SMP["m_e"], 0]; SetMandelstam
[0] = (amp[0] (ComplexConjugate[amp[0]])) //
ampSquared//
FeynAmpDenominatorExplicit [#, k1, 0] & // DoPolarizationSums[#, k2, 0] & //
DoPolarizationSums[#, ExtraFactor -> 1/2^2] & //
FermionSpinSum// TrickMandelstam[#, {s, t, u, 2 SMP["m_e"]^2}] & // Simplify DiracSimplify
\frac{2 \;\text{e}^4 \left(-m_e^4 \left(3 s^2+14 s u+3 u^2\right)+m_e^2 \left(s^3+7 s^2 u+7 s u^2+u^3\right)+6 m_e^8-s u \left(s^2+u^2\right)\right)}{\left(s-m_e^2\right){}^2 \left(u-m_e^2\right){}^2}
= (2 SMP["e"]^4 (SP[p1, k2]/SP[p1, k1] +
knownResult [p1, k1]/SP[p1, k2] + 2 SMP["m_e"]^2 (1/SP[p1, k1] - 1/SP[p1, k2]) +
SP["m_e"]^4 (1/SP[p1, k1] - 1/SP[p1, k2])^2));
SMP[ampSquared[0], knownResult,
FCCompareResultsText -> {"\tCompare to Peskin and Schroeder, An Introduction to QFT, Eq 5.87:",
"CORRECT.", "WRONG!"}, Interrupt -> {Hold[Quit[1]], Automatic}];
Print["\tCPU Time used: ", Round[N[TimeUsed[], 4], 0.001], " s."];
\text{$\backslash $tCompare to Peskin and Schroeder, An Introduction to QFT, Eq 5.87:} \;\text{CORRECT.}
\text{$\backslash $tCPU Time used: }21.915\text{ s.}