FeynAmpDenominator[...]
represents the inverse denominators of the propagators, i.e. FeynAmpDenominator[x]
is . Different propagator denominators are represented using special heads such as PropagatorDenominator
, StandardPropagatorDenominator
, CartesianPropagatorDenominator
etc.
Overview, FAD, SFAD, CFAD, GFAD, FeynAmpDenominatorSimplify.
The legacy way to represent standard Lorentzian propagators is to use PropagatorDenominator
. Here the sign of the mass term is fixed to be and no information on the - prescription is available. Furthermore, this way it is not possible to enter eikonal propagators
[PropagatorDenominator[Momentum[p, D], m]] FeynAmpDenominator
[PropagatorDenominator[Momentum[p, D], m],
FeynAmpDenominator[Momentum[p - q, D], m]] PropagatorDenominator
It is worth noting that the Euclidean mass dependence still can be introduced via a trick where the mass symbol is multiplied by the imaginary unit
[PropagatorDenominator[Momentum[p, D], I m]]
FeynAmpDenominator
% // FeynAmpDenominatorExplicit
The shortcut to enter FeynAmpDenominator
s with PropagatorDenominator
s is FAD
[p] FAD
[{p, m}] FAD
[{p, m, 3}] FAD
[PropagatorDenominator[Momentum[p, D], m]] // FCE // StandardForm
FeynAmpDenominator
(*FAD[{p, m}]*)
Since version 9.3, a more flexible input is possible using StandardPropagatorDenominator
[StandardPropagatorDenominator[Momentum[p, D], 0, -m^2, {1, 1}]] FeynAmpDenominator
The mass term can be anything, as long as it does not depend on the loop momenta
[StandardPropagatorDenominator[Momentum[p, D], 0, m^2, {1, 1}]] FeynAmpDenominator
[StandardPropagatorDenominator[Momentum[p, D], 0, -m^2, {1, 1}]] FeynAmpDenominator
[StandardPropagatorDenominator[Momentum[p, D], 0, SPD[q, q], {1, 1}]] FeynAmpDenominator
One can also change the sign of , although currently no internal functions make use of it
[StandardPropagatorDenominator[Momentum[p, D], 0, -m^2, {1, -1}]] FeynAmpDenominator
The propagator may also be raised to integer or symbolic powers
[StandardPropagatorDenominator[Momentum[p, D], 0, m^2, {3, 1}]] FeynAmpDenominator
[StandardPropagatorDenominator[Momentum[p, D], 0, m^2, {-2, 1}]] FeynAmpDenominator
[StandardPropagatorDenominator[Momentum[p, D], 0, m^2, {n, 1}]] FeynAmpDenominator
Eikonal propagators are fully supported
[StandardPropagatorDenominator[0, Pair[Momentum[p, D], Momentum[q, D]],
FeynAmpDenominator-m^2, {1, 1}]]
[StandardPropagatorDenominator[0, Pair[Momentum[p, D], Momentum[q, D]],
FeynAmpDenominator0, {1, 1}]]
FeynCalc keeps trace of the signs of the scalar products in the eikonal propagators. This is where the - prescription may come handy
[StandardPropagatorDenominator[0, -Pair[Momentum[p, D], Momentum[q, D]],
FeynAmpDenominator0, {1, 1}]]
[StandardPropagatorDenominator[0, Pair[Momentum[p, D], Momentum[q, D]],
FeynAmpDenominator0, {1, -1}]]
The shortcut to enter FeynAmpDenominators
with StandardPropagatorDenominators
is SFAD
[StandardPropagatorDenominator[Momentum[p, D], 0, -m^2, {1, 1}]] // FCE //
FeynAmpDenominatorStandardForm
(*SFAD[{{p, 0}, {m^2, 1}, 1}]*)
Eikonal propagators are entered using the Dot
(.
) as in noncommutative products
[StandardPropagatorDenominator[0, Pair[Momentum[p, D],
FeynAmpDenominator[q, D]], -m^2, {1, 1}]] // FCE // StandardForm
Momentum
(*SFAD[{{0, p . q}, {m^2, 1}, 1}]*)
The Cartesian version of StandardPropagatorDenominator
is called CartesianPropagatorDenominator
. The syntax is almost the same as for StandardPropagatorDenominator
, except that the momenta and scalar products must be Cartesian.
[CartesianPropagatorDenominator[CartesianMomentum[p, D - 1], 0, m^2,
FeynAmpDenominator{1, -1}]]
[CartesianPropagatorDenominator[0, CartesianPair[CartesianMomentum[p,
FeynAmpDenominatorD - 1], CartesianMomentum[q, D - 1]], m^2, {1, -1}]]
The shortcut to enter FeynAmpDenominators
with CartesianPropagatorDenominators
is CFAD
[FeynAmpDenominator[CartesianPropagatorDenominator[CartesianMomentum[p, D - 1], 0, m^2,
FCE{1, -1}]]] // StandardForm
(*CFAD[{{p, 0}, {m^2, -1}, 1}]*)
To represent completely arbitrary propagators one can use GenericPropagatorDenominator
. However, one should keep in mind that the number of useful manipulations and automatic simplifications available for such propagators is very limited.
[GenericPropagatorDenominator[x, {1, 1}]] FeynAmpDenominator
This is a nonlinear propagator that appears in the calculation of the QCD Energy-Energy-Correlation function
[GenericPropagatorDenominator[2 z Pair[Momentum[p1, D], Momentum[Q,
FeynAmpDenominatorD]] Pair[Momentum[p2, D], Momentum[Q, D]] - Pair[Momentum[p1, D], Momentum[p2, D]], {1, 1}]]
The shortcut to enter FeynAmpDenominator
s with GenericPropagatorDenominator
s is GFAD
[GenericPropagatorDenominator[2 z Pair[Momentum[p1, D], Momentum[Q,
FeynAmpDenominatorD]] Pair[Momentum[p2, D], Momentum[Q, D]] - Pair[Momentum[p1, D], Momentum[p2, D]], {1, 1}]] //
// StandardForm
FCE
(*GFAD[{{-SPD[p1, p2] + 2 z SPD[p1, Q] SPD[p2, Q], 1}, 1}]*)