FromGFAD
FromGFAD[exp]
converts all suitable generic propagator denominators into standard and Cartesian propagator denominators.
The options InitialSubstitutions
and IntermediateSubstitutions
can be used to help the function handle nontrivial propagators.
For propagators containing symbolic variables it might be necessary to tell the function that those are larger than zero (if applicable), so that expressions such as λ 2 \sqrt{\lambda^2} λ 2 can be simplified accordingly.
See also
Overview , GFAD , SFAD , CFAD , FeynAmpDenominatorExplicit .
Examples
GFAD[ SPD[ p1]]
ex = FromGFAD[ % ]
1 ( p1 2 + i η ) \frac{1}{(\text{p1}^2+i \eta )} ( p1 2 + i η ) 1
1 ( p1 2 + i η ) \frac{1}{(\text{p1}^2+i \eta )} ( p1 2 + i η ) 1
ex // StandardForm
(*FeynAmpDenominator[StandardPropagatorDenominator[Momentum[p1, D], 0, 0, {1, 1}]]*)
GFAD[ SPD[ p1] + 2 SPD[ p1, p2]]
ex = FromGFAD[ % ]
1 ( p1 2 + 2 ( p1 ⋅ p2 ) + i η ) \frac{1}{(\text{p1}^2+2 (\text{p1}\cdot \;\text{p2})+i \eta )} ( p1 2 + 2 ( p1 ⋅ p2 ) + i η ) 1
1 ( p1 2 + 2 ( p1 ⋅ p2 ) + i η ) \frac{1}{(\text{p1}^2+2 (\text{p1}\cdot \;\text{p2})+i \eta )} ( p1 2 + 2 ( p1 ⋅ p2 ) + i η ) 1
ex // StandardForm
(*FeynAmpDenominator[StandardPropagatorDenominator[Momentum[p1, D], 2 Pair[Momentum[p1, D], Momentum[p2, D]], 0, {1, 1}]]*)
GFAD[{{ CSPD[ p1] + 2 CSPD[ p1, p2] + m ^ 2 , - 1 }, 2 }]
ex = FromGFAD[ % ]
1 ( m 2 + p1 2 + 2 ( p1 ⋅ p2 ) − i η ) 2 \frac{1}{(m^2+\text{p1}^2+2 (\text{p1}\cdot \;\text{p2})-i \eta )^2} ( m 2 + p1 2 + 2 ( p1 ⋅ p2 ) − i η ) 2 1
1 ( p1 ⋅ ( p1 + 2 p2 ) + m 2 − i η ) 2 \frac{1}{(\text{p1}\cdot (\text{p1}+2 \;\text{p2})+m^2-i \eta )^2} ( p1 ⋅ ( p1 + 2 p2 ) + m 2 − i η ) 2 1
ex // StandardForm
(*FeynAmpDenominator[CartesianPropagatorDenominator[0, CartesianPair[CartesianMomentum[p1, -1 + D], CartesianMomentum[p1 + 2 p2, -1 + D]], m^2, {2, -1}]]*)
prop = FeynAmpDenominator[ GenericPropagatorDenominator[ - la Pair[ Momentum[ p1, D ],
Momentum[ p1, D ]] + 2 Pair[ Momentum[ p1, D ], Momentum[ q , D ]], { 1 , 1 }]]
1 ( 2 ( p1 ⋅ q ) − la p1 2 + i η ) \frac{1}{(2 (\text{p1}\cdot q)-\text{la} \;\text{p1}^2+i \eta )} ( 2 ( p1 ⋅ q ) − la p1 2 + i η ) 1
1 ( − la p1 2 + 2 ( p1 ⋅ q ) + i η ) \frac{1}{(-\text{la} \;\text{p1}^2+2 (\text{p1}\cdot q)+i \eta )} ( − la p1 2 + 2 ( p1 ⋅ q ) + i η ) 1
FeynAmpDenominator [ StandardPropagatorDenominator [ − la Momentum [ p1 , D ] , 2 Pair [ Momentum [ p1 , D ] , Momentum [ q , D ] ] , 0 , { 1 , 1 } ] ] \text{FeynAmpDenominator}\left[\text{StandardPropagatorDenominator}\left[\sqrt{-\text{la}} \;\text{Momentum}[\text{p1},D],2 \;\text{Pair}[\text{Momentum}[\text{p1},D],\text{Momentum}[q,D]],0,\{1,1\}\right]\right] FeynAmpDenominator [ StandardPropagatorDenominator [ − la Momentum [ p1 , D ] , 2 Pair [ Momentum [ p1 , D ] , Momentum [ q , D ]] , 0 , { 1 , 1 } ] ]
ex = FromGFAD[ prop, PowerExpand -> { la}]
1 ( − la p1 2 + 2 ( p1 ⋅ q ) + i η ) \frac{1}{(-\text{la} \;\text{p1}^2+2 (\text{p1}\cdot q)+i \eta )} ( − la p1 2 + 2 ( p1 ⋅ q ) + i η ) 1
FeynAmpDenominator [ StandardPropagatorDenominator [ i la Momentum [ p1 , D ] , 2 Pair [ Momentum [ p1 , D ] , Momentum [ q , D ] ] , 0 , { 1 , 1 } ] ] \text{FeynAmpDenominator}\left[\text{StandardPropagatorDenominator}\left[i \sqrt{\text{la}} \;\text{Momentum}[\text{p1},D],2 \;\text{Pair}[\text{Momentum}[\text{p1},D],\text{Momentum}[q,D]],0,\{1,1\}\right]\right] FeynAmpDenominator [ StandardPropagatorDenominator [ i la Momentum [ p1 , D ] , 2 Pair [ Momentum [ p1 , D ] , Momentum [ q , D ]] , 0 , { 1 , 1 } ] ]
ex = GFAD[{{ - SPD[ p1, p1], 1 }, 1 }] * GFAD[{{ SPD[ p1, - p1 + 2 * p3] - SPD[ p3, p3], 1 }, 1 }] *
GFAD[{{ - SPD[ p3, p3], 1 }, 1 }] * SFAD[{{ I * (p1 + q ), 0 }, { - mb^ 2 , 1 }, 1 }] *
SFAD[{{ I * (p3 + q ), 0 }, { - mb^ 2 , 1 }, 1 }] + (- 2 * mg^ 2 * GFAD[{{ - SPD[ p1, p1], 1 }, 2 }] *
GFAD[{{ SPD[ p1, - p1 + 2 * p3] - SPD[ p3, p3], 1 }, 1 }] * GFAD[{{ - SPD[ p3, p3], 1 }, 1 }] *
SFAD[{{ I * (p1 + q ), 0 }, { - mb^ 2 , 1 }, 1 }] * SFAD[{{ I * (p3 + q ), 0 }, { - mb^ 2 , 1 }, 1 }] -
2 * mg^ 2 * GFAD[{{ - SPD[ p1, p1], 1 }, 1 }] * GFAD[{{ SPD[ p1, - p1 + 2 * p3] - SPD[ p3, p3],
1 }, 2 }] * GFAD[{{ - SPD[ p3, p3], 1 }, 1 }] * SFAD[{{ I * (p1 + q ), 0 }, { - mb^ 2 , 1 }, 1 }] *
SFAD[{{ I * (p3 + q ), 0 }, { - mb^ 2 , 1 }, 1 }] - 2 * mg^ 2 * GFAD[{{ - SPD[ p1, p1], 1 },
1 }] * GFAD[{{ SPD[ p1, - p1 + 2 * p3] - SPD[ p3, p3], 1 }, 1 }] * GFAD[{{ - SPD[ p3, p3],
1 }, 2 }] * SFAD[{{ I * (p1 + q ), 0 }, { - mb^ 2 , 1 }, 1 }] * SFAD[{{ I * (p3 + q ), 0 },
{ - mb^ 2 , 1 }, 1 }] )/ 2
1 2 ( − 2 mg 2 ( − p1 2 + i η ) 2 ( − p3 2 + i η ) ( − ( p1 + q ) 2 + mb 2 + i η ) ( − ( p3 + q ) 2 + mb 2 + i η ) ( p1 ⋅ ( 2 p3 − p1 ) − p3 2 + i η ) − 2 mg 2 ( − p1 2 + i η ) ( − p3 2 + i η ) ( − ( p1 + q ) 2 + mb 2 + i η ) ( − ( p3 + q ) 2 + mb 2 + i η ) ( p1 ⋅ ( 2 p3 − p1 ) − p3 2 + i η ) 2 − 2 mg 2 ( − p1 2 + i η ) ( − p3 2 + i η ) 2 ( − ( p1 + q ) 2 + mb 2 + i η ) ( − ( p3 + q ) 2 + mb 2 + i η ) ( p1 ⋅ ( 2 p3 − p1 ) − p3 2 + i η ) ) + 1 ( − p1 2 + i η ) ( − p3 2 + i η ) ( − ( p1 + q ) 2 + mb 2 + i η ) ( − ( p3 + q ) 2 + mb 2 + i η ) ( p1 ⋅ ( 2 p3 − p1 ) − p3 2 + i η ) \frac{1}{2} \left(-\frac{2 \;\text{mg}^2}{(-\text{p1}^2+i \eta )^2 (-\text{p3}^2+i \eta ) (-(\text{p1}+q)^2+\text{mb}^2+i \eta ) (-(\text{p3}+q)^2+\text{mb}^2+i \eta ) (\text{p1}\cdot (2 \;\text{p3}-\text{p1})-\text{p3}^2+i \eta )}-\frac{2 \;\text{mg}^2}{(-\text{p1}^2+i \eta ) (-\text{p3}^2+i \eta ) (-(\text{p1}+q)^2+\text{mb}^2+i \eta ) (-(\text{p3}+q)^2+\text{mb}^2+i \eta ) (\text{p1}\cdot (2 \;\text{p3}-\text{p1})-\text{p3}^2+i \eta )^2}-\frac{2 \;\text{mg}^2}{(-\text{p1}^2+i \eta ) (-\text{p3}^2+i \eta )^2 (-(\text{p1}+q)^2+\text{mb}^2+i \eta ) (-(\text{p3}+q)^2+\text{mb}^2+i \eta ) (\text{p1}\cdot (2 \;\text{p3}-\text{p1})-\text{p3}^2+i \eta )}\right)+\frac{1}{(-\text{p1}^2+i \eta ) (-\text{p3}^2+i \eta ) (-(\text{p1}+q)^2+\text{mb}^2+i \eta ) (-(\text{p3}+q)^2+\text{mb}^2+i \eta ) (\text{p1}\cdot (2 \;\text{p3}-\text{p1})-\text{p3}^2+i \eta )} 2 1 ( − ( − p1 2 + i η ) 2 ( − p3 2 + i η ) ( − ( p1 + q ) 2 + mb 2 + i η ) ( − ( p3 + q ) 2 + mb 2 + i η ) ( p1 ⋅ ( 2 p3 − p1 ) − p3 2 + i η ) 2 mg 2 − ( − p1 2 + i η ) ( − p3 2 + i η ) ( − ( p1 + q ) 2 + mb 2 + i η ) ( − ( p3 + q ) 2 + mb 2 + i η ) ( p1 ⋅ ( 2 p3 − p1 ) − p3 2 + i η ) 2 2 mg 2 − ( − p1 2 + i η ) ( − p3 2 + i η ) 2 ( − ( p1 + q ) 2 + mb 2 + i η ) ( − ( p3 + q ) 2 + mb 2 + i η ) ( p1 ⋅ ( 2 p3 − p1 ) − p3 2 + i η ) 2 mg 2 ) + ( − p1 2 + i η ) ( − p3 2 + i η ) ( − ( p1 + q ) 2 + mb 2 + i η ) ( − ( p3 + q ) 2 + mb 2 + i η ) ( p1 ⋅ ( 2 p3 − p1 ) − p3 2 + i η ) 1
1 2 ( − 2 mg 2 ( − p1 2 + i η ) 2 ( − p3 2 + i η ) ( − ( p1 + q ) 2 + mb 2 + i η ) ( − ( p3 + q ) 2 + mb 2 + i η ) ( − p3 2 + p1 ⋅ ( 2 p3 − p1 ) + i η ) − 2 mg 2 ( − p1 2 + i η ) ( − p3 2 + i η ) 2 ( − ( p1 + q ) 2 + mb 2 + i η ) ( − ( p3 + q ) 2 + mb 2 + i η ) ( − p3 2 + p1 ⋅ ( 2 p3 − p1 ) + i η ) − 2 mg 2 ( − p1 2 + i η ) ( − p3 2 + i η ) ( − ( p1 + q ) 2 + mb 2 + i η ) ( − ( p3 + q ) 2 + mb 2 + i η ) ( − p3 2 + p1 ⋅ ( 2 p3 − p1 ) + i η ) 2 ) + 1 ( − p1 2 + i η ) ( − p3 2 + i η ) ( − ( p1 + q ) 2 + mb 2 + i η ) ( − ( p3 + q ) 2 + mb 2 + i η ) ( − p3 2 + p1 ⋅ ( 2 p3 − p1 ) + i η ) \frac{1}{2} \left(-\frac{2 \;\text{mg}^2}{(-\text{p1}^2+i \eta )^2 (-\text{p3}^2+i \eta ) (-(\text{p1}+q)^2+\text{mb}^2+i \eta ) (-(\text{p3}+q)^2+\text{mb}^2+i \eta ) (-\text{p3}^2+\text{p1}\cdot (2 \;\text{p3}-\text{p1})+i \eta )}-\frac{2 \;\text{mg}^2}{(-\text{p1}^2+i \eta ) (-\text{p3}^2+i \eta )^2 (-(\text{p1}+q)^2+\text{mb}^2+i \eta ) (-(\text{p3}+q)^2+\text{mb}^2+i \eta ) (-\text{p3}^2+\text{p1}\cdot (2 \;\text{p3}-\text{p1})+i \eta )}-\frac{2 \;\text{mg}^2}{(-\text{p1}^2+i \eta ) (-\text{p3}^2+i \eta ) (-(\text{p1}+q)^2+\text{mb}^2+i \eta ) (-(\text{p3}+q)^2+\text{mb}^2+i \eta ) (-\text{p3}^2+\text{p1}\cdot (2 \;\text{p3}-\text{p1})+i \eta )^2}\right)+\frac{1}{(-\text{p1}^2+i \eta ) (-\text{p3}^2+i \eta ) (-(\text{p1}+q)^2+\text{mb}^2+i \eta ) (-(\text{p3}+q)^2+\text{mb}^2+i \eta ) (-\text{p3}^2+\text{p1}\cdot (2 \;\text{p3}-\text{p1})+i \eta )} 2 1 ( − ( − p1 2 + i η ) 2 ( − p3 2 + i η ) ( − ( p1 + q ) 2 + mb 2 + i η ) ( − ( p3 + q ) 2 + mb 2 + i η ) ( − p3 2 + p1 ⋅ ( 2 p3 − p1 ) + i η ) 2 mg 2 − ( − p1 2 + i η ) ( − p3 2 + i η ) 2 ( − ( p1 + q ) 2 + mb 2 + i η ) ( − ( p3 + q ) 2 + mb 2 + i η ) ( − p3 2 + p1 ⋅ ( 2 p3 − p1 ) + i η ) 2 mg 2 − ( − p1 2 + i η ) ( − p3 2 + i η ) ( − ( p1 + q ) 2 + mb 2 + i η ) ( − ( p3 + q ) 2 + mb 2 + i η ) ( − p3 2 + p1 ⋅ ( 2 p3 − p1 ) + i η ) 2 2 mg 2 ) + ( − p1 2 + i η ) ( − p3 2 + i η ) ( − ( p1 + q ) 2 + mb 2 + i η ) ( − ( p3 + q ) 2 + mb 2 + i η ) ( − p3 2 + p1 ⋅ ( 2 p3 − p1 ) + i η ) 1
Using the option InitialSubstitutions
one can perform certain replacement that might not be found automatically
ex = GFAD[ SPD[ k1] + 2 SPD[ k1, k2] + SPD[ k2] + SPD[ k1, n ]]
1 ( k1 2 + 2 ( k1 ⋅ k2 ) + k1 ⋅ n + k2 2 + i η ) \frac{1}{(\text{k1}^2+2 (\text{k1}\cdot \;\text{k2})+\text{k1}\cdot n+\text{k2}^2+i \eta )} ( k1 2 + 2 ( k1 ⋅ k2 ) + k1 ⋅ n + k2 2 + i η ) 1
FromGFAD[ ex, FCE -> True ]
% // InputForm
1 ( k1 2 + k1 ⋅ ( 2 k2 + n ) + k2 2 + i η ) \frac{1}{(\text{k1}^2+\text{k1}\cdot (2 \;\text{k2}+n)+\text{k2}^2+i \eta )} ( k1 2 + k1 ⋅ ( 2 k2 + n ) + k2 2 + i η ) 1
SFAD[{{ k1, k1 . (2 * k2 + n ) + k2 . k2}, { 0 , 1 }, 1 }]
FromGFAD[ ex, FCE -> True , InitialSubstitutions -> { ExpandScalarProduct[ SPD[ k1 + k2]] -> SPD[ k1 + k2]}]
% // InputForm
1 ( ( k1 + k2 ) 2 + k1 ⋅ n + i η ) \frac{1}{((\text{k1}+\text{k2})^2+\text{k1}\cdot n+i \eta )} (( k1 + k2 ) 2 + k1 ⋅ n + i η ) 1
SFAD[{{ k1 + k2, k1 . n }, { 0 , 1 }, 1 }]