FeynCalc manual (development version)

FeynArts sign conventions

See also

Overview.

The overall sign of an amplitude i \mathcal{M} is always a convention. It does not have to agree between different textbooks and papers and there is nothing wrong with that. Nevertheless, it should be always possible to trace the origins of various signs appearing in different pieces of the amplitude. Understanding how the overall sign comes about allows you to adjust it to the convention you prefer.

The amplitude generated by FeynArts’ CreateFeynAmp function has three sources of signs that contribute to the final overall sign. These are the overall prefactor, the definition of the vertices and the fermion sign.

Overall prefactor

Vertices

The signs in the vertices always depend on the model under consideration. The built-in SM model is based on the conventions used in arXiv:0709.1075. This means that

This FeynArts vertex convention agrees with the one used in Gauge Theories of the Strong and Electroweak Interaction by M. Bohm, A. Denner and H. Joos. However, it disagrees with the convention in An Introduction to Quantum Field Theory by M. Peskin and D. Schroeder. There the QED electron-photon vertex is proportional to - i e \gamma^\mu, the QCD quark-gluon vertex amounts to i g_s \gamma^\mu and the quark-photon vertex yields i Q g_s \gamma^\mu.

Notice also that models generated with FeynRules will agree with FeynArts on the QED vertex convention but disagree on the sign of the QCD vertex.

Fermion sign

Diagrams with external fermions receive additional signs that stem from the anticommuting properties of Grassmann fields when applying Wick’s theorem. One of the simplest processes that exhibits this effect is the tree-level QED Bhabha scattering e^+ e^- \to e^+ e^-. There are no ambiguities regarding the fact that both amplitudes have a relative minus sign. However, we are free to choose which of the two amplitudes should be multiplied by +1 and which by -1.

The fermion sign algorithm implemented in FeynArts (flip rules) is described in Section 6.6 of the program manual. In the case of the process e^- e^+ \to e^- e^+ the s-channel diagram is multiplied by -1, while the t-channel diagram receives a prefactor of +1. However, if one generates the physically equivalent process e^- e^+ \to e^+ e^-, the signs will flip due to the reversed ordering of the final state particles.

Since March 2022 FeynArts features an option to make the fermion sign of each diagram explicit. To this end you just need to evaluate FermionSign = fSign; before generating the diagrams. Here fSign is a head that will be wrapped around fermion signs. In the case of the Bhabha scattering you can explicitly see that

diagsV1 =   InsertFields[CreateTopologies[0, 2 -> 2], {F[2, {1}], -F[2, {1}]} -> 
{F[2, {2}], -F[2, {2}]}, InsertionLevel -> {Classes}, Restrictions -> QEDOnly];
CreateFeynAmp[diagsV1,PreFactor->1]

contains fSign[-1], while

diagsV2 =   InsertFields[CreateTopologies[0, 2 -> 2], {F[2, {1}], -F[2, {1}]} -> 
{-F[2, {2}], F[2, {2}]}, InsertionLevel -> {Classes}, Restrictions -> QEDOnly];
CreateFeynAmp[diagsV2,PreFactor->1]

has fSign[1].

General advice

If you are doing a calculation where the overall sign of the amplitude must agree with a particular convention, follow these steps

  1. Set the option PreFactor of CreateFeynAmp to 1 to generate i \mathcal{M}.
  2. Check compatibility of all vertex signs between your preferred convention and the employed model. If necessary, adjust the signs in the generated amplitudes.
  3. Use FermionSign = fSign; to figure out the fermion sign of each diagram. If it doesn’t agree with your convention, flips the signs for all diagrams in the given process via amps/. fSign[x_] :> -x. This will preserve the physical relative signs but change the conventional overall sign.