Loops
See also
Overview .
Propagators
All propagators (and products thereof) appearing in loop diagrams and
integrals are represented via FeynAmpDenominator
This container is capable of representing different propagator types,
where the familiar quadratic propagators of the form 1 / ( q 2 − m 2 + i η ) 1/(q^2 - m^2 + i \eta) 1/ ( q 2 − m 2 + i η ) are described using
PropagatorDenominator
FeynAmpDenominator[ PropagatorDenominator[ Momentum[ q , D ], m ]]
1 q 2 − m 2 \frac{1}{q^2-m^2} q 2 − m 2 1
Again, for the external input we always use a shortcut
1 q 2 − m 2 \frac{1}{q^2-m^2} q 2 − m 2 1
FAD[{ q , m0}, { q + p1, m1}, { q + p2, m1}]
1 ( q 2 − m0 2 ) . ( ( p1 + q ) 2 − m1 2 ) . ( ( p2 + q ) 2 − m1 2 ) \frac{1}{\left(q^2-\text{m0}^2\right).\left((\text{p1}+q)^2-\text{m1}^2\right).\left((\text{p2}+q)^2-\text{m1}^2\right)} ( q 2 − m0 2 ) . ( ( p1 + q ) 2 − m1 2 ) . ( ( p2 + q ) 2 − m1 2 ) 1
There is also a more versatile symbol called
StandardFeynAmpDenominator
or SFAD
that allows
entering eikonal propagators as well
1 ( p 2 − m 2 + i η ) \frac{1}{(p^2-m^2+i \eta )} ( p 2 − m 2 + i η ) 1
SFAD[{{ p , 0 }, { - m ^ 2 , - 1 }}]
1 ( p 2 + m 2 − i η ) \frac{1}{(p^2+m^2-i \eta )} ( p 2 + m 2 − i η ) 1
1 ( p ⋅ q − m 2 + i η ) \frac{1}{(p\cdot q-m^2+i \eta
)} ( p ⋅ q − m 2 + i η ) 1
1 ( p 2 + p ⋅ q − m 2 + i η ) \frac{1}{(p^2+p\cdot q-m^2+i \eta
)} ( p 2 + p ⋅ q − m 2 + i η ) 1
The presence of FeynAmpDenominator
in an expression does
not automatically mean that it is a loop amplitude.
FeynAmpDenominator
can equally appear in tree level
amplitudes, where it stands for the usual 4-dimensional propagator.
In FeynCalc there is no explicit way to distinguish between loop
amplitudes and tree-level amplitudes. When you use functions that
manipulate loop integrals, you need to tell them explicitly what is your
loop momentum.
Manipulations of
FeynAmpDenominators
There are several functions, that are useful both for tree- and
loop-level amplitudes, depending on what we want to do
For example, one can split one FeynAmpDenominator
into
many
FAD[{ k1 - k2}, { k1 - p2, m }, { k2 + p2, m }]
FeynAmpDenominatorSplit[ % ]
% // FCE // StandardForm
1 ( k1 − k2 ) 2 . ( ( k1 − p2 ) 2 − m 2 ) . ( ( k2 + p2 ) 2 − m 2 ) \frac{1}{(\text{k1}-\text{k2})^2.\left((\text{k1}-\text{p2})^2-m^2\right).\left((\text{k2}+\text{p2})^2-m^2\right)} ( k1 − k2 ) 2 . ( ( k1 − p2 ) 2 − m 2 ) . ( ( k2 + p2 ) 2 − m 2 ) 1
1 ( k1 − k2 ) 2 ( ( k1 − p2 ) 2 − m 2 ) ( ( k2 + p2 ) 2 − m 2 ) \frac{1}{(\text{k1}-\text{k2})^2
\left((\text{k1}-\text{p2})^2-m^2\right)
\left((\text{k2}+\text{p2})^2-m^2\right)} ( k1 − k2 ) 2 ( ( k1 − p2 ) 2 − m 2 ) ( ( k2 + p2 ) 2 − m 2 ) 1
(*FAD[k1 - k2] FAD[{k1 - p2, m}] FAD[{k2 + p2, m}]*)
or combine several into one
FeynAmpDenominatorCombine[ FAD[ k1 - k2] FAD[{ k1 - p2, m }] FAD[{ k2 + p2, m }]]
% // FCE // StandardForm
1 ( k1 − k2 ) 2 . ( ( k1 − p2 ) 2 − m 2 ) . ( ( k2 + p2 ) 2 − m 2 ) \frac{1}{(\text{k1}-\text{k2})^2.\left((\text{k1}-\text{p2})^2-m^2\right).\left((\text{k2}+\text{p2})^2-m^2\right)} ( k1 − k2 ) 2 . ( ( k1 − p2 ) 2 − m 2 ) . ( ( k2 + p2 ) 2 − m 2 ) 1
(*FAD[k1 - k2, {k1 - p2, m}, {k2 + p2, m}]*)
At the tree-level we often do not need the
FeynAmpDenominators
but rather want to express everything
in terms of explicit scalar products, in order to exploit kinematic
simplifications. This is handled by
FeynAmpDenominatorExplicit
FeynAmpDenominatorExplicit[ FAD[{ k2 + p2, m }, k1 - k2, { k1 - p2, m }]]
1 ( − 2 ( k1 ⋅ k2 ) + k1 2 + k2 2 ) ( − 2 ( k1 ⋅ p2 ) + k1 2 − m 2 + p2 2 ) ( 2 ( k2 ⋅ p2 ) + k2 2 − m 2 + p2 2 ) \frac{1}{\left(-2 (\text{k1}\cdot
\;\text{k2})+\text{k1}^2+\text{k2}^2\right) \left(-2 (\text{k1}\cdot
\;\text{p2})+\text{k1}^2-m^2+\text{p2}^2\right) \left(2 (\text{k2}\cdot
\;\text{p2})+\text{k2}^2-m^2+\text{p2}^2\right)} ( − 2 ( k1 ⋅ k2 ) + k1 2 + k2 2 ) ( − 2 ( k1 ⋅ p2 ) + k1 2 − m 2 + p2 2 ) ( 2 ( k2 ⋅ p2 ) + k2 2 − m 2 + p2 2 ) 1
One-loop tensor reduction
1-loop tensor reduction using Passarino-Veltman method is handled by
TID
FVD[ q , \ [ Mu]] FVD[ q , \ [ Nu]] FAD[{ q , m }]
TID[ % , q ]
q μ q ν q 2 − m 2 \frac{q^{\mu } q^{\nu
}}{q^2-m^2} q 2 − m 2 q μ q ν
m 2 g μ ν D ( q 2 − m 2 ) \frac{m^2 g^{\mu \nu }}{D
\left(q^2-m^2\right)} D ( q 2 − m 2 ) m 2 g μν
int = FVD[ q , \ [ Mu]] SPD[ q , p ] FAD[{ q , m0}, { q + p , m1}]
TID[ % , q ]
q μ ( p ⋅ q ) ( q 2 − m0 2 ) . ( ( p + q ) 2 − m1 2 ) \frac{q^{\mu } (p\cdot
q)}{\left(q^2-\text{m0}^2\right).\left((p+q)^2-\text{m1}^2\right)} ( q 2 − m0 2 ) . ( ( p + q ) 2 − m1 2 ) q μ ( p ⋅ q )
p μ ( m0 2 − m1 2 + p 2 ) 2 4 p 2 ( q 2 − m0 2 ) . ( ( q − p ) 2 − m1 2 ) − p μ ( m0 2 − m1 2 + p 2 ) 4 p 2 ( q 2 − m0 2 ) + p μ ( m0 2 − m1 2 + 3 p 2 ) 4 p 2 ( q 2 − m1 2 ) \frac{p^{\mu }
\left(\text{m0}^2-\text{m1}^2+p^2\right)^2}{4 p^2
\left(q^2-\text{m0}^2\right).\left((q-p)^2-\text{m1}^2\right)}-\frac{p^{\mu
} \left(\text{m0}^2-\text{m1}^2+p^2\right)}{4 p^2
\left(q^2-\text{m0}^2\right)}+\frac{p^{\mu }
\left(\text{m0}^2-\text{m1}^2+3 p^2\right)}{4 p^2
\left(q^2-\text{m1}^2\right)} 4 p 2 ( q 2 − m0 2 ) . ( ( q − p ) 2 − m1 2 ) p μ ( m0 2 − m1 2 + p 2 ) 2 − 4 p 2 ( q 2 − m0 2 ) p μ ( m0 2 − m1 2 + p 2 ) + 4 p 2 ( q 2 − m1 2 ) p μ ( m0 2 − m1 2 + 3 p 2 )
By default, TID
tries to reduce everything to scalar
integrals with unit denominators. However, if it encounters zero Gram
determinants, it automatically switches to the coefficient functions
FCClearScalarProducts[]
SPD[ p , p ] = 0 ;
p μ 2 ( q 2 − m1 2 ) − 1 2 i π 2 ( m0 2 − m1 2 ) p μ B 1 ( 0 , m0 2 , m1 2 ) \frac{p^{\mu }}{2
\left(q^2-\text{m1}^2\right)}-\frac{1}{2} i \pi ^2
\left(\text{m0}^2-\text{m1}^2\right) p^{\mu }
\;\text{B}_1\left(0,\text{m0}^2,\text{m1}^2\right) 2 ( q 2 − m1 2 ) p μ − 2 1 i π 2 ( m0 2 − m1 2 ) p μ B 1 ( 0 , m0 2 , m1 2 )
If we want the result to be express entirely in terms of
Passarino-Veltman function, i. e. without FAD
s, we can use
ToPaVe
TID[ int, q , ToPaVe -> True ]
1 2 i π 2 p μ A 0 ( m1 2 ) − 1 2 i π 2 ( m0 2 − m1 2 ) p μ B 1 ( 0 , m0 2 , m1 2 ) \frac{1}{2} i \pi ^2 p^{\mu }
\;\text{A}_0\left(\text{m1}^2\right)-\frac{1}{2} i \pi ^2
\left(\text{m0}^2-\text{m1}^2\right) p^{\mu }
\;\text{B}_1\left(0,\text{m0}^2,\text{m1}^2\right) 2 1 i π 2 p μ A 0 ( m1 2 ) − 2 1 i π 2 ( m0 2 − m1 2 ) p μ B 1 ( 0 , m0 2 , m1 2 )
ToPaVe
is actually also a standalone function, so it can
be used independently of TID
FCClearScalarProducts[]
FAD[ q , { q + p1}, { q + p2}]
ToPaVe[ % , q ]
1 q 2 . ( p1 + q ) 2 . ( p2 + q ) 2 \frac{1}{q^2.(\text{p1}+q)^2.(\text{p2}+q)^2} q 2 . ( p1 + q ) 2 . ( p2 + q ) 2 1
i π 2 C 0 ( p1 2 , p2 2 , p1 2 − 2 ( p1 ⋅ p2 ) + p2 2 , 0 , 0 , 0 ) i \pi ^2
\;\text{C}_0\left(\text{p1}^2,\text{p2}^2,\text{p1}^2-2 (\text{p1}\cdot
\;\text{p2})+\text{p2}^2,0,0,0\right) i π 2 C 0 ( p1 2 , p2 2 , p1 2 − 2 ( p1 ⋅ p2 ) + p2 2 , 0 , 0 , 0 )
Even if there are no Gram determinants, for some tensor integrals the
full result in terms of scalar integrals is just too large
int = FVD[ q , \ [ Mu]] FVD[ q , \ [ Nu]] FAD[ q , { q + p1}, { q + p2}]
res = TID[ int, q ] ;
q μ q ν q 2 . ( p1 + q ) 2 . ( p2 + q ) 2 \frac{q^{\mu } q^{\nu
}}{q^2.(\text{p1}+q)^2.(\text{p2}+q)^2} q 2 . ( p1 + q ) 2 . ( p2 + q ) 2 q μ q ν
− ⟨ ⟨ 1 ⟩ ⟩ 4 ( 2 − D ) ⟨ ⟨ 1 ⟩ ⟩ ⟨ ⟨ 1 ⟩ ⟩ 2 ⟨ ⟨ 1 ⟩ ⟩ ⟨ ⟨ 1 ⟩ ⟩ ( ⟨ ⟨ 1 ⟩ ⟩ 2 − ⟨ ⟨ 1 ⟩ ⟩ ) 2 − ⟨ ⟨ 1 ⟩ ⟩ ⟨ ⟨ 1 ⟩ ⟩ + ⟨ ⟨ 1 ⟩ ⟩ − ⟨ ⟨ 44 ⟩ ⟩ + ⟨ ⟨ 1 ⟩ ⟩ 4 ⟨ ⟨ 3 ⟩ ⟩ ⟨ ⟨ 1 ⟩ ⟩ 2 -\frac{\langle\langle 1\rangle\rangle }{4
(2-D)\langle\langle 1\rangle\rangle \langle\langle 1\rangle\rangle
^2\langle\langle 1\rangle\rangle \langle\langle
1\rangle\rangle \left(\langle\langle 1\rangle\rangle ^2-\langle\langle
1\rangle\rangle \right)^2}-\frac{\langle\langle 1\rangle\rangle
}{\langle\langle 1\rangle\rangle }+\langle\langle 1\rangle\rangle
-\frac{\langle\langle 44\rangle\rangle +\langle\langle 1\rangle\rangle
}{4 \langle\langle 3\rangle\rangle \langle\langle 1\rangle\rangle
^2} − 4 ( 2 − D ) ⟨⟨ 1 ⟩⟩ ⟨⟨ 1 ⟩ ⟩ 2 ⟨⟨ 1 ⟩⟩ ⟨⟨ 1 ⟩⟩ ( ⟨⟨ 1 ⟩ ⟩ 2 − ⟨⟨ 1 ⟩⟩ ) 2 ⟨⟨ 1 ⟩⟩ − ⟨⟨ 1 ⟩⟩ ⟨⟨ 1 ⟩⟩ + ⟨⟨ 1 ⟩⟩ − 4 ⟨⟨ 3 ⟩⟩ ⟨⟨ 1 ⟩ ⟩ 2 ⟨⟨ 44 ⟩⟩ + ⟨⟨ 1 ⟩⟩
Of course we collect with respect to FAD
and isolate the
prefactors, but the full result still remains messy
Collect2[ res, FeynAmpDenominator, IsolateNames -> KK]
− KK ( 864 ) 4 q 2 . ( − p1 + p2 + q ) 2 + KK ( 868 ) 4 q 2 . ( q − p1 ) 2 . ( q − p2 ) 2 − KK ( 866 ) 4 q 2 . ( q − p1 ) 2 + − KK ( 861 ) 4 q 2 . ( q − p2 ) 2 -\frac{\text{KK}(864)}{4
q^2.(-\text{p1}+\text{p2}+q)^2}+\frac{\text{KK}(868)}{4
q^2.(q-\text{p1})^2.(q-\text{p2})^2}-\frac{\text{KK}(866)}{4
q^2.(q-\text{p1})^2}+-\frac{\text{KK}(861)}{4
q^2.(q-\text{p2})^2} − 4 q 2 . ( − p1 + p2 + q ) 2 KK ( 864 ) + 4 q 2 . ( q − p1 ) 2 . ( q − p2 ) 2 KK ( 868 ) − 4 q 2 . ( q − p1 ) 2 KK ( 866 ) + − 4 q 2 . ( q − p2 ) 2 KK ( 861 )
In such cases, we can get a much more compact results , if we stick
to coefficient functions and do not demand the full reduction to
scalars. To do so, use the option UsePaVeBasis
res = TID[ int, q , UsePaVeBasis -> True ]
i π 2 g μ ν C 00 ( p1 2 , p2 2 , − 2 ( p1 ⋅ p2 ) + p1 2 + p2 2 , 0 , 0 , 0 ) + i π 2 p1 μ p1 ν C 11 ( p1 2 , − 2 ( p1 ⋅ p2 ) + p1 2 + p2 2 , p2 2 , 0 , 0 , 0 ) + i π 2 p2 μ p2 ν C 11 ( p2 2 , − 2 ( p1 ⋅ p2 ) + p1 2 + p2 2 , p1 2 , 0 , 0 , 0 ) + i π 2 ( p1 ν p2 μ + p1 μ p2 ν ) C 12 ( p1 2 , − 2 ( p1 ⋅ p2 ) + p1 2 + p2 2 , p2 2 , 0 , 0 , 0 ) i \pi ^2 g^{\mu \nu }
\;\text{C}_{00}\left(\text{p1}^2,\text{p2}^2,-2 (\text{p1}\cdot
\;\text{p2})+\text{p1}^2+\text{p2}^2,0,0,0\right)+i \pi ^2
\;\text{p1}^{\mu } \;\text{p1}^{\nu }
\;\text{C}_{11}\left(\text{p1}^2,-2 (\text{p1}\cdot
\;\text{p2})+\text{p1}^2+\text{p2}^2,\text{p2}^2,0,0,0\right)+i \pi ^2
\;\text{p2}^{\mu } \;\text{p2}^{\nu }
\;\text{C}_{11}\left(\text{p2}^2,-2 (\text{p1}\cdot
\;\text{p2})+\text{p1}^2+\text{p2}^2,\text{p1}^2,0,0,0\right)+i \pi ^2
\left(\text{p1}^{\nu } \;\text{p2}^{\mu }+\text{p1}^{\mu }
\;\text{p2}^{\nu }\right) \;\text{C}_{12}\left(\text{p1}^2,-2
(\text{p1}\cdot
\;\text{p2})+\text{p1}^2+\text{p2}^2,\text{p2}^2,0,0,0\right) i π 2 g μν C 00 ( p1 2 , p2 2 , − 2 ( p1 ⋅ p2 ) + p1 2 + p2 2 , 0 , 0 , 0 ) + i π 2 p1 μ p1 ν C 11 ( p1 2 , − 2 ( p1 ⋅ p2 ) + p1 2 + p2 2 , p2 2 , 0 , 0 , 0 ) + i π 2 p2 μ p2 ν C 11 ( p2 2 , − 2 ( p1 ⋅ p2 ) + p1 2 + p2 2 , p1 2 , 0 , 0 , 0 ) + i π 2 ( p1 ν p2 μ + p1 μ p2 ν ) C 12 ( p1 2 , − 2 ( p1 ⋅ p2 ) + p1 2 + p2 2 , p2 2 , 0 , 0 , 0 )
The resulting coefficient functions can be further reduced with
PaVeReduce
⟨ ⟨ 5 ⟩ ⟩ + i ⟨ ⟨ 1 ⟩ ⟩ ⟨ ⟨ 1 ⟩ ⟩ ⟨ ⟨ 1 ⟩ ⟩ ( ⟨ ⟨ 1 ⟩ ⟩ ) 4 ( 2 − D ) ⟨ ⟨ 1 ⟩ ⟩ 2 \langle\langle 5\rangle\rangle +\frac{i
\langle\langle 1\rangle\rangle \langle\langle 1\rangle\rangle
\langle\langle 1\rangle\rangle (\langle\langle 1\rangle\rangle )}{4
(2-D) \langle\langle 1\rangle\rangle ^2} ⟨⟨ 5 ⟩⟩ + 4 ( 2 − D ) ⟨⟨ 1 ⟩ ⟩ 2 i ⟨⟨ 1 ⟩⟩ ⟨⟨ 1 ⟩⟩ ⟨⟨ 1 ⟩⟩ (⟨⟨ 1 ⟩⟩)
Multi-loop tensor reduction
In the case of multi-loop integrals (but also 1-loop integrals with
linear propagators) one should use FCMultiLoopTID
FVD[ q , \ [ Mu]] FVD[ q , \ [ Nu]] SFAD[{ q , m ^ 2 }, {{ 0 , 2 l . q }}]
FCMultiLoopTID[ % , { q }]
q μ q ν ( q 2 − m 2 + i η ) . ( 2 ( l ⋅ q ) + i η ) \frac{q^{\mu } q^{\nu }}{(q^2-m^2+i \eta
).(2 (l\cdot q)+i \eta )} ( q 2 − m 2 + i η ) . ( 2 ( l ⋅ q ) + i η ) q μ q ν
m 2 ( l μ l ν − l 2 g μ ν ) ( 1 − D ) l 2 ( q 2 − m 2 + i η ) . ( 2 ( l ⋅ q ) + i η ) \frac{m^2 \left(l^{\mu } l^{\nu }-l^2
g^{\mu \nu }\right)}{(1-D) l^2 (q^2-m^2+i \eta ).(2 (l\cdot q)+i \eta
)} ( 1 − D ) l 2 ( q 2 − m 2 + i η ) . ( 2 ( l ⋅ q ) + i η ) m 2 ( l μ l ν − l 2 g μν )
Working with GLI and
FCTopology symbols
Integral families are encoded in form of
FCTopology[id, {props}, {lmoms}, {extmoms}, kinematics, reserved]
symbols
topos = {
FCTopology[ "topoBox1L" , { FAD[{ q , m0}], FAD[{ q + p1, m1}], FAD[{ q + p2, m2}], FAD[{ q + p2, m3}]},
{ q }, { p1, p2, p3}, {}, {}],
FCTopology[ "topoTad2L" , { FAD[{ q1, m1}], FAD[{ q2, m2}], FAD[{ q1 - q2, 0 }]}, { q1, q2}, {}, {}, {}]}
{ FCTopology ( topoBox1L , { 1 q 2 − m0 2 , 1 ( p1 + q ) 2 − m1 2 , 1 ( p2 + q ) 2 − m2 2 , 1 ( p2 + q ) 2 − m3 2 } , { q } , { p1 , p2 , p3 } , { } , { } ) , FCTopology ( topoTad2L , { 1 q1 2 − m1 2 , 1 q2 2 − m2 2 , 1 ( q1 − q2 ) 2 } , { q1 , q2 } , { } , { } , { } ) } \left\{\text{FCTopology}\left(\text{topoBox1L},\left\{\frac{1}{q^2-\text{m0}^2},\frac{1}{(\text{p1}+q)^2-\text{m1}^2},\frac{1}{(\text{p2}+q)^2-\text{m2}^2},\frac{1}{(\text{p2}+q)^2-\text{m3}^2}\right\},\{q\},\{\text{p1},\text{p2},\text{p3}\},\{\},\{\}\right),\text{FCTopology}\left(\text{topoTad2L},\left\{\frac{1}{\text{q1}^2-\text{m1}^2},\frac{1}{\text{q2}^2-\text{m2}^2},\frac{1}{(\text{q1}-\text{q2})^2}\right\},\{\text{q1},\text{q2}\},\{\},\{\},\{\}\right)\right\} { FCTopology ( topoBox1L , { q 2 − m0 2 1 , ( p1 + q ) 2 − m1 2 1 , ( p2 + q ) 2 − m2 2 1 , ( p2 + q ) 2 − m3 2 1 } , { q } , { p1 , p2 , p3 } , { } , { } ) , FCTopology ( topoTad2L , { q1 2 − m1 2 1 , q2 2 − m2 2 1 , ( q1 − q2 ) 2 1 } , { q1 , q2 } , { } , { } , { } ) }
The loop integrals belonging to these topologies are written as
GLI[id, {powers}]
symbols
exp = a1 GLI[ "topoBox1L" , { 1 , 1 , 1 , 1 }] + a2 GLI[ "topoTad2L" , { 1 , 2 , 2 }]
a1 G topoBox1L ( 1 , 1 , 1 , 1 ) + a2 G topoTad2L ( 1 , 2 , 2 ) \text{a1}
G^{\text{topoBox1L}}(1,1,1,1)+\text{a2}
G^{\text{topoTad2L}}(1,2,2) a1 G topoBox1L ( 1 , 1 , 1 , 1 ) + a2 G topoTad2L ( 1 , 2 , 2 )
Using FCLoopFromGLI
we can convert GLI
s
into explicit propagator notation
FCLoopFromGLI[ exp , topos]
a1 ( q 2 − m0 2 ) ( ( p1 + q ) 2 − m1 2 ) ( ( p2 + q ) 2 − m2 2 ) ( ( p2 + q ) 2 − m3 2 ) + a2 ( q1 2 − m1 2 ) ( q2 2 − m2 2 ) 2 ( q1 − q2 ) 4 \frac{\text{a1}}{\left(q^2-\text{m0}^2\right)
\left((\text{p1}+q)^2-\text{m1}^2\right)
\left((\text{p2}+q)^2-\text{m2}^2\right)
\left((\text{p2}+q)^2-\text{m3}^2\right)}+\frac{\text{a2}}{\left(\text{q1}^2-\text{m1}^2\right)
\left(\text{q2}^2-\text{m2}^2\right)^2
(\text{q1}-\text{q2})^4} ( q 2 − m0 2 ) ( ( p1 + q ) 2 − m1 2 ) ( ( p2 + q ) 2 − m2 2 ) ( ( p2 + q ) 2 − m3 2 ) a1 + ( q1 2 − m1 2 ) ( q2 2 − m2 2 ) 2 ( q1 − q2 ) 4 a2
Topology identification
The very first step is usually to identify the occurring topologies
in the amplitude (without attempting to minimize their number)
Find topologies occurring in the 2-loop ghost self-energy
amplitude
amp = Get [ FileNameJoin [{ $FeynCalcDirectory, "Documentation" , "Examples" ,
"Amplitudes" , "Gh-Gh-2L.m" }]] ;
res = FCLoopFindTopologies[ amp, { q1, q2}] ;
FCLoopFindTopologies: Number of the initial candidate topologies: 3 \text{FCLoopFindTopologies: Number of the
initial candidate topologies: }3 FCLoopFindTopologies: Number of the initial candidate topologies: 3
FCLoopFindTopologies: Number of the identified unique topologies: 3 \text{FCLoopFindTopologies: Number of the
identified unique topologies: }3 FCLoopFindTopologies: Number of the identified unique topologies: 3
FCLoopFindTopologies: Number of the preferred topologies among the unique topologies: 0 \text{FCLoopFindTopologies: Number of the
preferred topologies among the unique topologies: }0 FCLoopFindTopologies: Number of the preferred topologies among the unique topologies: 0
FCLoopFindTopologies: Number of the identified subtopologies: 0 \text{FCLoopFindTopologies: Number of the
identified subtopologies: }0 FCLoopFindTopologies: Number of the identified subtopologies: 0
FCLoopFindTopologies: Your topologies depend on the follwing kinematic invariants that are not all entirely lowercase: { Pair[Momentum[p, D], Momentum[p, D]] } \text{FCLoopFindTopologies: }\;\text{Your
topologies depend on the follwing kinematic invariants that are not all
entirely lowercase: }\{\text{Pair[Momentum[p, D], Momentum[p,
D]]}\} FCLoopFindTopologies: Your topologies depend on the follwing kinematic invariants that are not all entirely lowercase: { Pair[Momentum[p, D], Momentum[p, D]] }
FCLoopFindTopologies: This may lead to issues if these topologies are meant to be processed using tools such as FIRE, KIRA or Fermat. \text{FCLoopFindTopologies: }\;\text{This
may lead to issues if these topologies are meant to be processed using
tools such as FIRE, KIRA or Fermat.} FCLoopFindTopologies: This may lead to issues if these topologies are meant to be processed using tools such as FIRE, KIRA or Fermat.
{ FCTopology ( fctopology1 , { 1 ( q2 2 + i η ) , 1 ( q1 2 + i η ) , 1 ( ( q1 + q2 ) 2 + i η ) , 1 ( ( p + q1 ) 2 + i η ) , 1 ( ( p − q2 ) 2 + i η ) } , { q1 , q2 } , { p } , { } , { } ) , FCTopology ( fctopology2 , { 1 ( q2 2 + i η ) , 1 ( q1 2 + i η ) , 1 ( ( p + q2 ) 2 + i η ) , 1 ( ( p − q1 ) 2 + i η ) } , { q1 , q2 } , { p } , { } , { } ) , FCTopology ( fctopology3 , { 1 ( q2 2 + i η ) , 1 ( q1 2 + i η ) , 1 ( ( p − q1 ) 2 + i η ) , 1 ( ( p − q1 + q2 ) 2 + i η ) } , { q1 , q2 } , { p } , { } , { } ) } \left\{\text{FCTopology}\left(\text{fctopology1},\left\{\frac{1}{(\text{q2}^2+i
\eta )},\frac{1}{(\text{q1}^2+i \eta
)},\frac{1}{((\text{q1}+\text{q2})^2+i \eta
)},\frac{1}{((p+\text{q1})^2+i \eta )},\frac{1}{((p-\text{q2})^2+i \eta
)}\right\},\{\text{q1},\text{q2}\},\{p\},\{\},\{\}\right),\text{FCTopology}\left(\text{fctopology2},\left\{\frac{1}{(\text{q2}^2+i
\eta )},\frac{1}{(\text{q1}^2+i \eta )},\frac{1}{((p+\text{q2})^2+i \eta
)},\frac{1}{((p-\text{q1})^2+i \eta
)}\right\},\{\text{q1},\text{q2}\},\{p\},\{\},\{\}\right),\text{FCTopology}\left(\text{fctopology3},\left\{\frac{1}{(\text{q2}^2+i
\eta )},\frac{1}{(\text{q1}^2+i \eta )},\frac{1}{((p-\text{q1})^2+i \eta
)},\frac{1}{((p-\text{q1}+\text{q2})^2+i \eta
)}\right\},\{\text{q1},\text{q2}\},\{p\},\{\},\{\}\right)\right\} { FCTopology ( fctopology1 , { ( q2 2 + i η ) 1 , ( q1 2 + i η ) 1 , (( q1 + q2 ) 2 + i η ) 1 , (( p + q1 ) 2 + i η ) 1 , (( p − q2 ) 2 + i η ) 1 } , { q1 , q2 } , { p } , { } , { } ) , FCTopology ( fctopology2 , { ( q2 2 + i η ) 1 , ( q1 2 + i η ) 1 , (( p + q2 ) 2 + i η ) 1 , (( p − q1 ) 2 + i η ) 1 } , { q1 , q2 } , { p } , { } , { } ) , FCTopology ( fctopology3 , { ( q2 2 + i η ) 1 , ( q1 2 + i η ) 1 , (( p − q1 ) 2 + i η ) 1 , (( p − q1 + q2 ) 2 + i η ) 1 } , { q1 , q2 } , { p } , { } , { } ) }
The amplitude is the written as a linear combination of special
products, where numerators with explicit loop momenta are multiplied by
denominators written as GLI
s
FCGV ( GLIProduct ) ( ξ g s 4 q2 Lor1 p Lor2 q2 Lor2 q1 Lor4 g Lor3 Lor4 ( q1 + q2 ) Lor1 ( q2 − p ) Lor3 f Glu1 Glu3 Glu6 f Glu2 Glu4 Glu7 f Glu3 Glu4 Glu5 f Glu5 Glu6 Glu7 , G fctopology1 ( 2 , 1 , 1 , 1 , 1 ) ) + FCGV ( GLIProduct ) ( − ξ g s 4 q1 Lor1 p Lor2 p Lor3 q2 Lor4 g Lor3 Lor4 ( q1 − p ) Lor1 ( p − q1 ) Lor2 f Glu1 Glu6 Glu7 f Glu2 Glu4 Glu5 f Glu3 Glu4 Glu5 f Glu3 Glu6 Glu7 p 2 , G fctopology2 ( 1 , 1 , 1 , 2 ) ) + FCGV ( GLIProduct ) ( − ξ g s 4 q1 Lor1 p Lor2 p Lor3 q2 Lor4 g Lor1 Lor2 ( p + q2 ) Lor3 ( − p − q2 ) Lor4 f Glu1 Glu6 Glu7 f Glu2 Glu4 Glu5 f Glu3 Glu4 Glu5 f Glu3 Glu6 Glu7 p 2 , G fctopology2 ( 1 , 1 , 2 , 1 ) ) + FCGV ( GLIProduct ) ( − ξ 2 g s 4 q1 Lor1 p Lor2 p Lor3 q2 Lor4 ( q1 − p ) Lor1 ( p − q1 ) Lor2 ( p + q2 ) Lor3 ( − p − q2 ) Lor4 f Glu1 Glu6 Glu7 f Glu2 Glu4 Glu5 f Glu3 Glu4 Glu5 f Glu3 Glu6 Glu7 p 2 , G fctopology2 ( 1 , 1 , 2 , 2 ) ) + FCGV ( GLIProduct ) ( − g s 4 q1 Lor1 p Lor2 p Lor3 q2 Lor4 g Lor1 Lor2 g Lor3 Lor4 f Glu1 Glu6 Glu7 f Glu2 Glu4 Glu5 f Glu3 Glu4 Glu5 f Glu3 Glu6 Glu7 p 2 , G fctopology2 ( 1 , 1 , 1 , 1 ) ) \text{FCGV}(\text{GLIProduct})\left(\xi g_s^4
\;\text{q2}^{\text{Lor1}} p^{\text{Lor2}} \;\text{q2}^{\text{Lor2}}
\;\text{q1}^{\text{Lor4}} g^{\text{Lor3}\;\text{Lor4}}
(\text{q1}+\text{q2})^{\text{Lor1}} (\text{q2}-p)^{\text{Lor3}}
f^{\text{Glu1}\;\text{Glu3}\;\text{Glu6}}
f^{\text{Glu2}\;\text{Glu4}\;\text{Glu7}}
f^{\text{Glu3}\;\text{Glu4}\;\text{Glu5}}
f^{\text{Glu5}\;\text{Glu6}\;\text{Glu7}},G^{\text{fctopology1}}(2,1,1,1,1)\right)+\text{FCGV}(\text{GLIProduct})\left(-\frac{\xi g_s^4
\;\text{q1}^{\text{Lor1}} p^{\text{Lor2}} p^{\text{Lor3}}
\;\text{q2}^{\text{Lor4}} g^{\text{Lor3}\;\text{Lor4}}
(\text{q1}-p)^{\text{Lor1}} (p-\text{q1})^{\text{Lor2}}
f^{\text{Glu1}\;\text{Glu6}\;\text{Glu7}}
f^{\text{Glu2}\;\text{Glu4}\;\text{Glu5}}
f^{\text{Glu3}\;\text{Glu4}\;\text{Glu5}}
f^{\text{Glu3}\;\text{Glu6}\;\text{Glu7}}}{p^2},G^{\text{fctopology2}}(1,1,1,2)\right)+\text{FCGV}(\text{GLIProduct})\left(-\frac{\xi g_s^4
\;\text{q1}^{\text{Lor1}} p^{\text{Lor2}} p^{\text{Lor3}}
\;\text{q2}^{\text{Lor4}} g^{\text{Lor1}\;\text{Lor2}}
(p+\text{q2})^{\text{Lor3}} (-p-\text{q2})^{\text{Lor4}}
f^{\text{Glu1}\;\text{Glu6}\;\text{Glu7}}
f^{\text{Glu2}\;\text{Glu4}\;\text{Glu5}}
f^{\text{Glu3}\;\text{Glu4}\;\text{Glu5}}
f^{\text{Glu3}\;\text{Glu6}\;\text{Glu7}}}{p^2},G^{\text{fctopology2}}(1,1,2,1)\right)+\text{FCGV}(\text{GLIProduct})\left(-\frac{\xi
^2 g_s^4 \;\text{q1}^{\text{Lor1}} p^{\text{Lor2}} p^{\text{Lor3}}
\;\text{q2}^{\text{Lor4}} (\text{q1}-p)^{\text{Lor1}}
(p-\text{q1})^{\text{Lor2}} (p+\text{q2})^{\text{Lor3}}
(-p-\text{q2})^{\text{Lor4}} f^{\text{Glu1}\;\text{Glu6}\;\text{Glu7}}
f^{\text{Glu2}\;\text{Glu4}\;\text{Glu5}}
f^{\text{Glu3}\;\text{Glu4}\;\text{Glu5}}
f^{\text{Glu3}\;\text{Glu6}\;\text{Glu7}}}{p^2},G^{\text{fctopology2}}(1,1,2,2)\right)+\text{FCGV}(\text{GLIProduct})\left(-\frac{g_s^4
\;\text{q1}^{\text{Lor1}} p^{\text{Lor2}} p^{\text{Lor3}}
\;\text{q2}^{\text{Lor4}} g^{\text{Lor1}\;\text{Lor2}}
g^{\text{Lor3}\;\text{Lor4}} f^{\text{Glu1}\;\text{Glu6}\;\text{Glu7}}
f^{\text{Glu2}\;\text{Glu4}\;\text{Glu5}}
f^{\text{Glu3}\;\text{Glu4}\;\text{Glu5}}
f^{\text{Glu3}\;\text{Glu6}\;\text{Glu7}}}{p^2},G^{\text{fctopology2}}(1,1,1,1)\right) FCGV ( GLIProduct ) ( ξ g s 4 q2 Lor1 p Lor2 q2 Lor2 q1 Lor4 g Lor3 Lor4 ( q1 + q2 ) Lor1 ( q2 − p ) Lor3 f Glu1 Glu3 Glu6 f Glu2 Glu4 Glu7 f Glu3 Glu4 Glu5 f Glu5 Glu6 Glu7 , G fctopology1 ( 2 , 1 , 1 , 1 , 1 ) ) + FCGV ( GLIProduct ) ( − p 2 ξ g s 4 q1 Lor1 p Lor2 p Lor3 q2 Lor4 g Lor3 Lor4 ( q1 − p ) Lor1 ( p − q1 ) Lor2 f Glu1 Glu6 Glu7 f Glu2 Glu4 Glu5 f Glu3 Glu4 Glu5 f Glu3 Glu6 Glu7 , G fctopology2 ( 1 , 1 , 1 , 2 ) ) + FCGV ( GLIProduct ) ( − p 2 ξ g s 4 q1 Lor1 p Lor2 p Lor3 q2 Lor4 g Lor1 Lor2 ( p + q2 ) Lor3 ( − p − q2 ) Lor4 f Glu1 Glu6 Glu7 f Glu2 Glu4 Glu5 f Glu3 Glu4 Glu5 f Glu3 Glu6 Glu7 , G fctopology2 ( 1 , 1 , 2 , 1 ) ) + FCGV ( GLIProduct ) ( − p 2 ξ 2 g s 4 q1 Lor1 p Lor2 p Lor3 q2 Lor4 ( q1 − p ) Lor1 ( p − q1 ) Lor2 ( p + q2 ) Lor3 ( − p − q2 ) Lor4 f Glu1 Glu6 Glu7 f Glu2 Glu4 Glu5 f Glu3 Glu4 Glu5 f Glu3 Glu6 Glu7 , G fctopology2 ( 1 , 1 , 2 , 2 ) ) + FCGV ( GLIProduct ) ( − p 2 g s 4 q1 Lor1 p Lor2 p Lor3 q2 Lor4 g Lor1 Lor2 g Lor3 Lor4 f Glu1 Glu6 Glu7 f Glu2 Glu4 Glu5 f Glu3 Glu4 Glu5 f Glu3 Glu6 Glu7 , G fctopology2 ( 1 , 1 , 1 , 1 ) )
Finding topology mappings
Here we have a set of 5 topologies
topos1 = {
FCTopology[ fctopology1, { SFAD[{{ p3, 0 }, { 0 , 1 }, 1 }], SFAD[{{ p2, 0 }, { 0 , 1 }, 1 }],
SFAD[{{ p1, 0 }, { 0 , 1 }, 1 }], SFAD[{{ p2 + p3, 0 }, { 0 , 1 }, 1 }], SFAD[{{ p2 - Q , 0 }, { 0 , 1 }, 1 }],
SFAD[{{ p1 - Q , 0 }, { 0 , 1 }, 1 }], SFAD[{{ p2 + p3 - Q , 0 }, { 0 , 1 }, 1 }], SFAD[{{ p1 + p3 - Q , 0 }, { 0 , 1 }, 1 }],
SFAD[{{ p1 + p2 + p3 - Q , 0 }, { 0 , 1 }, 1 }]}, { p1, p2, p3}, { Q }, {}, {}],
FCTopology[ fctopology2, { SFAD[{{ p3, 0 }, { 0 , 1 }, 1 }],
SFAD[{{ p2, 0 }, { 0 , 1 }, 1 }], SFAD[{{ p1, 0 }, { 0 , 1 }, 1 }], SFAD[{{ p2 + p3, 0 }, { 0 , 1 }, 1 }],
SFAD[{{ p2 - Q , 0 }, { 0 , 1 }, 1 }], SFAD[{{ p1 - Q , 0 }, { 0 , 1 }, 1 }],
SFAD[{{ p2 + p3 - Q , 0 }, { 0 , 1 }, 1 }], SFAD[{{ p1 + p2 - Q , 0 }, { 0 , 1 }, 1 }],
SFAD[{{ p1 + p2 + p3 - Q , 0 }, { 0 , 1 }, 1 }]}, { p1, p2, p3}, { Q }, {}, {}],
FCTopology[ fctopology3, { SFAD[{{ p3, 0 }, { 0 , 1 }, 1 }],
SFAD[{{ p2, 0 }, { 0 , 1 }, 1 }], SFAD[{{ p1, 0 }, { 0 , 1 }, 1 }],
SFAD[{{ p2 + p3, 0 }, { 0 , 1 }, 1 }], SFAD[{{ p1 + p3, 0 }, { 0 , 1 }, 1 }],
SFAD[{{ p2 - Q , 0 }, { 0 , 1 }, 1 }], SFAD[{{ p2 + p3 - Q , 0 }, { 0 , 1 }, 1 }],
SFAD[{{ p1 + p3 - Q , 0 }, { 0 , 1 }, 1 }], SFAD[{{ p1 + p2 + p3 - Q , 0 }, { 0 , 1 }, 1 }]},
{ p1, p2, p3}, { Q }, {}, {}],
FCTopology[ fctopology4, { SFAD[{{ p3, 0 }, { 0 , 1 }, 1 }],
SFAD[{{ p2, 0 }, { 0 , 1 }, 1 }], SFAD[{{ p1, 0 }, { 0 , 1 }, 1 }],
SFAD[{{ p2 + p3, 0 }, { 0 , 1 }, 1 }], SFAD[{{ p1 + p3, 0 }, { 0 , 1 }, 1 }],
SFAD[{{ p2 - Q , 0 }, { 0 , 1 }, 1 }], SFAD[{{ p1 - Q , 0 }, { 0 , 1 }, 1 }],
SFAD[{{ p1 + p3 - Q , 0 }, { 0 , 1 }, 1 }], SFAD[{{ p1 + p2 + p3 - Q , 0 }, { 0 , 1 }, 1 }]},
{ p1, p2, p3}, { Q }, {}, {}],
FCTopology[ fctopology5, { SFAD[{{ p3, 0 }, { 0 , 1 }, 1 }],
SFAD[{{ p2, 0 }, { 0 , 1 }, 1 }], SFAD[{{ p1, 0 }, { 0 , 1 }, 1 }],
SFAD[{{ p1 + p3, 0 }, { 0 , 1 }, 1 }], SFAD[{{ p2 - Q , 0 }, { 0 , 1 }, 1 }],
SFAD[{{ p1 - Q , 0 }, { 0 , 1 }, 1 }], SFAD[{{ p1 + p3 - Q , 0 }, { 0 , 1 }, 1 }],
SFAD[{{ p1 + p2 - Q , 0 }, { 0 , 1 }, 1 }], SFAD[{{ p1 + p2 + p3 - Q , 0 }, { 0 , 1 }, 1 }]},
{ p1, p2, p3}, { Q }, {}, {}]} ;
where 3 of them can be mapped to the other 2
mappings1 = FCLoopFindTopologyMappings[ topos1] ;
FCLoopFindTopologyMappings: Found 3 mapping relations \text{FCLoopFindTopologyMappings:
}\;\text{Found }3\text{ mapping relations } FCLoopFindTopologyMappings: Found 3 mapping relations
FCLoopFindTopologyMappings: Final number of independent topologies: 2 \text{FCLoopFindTopologyMappings:
}\;\text{Final number of independent topologies: }2 FCLoopFindTopologyMappings: Final number of independent topologies: 2
( FCTopology ( fctopology3 , { 1 ( p3 2 + i η ) , 1 ( p2 2 + i η ) , 1 ( p1 2 + i η ) , 1 ( ( p2 + p3 ) 2 + i η ) , 1 ( ( p1 + p3 ) 2 + i η ) , 1 ( ( p2 − Q ) 2 + i η ) , 1 ( ( p2 + p3 − Q ) 2 + i η ) , 1 ( ( p1 + p3 − Q ) 2 + i η ) , 1 ( ( p1 + p2 + p3 − Q ) 2 + i η ) } , { p1 , p2 , p3 } , { Q } , { } , { } ) { p1 → − p1 − p3 + Q , p2 → − p2 − p3 + Q } G fctopology3 ( n1 _ , n7 _ , n8 _ , n5 _ , n6 _ , n4 _ , n2 _ , n3 _ , n9 _ ) : → G fctopology1 ( n1 , n2 , n3 , n4 , n5 , n6 , n7 , n8 , n9 ) FCTopology ( fctopology4 , { 1 ( p3 2 + i η ) , 1 ( p2 2 + i η ) , 1 ( p1 2 + i η ) , 1 ( ( p2 + p3 ) 2 + i η ) , 1 ( ( p1 + p3 ) 2 + i η ) , 1 ( ( p2 − Q ) 2 + i η ) , 1 ( ( p1 − Q ) 2 + i η ) , 1 ( ( p1 + p3 − Q ) 2 + i η ) , 1 ( ( p1 + p2 + p3 − Q ) 2 + i η ) } , { p1 , p2 , p3 } , { Q } , { } , { } ) { p1 → Q − p2 , p2 → Q − p1 , p3 → − p3 } G fctopology4 ( n1 _ , n6 _ , n5 _ , n8 _ , n7 _ , n3 _ , n2 _ , n4 _ , n9 _ ) : → G fctopology1 ( n1 , n2 , n3 , n4 , n5 , n6 , n7 , n8 , n9 ) FCTopology ( fctopology5 , { 1 ( p3 2 + i η ) , 1 ( p2 2 + i η ) , 1 ( p1 2 + i η ) , 1 ( ( p1 + p3 ) 2 + i η ) , 1 ( ( p2 − Q ) 2 + i η ) , 1 ( ( p1 − Q ) 2 + i η ) , 1 ( ( p1 + p3 − Q ) 2 + i η ) , 1 ( ( p1 + p2 − Q ) 2 + i η ) , 1 ( ( p1 + p2 + p3 − Q ) 2 + i η ) } , { p1 , p2 , p3 } , { Q } , { } , { } ) { p1 → p2 , p2 → p1 } G fctopology5 ( n1 _ , n3 _ , n2 _ , n4 _ , n6 _ , n5 _ , n7 _ , n8 _ , n9 _ ) : → G fctopology2 ( n1 , n2 , n3 , n4 , n5 , n6 , n7 , n8 , n9 ) ) \left(
\begin{array}{ccc}
\;\text{FCTopology}\left(\text{fctopology3},\left\{\frac{1}{(\text{p3}^2+i
\eta )},\frac{1}{(\text{p2}^2+i \eta )},\frac{1}{(\text{p1}^2+i \eta
)},\frac{1}{((\text{p2}+\text{p3})^2+i \eta
)},\frac{1}{((\text{p1}+\text{p3})^2+i \eta
)},\frac{1}{((\text{p2}-Q)^2+i \eta
)},\frac{1}{((\text{p2}+\text{p3}-Q)^2+i \eta
)},\frac{1}{((\text{p1}+\text{p3}-Q)^2+i \eta
)},\frac{1}{((\text{p1}+\text{p2}+\text{p3}-Q)^2+i \eta
)}\right\},\{\text{p1},\text{p2},\text{p3}\},\{Q\},\{\},\{\}\right)
& \{\text{p1}\to -\text{p1}-\text{p3}+Q,\text{p2}\to
-\text{p2}-\text{p3}+Q\} &
G^{\text{fctopology3}}(\text{n1$\_$},\text{n7$\_$},\text{n8$\_$},\text{n5$\_$},\text{n6$\_$},\text{n4$\_$},\text{n2$\_$},\text{n3$\_$},\text{n9$\_$}):\to
G^{\text{fctopology1}}(\text{n1},\text{n2},\text{n3},\text{n4},\text{n5},\text{n6},\text{n7},\text{n8},\text{n9})
\\
\;\text{FCTopology}\left(\text{fctopology4},\left\{\frac{1}{(\text{p3}^2+i
\eta )},\frac{1}{(\text{p2}^2+i \eta )},\frac{1}{(\text{p1}^2+i \eta
)},\frac{1}{((\text{p2}+\text{p3})^2+i \eta
)},\frac{1}{((\text{p1}+\text{p3})^2+i \eta
)},\frac{1}{((\text{p2}-Q)^2+i \eta )},\frac{1}{((\text{p1}-Q)^2+i \eta
)},\frac{1}{((\text{p1}+\text{p3}-Q)^2+i \eta
)},\frac{1}{((\text{p1}+\text{p2}+\text{p3}-Q)^2+i \eta
)}\right\},\{\text{p1},\text{p2},\text{p3}\},\{Q\},\{\},\{\}\right)
& \{\text{p1}\to Q-\text{p2},\text{p2}\to Q-\text{p1},\text{p3}\to
-\text{p3}\} &
G^{\text{fctopology4}}(\text{n1$\_$},\text{n6$\_$},\text{n5$\_$},\text{n8$\_$},\text{n7$\_$},\text{n3$\_$},\text{n2$\_$},\text{n4$\_$},\text{n9$\_$}):\to
G^{\text{fctopology1}}(\text{n1},\text{n2},\text{n3},\text{n4},\text{n5},\text{n6},\text{n7},\text{n8},\text{n9})
\\
\;\text{FCTopology}\left(\text{fctopology5},\left\{\frac{1}{(\text{p3}^2+i
\eta )},\frac{1}{(\text{p2}^2+i \eta )},\frac{1}{(\text{p1}^2+i \eta
)},\frac{1}{((\text{p1}+\text{p3})^2+i \eta
)},\frac{1}{((\text{p2}-Q)^2+i \eta )},\frac{1}{((\text{p1}-Q)^2+i \eta
)},\frac{1}{((\text{p1}+\text{p3}-Q)^2+i \eta
)},\frac{1}{((\text{p1}+\text{p2}-Q)^2+i \eta
)},\frac{1}{((\text{p1}+\text{p2}+\text{p3}-Q)^2+i \eta
)}\right\},\{\text{p1},\text{p2},\text{p3}\},\{Q\},\{\},\{\}\right)
& \{\text{p1}\to \;\text{p2},\text{p2}\to \;\text{p1}\} &
G^{\text{fctopology5}}(\text{n1$\_$},\text{n3$\_$},\text{n2$\_$},\text{n4$\_$},\text{n6$\_$},\text{n5$\_$},\text{n7$\_$},\text{n8$\_$},\text{n9$\_$}):\to
G^{\text{fctopology2}}(\text{n1},\text{n2},\text{n3},\text{n4},\text{n5},\text{n6},\text{n7},\text{n8},\text{n9})
\\
\end{array}
\right) FCTopology ( fctopology3 , { ( p3 2 + i η ) 1 , ( p2 2 + i η ) 1 , ( p1 2 + i η ) 1 , (( p2 + p3 ) 2 + i η ) 1 , (( p1 + p3 ) 2 + i η ) 1 , (( p2 − Q ) 2 + i η ) 1 , (( p2 + p3 − Q ) 2 + i η ) 1 , (( p1 + p3 − Q ) 2 + i η ) 1 , (( p1 + p2 + p3 − Q ) 2 + i η ) 1 } , { p1 , p2 , p3 } , { Q } , { } , { } ) FCTopology ( fctopology4 , { ( p3 2 + i η ) 1 , ( p2 2 + i η ) 1 , ( p1 2 + i η ) 1 , (( p2 + p3 ) 2 + i η ) 1 , (( p1 + p3 ) 2 + i η ) 1 , (( p2 − Q ) 2 + i η ) 1 , (( p1 − Q ) 2 + i η ) 1 , (( p1 + p3 − Q ) 2 + i η ) 1 , (( p1 + p2 + p3 − Q ) 2 + i η ) 1 } , { p1 , p2 , p3 } , { Q } , { } , { } ) FCTopology ( fctopology5 , { ( p3 2 + i η ) 1 , ( p2 2 + i η ) 1 , ( p1 2 + i η ) 1 , (( p1 + p3 ) 2 + i η ) 1 , (( p2 − Q ) 2 + i η ) 1 , (( p1 − Q ) 2 + i η ) 1 , (( p1 + p3 − Q ) 2 + i η ) 1 , (( p1 + p2 − Q ) 2 + i η ) 1 , (( p1 + p2 + p3 − Q ) 2 + i η ) 1 } , { p1 , p2 , p3 } , { Q } , { } , { } ) { p1 → − p1 − p3 + Q , p2 → − p2 − p3 + Q } { p1 → Q − p2 , p2 → Q − p1 , p3 → − p3 } { p1 → p2 , p2 → p1 } G fctopology3 ( n1_ , n7_ , n8_ , n5_ , n6_ , n4_ , n2_ , n3_ , n9_ ) :→ G fctopology1 ( n1 , n2 , n3 , n4 , n5 , n6 , n7 , n8 , n9 ) G fctopology4 ( n1_ , n6_ , n5_ , n8_ , n7_ , n3_ , n2_ , n4_ , n9_ ) :→ G fctopology1 ( n1 , n2 , n3 , n4 , n5 , n6 , n7 , n8 , n9 ) G fctopology5 ( n1_ , n3_ , n2_ , n4_ , n6_ , n5_ , n7_ , n8_ , n9_ ) :→ G fctopology2 ( n1 , n2 , n3 , n4 , n5 , n6 , n7 , n8 , n9 )
And these are the final topologies
{ FCTopology ( fctopology1 , { 1 ( p3 2 + i η ) , 1 ( p2 2 + i η ) , 1 ( p1 2 + i η ) , 1 ( ( p2 + p3 ) 2 + i η ) , 1 ( ( p2 − Q ) 2 + i η ) , 1 ( ( p1 − Q ) 2 + i η ) , 1 ( ( p2 + p3 − Q ) 2 + i η ) , 1 ( ( p1 + p3 − Q ) 2 + i η ) , 1 ( ( p1 + p2 + p3 − Q ) 2 + i η ) } , { p1 , p2 , p3 } , { Q } , { } , { } ) , FCTopology ( fctopology2 , { 1 ( p3 2 + i η ) , 1 ( p2 2 + i η ) , 1 ( p1 2 + i η ) , 1 ( ( p2 + p3 ) 2 + i η ) , 1 ( ( p2 − Q ) 2 + i η ) , 1 ( ( p1 − Q ) 2 + i η ) , 1 ( ( p2 + p3 − Q ) 2 + i η ) , 1 ( ( p1 + p2 − Q ) 2 + i η ) , 1 ( ( p1 + p2 + p3 − Q ) 2 + i η ) } , { p1 , p2 , p3 } , { Q } , { } , { } ) } \left\{\text{FCTopology}\left(\text{fctopology1},\left\{\frac{1}{(\text{p3}^2+i
\eta )},\frac{1}{(\text{p2}^2+i \eta )},\frac{1}{(\text{p1}^2+i \eta
)},\frac{1}{((\text{p2}+\text{p3})^2+i \eta
)},\frac{1}{((\text{p2}-Q)^2+i \eta )},\frac{1}{((\text{p1}-Q)^2+i \eta
)},\frac{1}{((\text{p2}+\text{p3}-Q)^2+i \eta
)},\frac{1}{((\text{p1}+\text{p3}-Q)^2+i \eta
)},\frac{1}{((\text{p1}+\text{p2}+\text{p3}-Q)^2+i \eta
)}\right\},\{\text{p1},\text{p2},\text{p3}\},\{Q\},\{\},\{\}\right),\text{FCTopology}\left(\text{fctopology2},\left\{\frac{1}{(\text{p3}^2+i
\eta )},\frac{1}{(\text{p2}^2+i \eta )},\frac{1}{(\text{p1}^2+i \eta
)},\frac{1}{((\text{p2}+\text{p3})^2+i \eta
)},\frac{1}{((\text{p2}-Q)^2+i \eta )},\frac{1}{((\text{p1}-Q)^2+i \eta
)},\frac{1}{((\text{p2}+\text{p3}-Q)^2+i \eta
)},\frac{1}{((\text{p1}+\text{p2}-Q)^2+i \eta
)},\frac{1}{((\text{p1}+\text{p2}+\text{p3}-Q)^2+i \eta
)}\right\},\{\text{p1},\text{p2},\text{p3}\},\{Q\},\{\},\{\}\right)\right\} { FCTopology ( fctopology1 , { ( p3 2 + i η ) 1 , ( p2 2 + i η ) 1 , ( p1 2 + i η ) 1 , (( p2 + p3 ) 2 + i η ) 1 , (( p2 − Q ) 2 + i η ) 1 , (( p1 − Q ) 2 + i η ) 1 , (( p2 + p3 − Q ) 2 + i η ) 1 , (( p1 + p3 − Q ) 2 + i η ) 1 , (( p1 + p2 + p3 − Q ) 2 + i η ) 1 } , { p1 , p2 , p3 } , { Q } , { } , { } ) , FCTopology ( fctopology2 , { ( p3 2 + i η ) 1 , ( p2 2 + i η ) 1 , ( p1 2 + i η ) 1 , (( p2 + p3 ) 2 + i η ) 1 , (( p2 − Q ) 2 + i η ) 1 , (( p1 − Q ) 2 + i η ) 1 , (( p2 + p3 − Q ) 2 + i η ) 1 , (( p1 + p2 − Q ) 2 + i η ) 1 , (( p1 + p2 + p3 − Q ) 2 + i η ) 1 } , { p1 , p2 , p3 } , { Q } , { } , { } ) }
Tensor reductions with GLIs
Tensor reduction for topologies that have already been processed with
FCLoopFindTopologies
can be done using
FCLoopTensorReduce
topo2 = FCTopology[ prop1l, { SFAD[{ q , m ^ 2 }, { q - p , m ^ 2 }]}, { q }, { p }, {}, {}]
FCTopology ( prop1l , { 1 ( q 2 − m 2 + i η ) . ( ( q − p ) 2 − m 2 + i η ) } , { q } , { p } , { } , { } ) \text{FCTopology}\left(\text{prop1l},\left\{\frac{1}{(q^2-m^2+i
\eta ).((q-p)^2-m^2+i \eta
)}\right\},\{q\},\{p\},\{\},\{\}\right) FCTopology ( prop1l , { ( q 2 − m 2 + i η ) . (( q − p ) 2 − m 2 + i η ) 1 } , { q } , { p } , { } , { } )
amp2 = gliProduct[ GSD[ q ] . GAD[ \ [ Mu]] . GSD[ q ], GLI[ prop1l, { 1 , 2 }]]
gliProduct ( ( γ ⋅ q ) . γ μ . ( γ ⋅ q ) , G prop1l ( 1 , 2 ) ) \text{gliProduct}\left((\gamma \cdot
q).\gamma ^{\mu }.(\gamma \cdot
q),G^{\text{prop1l}}(1,2)\right) gliProduct ( ( γ ⋅ q ) . γ μ . ( γ ⋅ q ) , G prop1l ( 1 , 2 ) )
amp2Red = FCLoopTensorReduce[ amp2, { topo2}, Head -> gliProduct]
gliProduct ( − 2 D p μ γ ⋅ p ( p ⋅ q ) 2 − 2 p 2 γ μ ( p ⋅ q ) 2 − D p 4 q 2 γ μ + 3 p 4 q 2 γ μ − 2 p 2 q 2 p μ γ ⋅ p ( 1 − D ) p 4 , G prop1l ( 1 , 2 ) ) \text{gliProduct}\left(-\frac{2 D p^{\mu }
\gamma \cdot p (p\cdot q)^2-2 p^2 \gamma ^{\mu } (p\cdot q)^2-D p^4 q^2
\gamma ^{\mu }+3 p^4 q^2 \gamma ^{\mu }-2 p^2 q^2 p^{\mu } \gamma \cdot
p}{(1-D) p^4},G^{\text{prop1l}}(1,2)\right) gliProduct ( − ( 1 − D ) p 4 2 D p μ γ ⋅ p ( p ⋅ q ) 2 − 2 p 2 γ μ ( p ⋅ q ) 2 − D p 4 q 2 γ μ + 3 p 4 q 2 γ μ − 2 p 2 q 2 p μ γ ⋅ p , G prop1l ( 1 , 2 ) )
Applying topology mappings
This is a trial expression representing some loop amplitude that has
already been processed using FCFindTopologies
ex = gliProduct[ cc6* SPD[ p1, p1], GLI[ fctopology1, { 1 , 1 , 2 , 1 , 1 , 1 , 1 , 1 , 1 }]] +
gliProduct[ cc2* SPD[ p1, p2], GLI[ fctopology2, { 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 }]] +
gliProduct[ cc4* SPD[ p1, p2], GLI[ fctopology4, { 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 }]] +
gliProduct[ cc1* SPD[ p1, Q ], GLI[ fctopology1, { 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 }]] +
gliProduct[ cc3* SPD[ p2, p2], GLI[ fctopology3, { 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 }]] +
gliProduct[ cc5* SPD[ p2, Q ], GLI[ fctopology5, { 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 }]]
gliProduct ( cc1 ( p1 ⋅ Q ) , G fctopology1 ( 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ) ) + gliProduct ( cc2 ( p1 ⋅ p2 ) , G fctopology2 ( 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ) ) + gliProduct ( cc3 p2 2 , G fctopology3 ( 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ) ) + gliProduct ( cc4 ( p1 ⋅ p2 ) , G fctopology4 ( 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ) ) + gliProduct ( cc5 ( p2 ⋅ Q ) , G fctopology5 ( 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ) ) + gliProduct ( cc6 p1 2 , G fctopology1 ( 1 , 1 , 2 , 1 , 1 , 1 , 1 , 1 , 1 ) ) \text{gliProduct}\left(\text{cc1}
(\text{p1}\cdot
Q),G^{\text{fctopology1}}(1,1,1,1,1,1,1,1,1)\right)+\text{gliProduct}\left(\text{cc2}
(\text{p1}\cdot
\;\text{p2}),G^{\text{fctopology2}}(1,1,1,1,1,1,1,1,1)\right)+\text{gliProduct}\left(\text{cc3}
\;\text{p2}^2,G^{\text{fctopology3}}(1,1,1,1,1,1,1,1,1)\right)+\text{gliProduct}\left(\text{cc4}
(\text{p1}\cdot
\;\text{p2}),G^{\text{fctopology4}}(1,1,1,1,1,1,1,1,1)\right)+\text{gliProduct}\left(\text{cc5}
(\text{p2}\cdot
Q),G^{\text{fctopology5}}(1,1,1,1,1,1,1,1,1)\right)+\text{gliProduct}\left(\text{cc6}
\;\text{p1}^2,G^{\text{fctopology1}}(1,1,2,1,1,1,1,1,1)\right) gliProduct ( cc1 ( p1 ⋅ Q ) , G fctopology1 ( 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ) ) + gliProduct ( cc2 ( p1 ⋅ p2 ) , G fctopology2 ( 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ) ) + gliProduct ( cc3 p2 2 , G fctopology3 ( 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ) ) + gliProduct ( cc4 ( p1 ⋅ p2 ) , G fctopology4 ( 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ) ) + gliProduct ( cc5 ( p2 ⋅ Q ) , G fctopology5 ( 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ) ) + gliProduct ( cc6 p1 2 , G fctopology1 ( 1 , 1 , 2 , 1 , 1 , 1 , 1 , 1 , 1 ) )
These mapping rules describe how the 3 topologies “fctopology3”,
“fctopology4” and “fctopology5” are mapped to the topologies
“fctopology1” and “fctopology2”
mappings = {
{ FCTopology[ fctopology3, { SFAD[{{ p3, 0 }, { 0 , 1 }, 1 }], SFAD[{{ p2, 0 }, { 0 , 1 }, 1 }],
SFAD[{{ p1, 0 }, { 0 , 1 }, 1 }], SFAD[{{ p2 + p3, 0 }, { 0 , 1 }, 1 }], SFAD[{{ p1 + p3, 0 }, { 0 , 1 }, 1 }],
SFAD[{{ p2 - Q , 0 }, { 0 , 1 }, 1 }], SFAD[{{ p2 + p3 - Q , 0 }, { 0 , 1 }, 1 }], SFAD[{{ p1 + p3 - Q , 0 }, { 0 , 1 }, 1 }],
SFAD[{{ p1 + p2 + p3 - Q , 0 }, { 0 , 1 }, 1 }]}, { p1, p2, p3}, { Q }, {}, {}], { p1 -> - p1 - p3 + Q , p2 ->
- p2 - p3 + Q , p3 -> p3},
GLI[ fctopology3, { n1_ , n7_ , n8_ , n5_ , n6_ , n4_ , n2_ , n3_ , n9_ }] :>
GLI[ fctopology1, { n1, n2, n3, n4, n5, n6, n7, n8, n9}]},
{ FCTopology[ fctopology4, { SFAD[{{ p3, 0 }, { 0 , 1 }, 1 }], SFAD[{{ p2, 0 }, { 0 , 1 }, 1 }], SFAD[{{ p1, 0 },
{ 0 , 1 }, 1 }],
SFAD[{{ p2 + p3, 0 }, { 0 , 1 }, 1 }], SFAD[{{ p1 + p3, 0 }, { 0 , 1 }, 1 }], SFAD[{{ p2 - Q , 0 }, { 0 , 1 }, 1 }],
SFAD[{{ p1 - Q , 0 }, { 0 , 1 }, 1 }],
SFAD[{{ p1 + p3 - Q , 0 }, { 0 , 1 }, 1 }], SFAD[{{ p1 + p2 + p3 - Q , 0 }, { 0 , 1 }, 1 }]}, { p1, p2, p3}, { Q }, {}, {}],
{ p1 -> - p2 + Q , p2 -> - p1 + Q , p3 -> - p3},
GLI[ fctopology4, { n1_ , n6_ , n5_ , n8_ , n7_ , n3_ , n2_ , n4_ , n9_ }] :>
GLI[ fctopology1, { n1, n2, n3, n4, n5, n6, n7, n8, n9}]},
{ FCTopology[ fctopology5, { SFAD[{{ p3, 0 }, { 0 , 1 }, 1 }], SFAD[{{ p2, 0 }, { 0 , 1 }, 1 }], SFAD[{{ p1, 0 },
{ 0 , 1 }, 1 }],
SFAD[{{ p1 + p3, 0 }, { 0 , 1 }, 1 }], SFAD[{{ p2 - Q , 0 }, { 0 , 1 }, 1 }], SFAD[{{ p1 - Q , 0 }, { 0 , 1 }, 1 }],
SFAD[{{ p1 + p3 - Q , 0 }, { 0 , 1 }, 1 }],
SFAD[{{ p1 + p2 - Q , 0 }, { 0 , 1 }, 1 }], SFAD[{{ p1 + p2 + p3 - Q , 0 }, { 0 , 1 }, 1 }]}, { p1, p2, p3}, { Q }, {},
{}], { p1 -> p2, p2 -> p1, p3 -> p3},
GLI[ fctopology5, { n1_ , n3_ , n2_ , n4_ , n6_ , n5_ , n7_ , n8_ , n9_ }] :>
GLI[ fctopology2, { n1, n2, n3, n4, n5, n6, n7, n8, n9}]}}
( FCTopology ( fctopology3 , { 1 ( p3 2 + i η ) , 1 ( p2 2 + i η ) , 1 ( p1 2 + i η ) , 1 ( ( p2 + p3 ) 2 + i η ) , 1 ( ( p1 + p3 ) 2 + i η ) , 1 ( ( p2 − Q ) 2 + i η ) , 1 ( ( p2 + p3 − Q ) 2 + i η ) , 1 ( ( p1 + p3 − Q ) 2 + i η ) , 1 ( ( p1 + p2 + p3 − Q ) 2 + i η ) } , { p1 , p2 , p3 } , { Q } , { } , { } ) { p1 → − p1 − p3 + Q , p2 → − p2 − p3 + Q , p3 → p3 } G fctopology3 ( n1 _ , n7 _ , n8 _ , n5 _ , n6 _ , n4 _ , n2 _ , n3 _ , n9 _ ) : → G fctopology1 ( n1 , n2 , n3 , n4 , n5 , n6 , n7 , n8 , n9 ) FCTopology ( fctopology4 , { 1 ( p3 2 + i η ) , 1 ( p2 2 + i η ) , 1 ( p1 2 + i η ) , 1 ( ( p2 + p3 ) 2 + i η ) , 1 ( ( p1 + p3 ) 2 + i η ) , 1 ( ( p2 − Q ) 2 + i η ) , 1 ( ( p1 − Q ) 2 + i η ) , 1 ( ( p1 + p3 − Q ) 2 + i η ) , 1 ( ( p1 + p2 + p3 − Q ) 2 + i η ) } , { p1 , p2 , p3 } , { Q } , { } , { } ) { p1 → Q − p2 , p2 → Q − p1 , p3 → − p3 } G fctopology4 ( n1 _ , n6 _ , n5 _ , n8 _ , n7 _ , n3 _ , n2 _ , n4 _ , n9 _ ) : → G fctopology1 ( n1 , n2 , n3 , n4 , n5 , n6 , n7 , n8 , n9 ) FCTopology ( fctopology5 , { 1 ( p3 2 + i η ) , 1 ( p2 2 + i η ) , 1 ( p1 2 + i η ) , 1 ( ( p1 + p3 ) 2 + i η ) , 1 ( ( p2 − Q ) 2 + i η ) , 1 ( ( p1 − Q ) 2 + i η ) , 1 ( ( p1 + p3 − Q ) 2 + i η ) , 1 ( ( p1 + p2 − Q ) 2 + i η ) , 1 ( ( p1 + p2 + p3 − Q ) 2 + i η ) } , { p1 , p2 , p3 } , { Q } , { } , { } ) { p1 → p2 , p2 → p1 , p3 → p3 } G fctopology5 ( n1 _ , n3 _ , n2 _ , n4 _ , n6 _ , n5 _ , n7 _ , n8 _ , n9 _ ) : → G fctopology2 ( n1 , n2 , n3 , n4 , n5 , n6 , n7 , n8 , n9 ) ) \left(
\begin{array}{ccc}
\;\text{FCTopology}\left(\text{fctopology3},\left\{\frac{1}{(\text{p3}^2+i
\eta )},\frac{1}{(\text{p2}^2+i \eta )},\frac{1}{(\text{p1}^2+i \eta
)},\frac{1}{((\text{p2}+\text{p3})^2+i \eta
)},\frac{1}{((\text{p1}+\text{p3})^2+i \eta
)},\frac{1}{((\text{p2}-Q)^2+i \eta
)},\frac{1}{((\text{p2}+\text{p3}-Q)^2+i \eta
)},\frac{1}{((\text{p1}+\text{p3}-Q)^2+i \eta
)},\frac{1}{((\text{p1}+\text{p2}+\text{p3}-Q)^2+i \eta
)}\right\},\{\text{p1},\text{p2},\text{p3}\},\{Q\},\{\},\{\}\right)
& \{\text{p1}\to -\text{p1}-\text{p3}+Q,\text{p2}\to
-\text{p2}-\text{p3}+Q,\text{p3}\to \;\text{p3}\} &
G^{\text{fctopology3}}(\text{n1$\_$},\text{n7$\_$},\text{n8$\_$},\text{n5$\_$},\text{n6$\_$},\text{n4$\_$},\text{n2$\_$},\text{n3$\_$},\text{n9$\_$}):\to
G^{\text{fctopology1}}(\text{n1},\text{n2},\text{n3},\text{n4},\text{n5},\text{n6},\text{n7},\text{n8},\text{n9})
\\
\;\text{FCTopology}\left(\text{fctopology4},\left\{\frac{1}{(\text{p3}^2+i
\eta )},\frac{1}{(\text{p2}^2+i \eta )},\frac{1}{(\text{p1}^2+i \eta
)},\frac{1}{((\text{p2}+\text{p3})^2+i \eta
)},\frac{1}{((\text{p1}+\text{p3})^2+i \eta
)},\frac{1}{((\text{p2}-Q)^2+i \eta )},\frac{1}{((\text{p1}-Q)^2+i \eta
)},\frac{1}{((\text{p1}+\text{p3}-Q)^2+i \eta
)},\frac{1}{((\text{p1}+\text{p2}+\text{p3}-Q)^2+i \eta
)}\right\},\{\text{p1},\text{p2},\text{p3}\},\{Q\},\{\},\{\}\right)
& \{\text{p1}\to Q-\text{p2},\text{p2}\to Q-\text{p1},\text{p3}\to
-\text{p3}\} &
G^{\text{fctopology4}}(\text{n1$\_$},\text{n6$\_$},\text{n5$\_$},\text{n8$\_$},\text{n7$\_$},\text{n3$\_$},\text{n2$\_$},\text{n4$\_$},\text{n9$\_$}):\to
G^{\text{fctopology1}}(\text{n1},\text{n2},\text{n3},\text{n4},\text{n5},\text{n6},\text{n7},\text{n8},\text{n9})
\\
\;\text{FCTopology}\left(\text{fctopology5},\left\{\frac{1}{(\text{p3}^2+i
\eta )},\frac{1}{(\text{p2}^2+i \eta )},\frac{1}{(\text{p1}^2+i \eta
)},\frac{1}{((\text{p1}+\text{p3})^2+i \eta
)},\frac{1}{((\text{p2}-Q)^2+i \eta )},\frac{1}{((\text{p1}-Q)^2+i \eta
)},\frac{1}{((\text{p1}+\text{p3}-Q)^2+i \eta
)},\frac{1}{((\text{p1}+\text{p2}-Q)^2+i \eta
)},\frac{1}{((\text{p1}+\text{p2}+\text{p3}-Q)^2+i \eta
)}\right\},\{\text{p1},\text{p2},\text{p3}\},\{Q\},\{\},\{\}\right)
& \{\text{p1}\to \;\text{p2},\text{p2}\to \;\text{p1},\text{p3}\to
\;\text{p3}\} &
G^{\text{fctopology5}}(\text{n1$\_$},\text{n3$\_$},\text{n2$\_$},\text{n4$\_$},\text{n6$\_$},\text{n5$\_$},\text{n7$\_$},\text{n8$\_$},\text{n9$\_$}):\to
G^{\text{fctopology2}}(\text{n1},\text{n2},\text{n3},\text{n4},\text{n5},\text{n6},\text{n7},\text{n8},\text{n9})
\\
\end{array}
\right) FCTopology ( fctopology3 , { ( p3 2 + i η ) 1 , ( p2 2 + i η ) 1 , ( p1 2 + i η ) 1 , (( p2 + p3 ) 2 + i η ) 1 , (( p1 + p3 ) 2 + i η ) 1 , (( p2 − Q ) 2 + i η ) 1 , (( p2 + p3 − Q ) 2 + i η ) 1 , (( p1 + p3 − Q ) 2 + i η ) 1 , (( p1 + p2 + p3 − Q ) 2 + i η ) 1 } , { p1 , p2 , p3 } , { Q } , { } , { } ) FCTopology ( fctopology4 , { ( p3 2 + i η ) 1 , ( p2 2 + i η ) 1 , ( p1 2 + i η ) 1 , (( p2 + p3 ) 2 + i η ) 1 , (( p1 + p3 ) 2 + i η ) 1 , (( p2 − Q ) 2 + i η ) 1 , (( p1 − Q ) 2 + i η ) 1 , (( p1 + p3 − Q ) 2 + i η ) 1 , (( p1 + p2 + p3 − Q ) 2 + i η ) 1 } , { p1 , p2 , p3 } , { Q } , { } , { } ) FCTopology ( fctopology5 , { ( p3 2 + i η ) 1 , ( p2 2 + i η ) 1 , ( p1 2 + i η ) 1 , (( p1 + p3 ) 2 + i η ) 1 , (( p2 − Q ) 2 + i η ) 1 , (( p1 − Q ) 2 + i η ) 1 , (( p1 + p3 − Q ) 2 + i η ) 1 , (( p1 + p2 − Q ) 2 + i η ) 1 , (( p1 + p2 + p3 − Q ) 2 + i η ) 1 } , { p1 , p2 , p3 } , { Q } , { } , { } ) { p1 → − p1 − p3 + Q , p2 → − p2 − p3 + Q , p3 → p3 } { p1 → Q − p2 , p2 → Q − p1 , p3 → − p3 } { p1 → p2 , p2 → p1 , p3 → p3 } G fctopology3 ( n1_ , n7_ , n8_ , n5_ , n6_ , n4_ , n2_ , n3_ , n9_ ) :→ G fctopology1 ( n1 , n2 , n3 , n4 , n5 , n6 , n7 , n8 , n9 ) G fctopology4 ( n1_ , n6_ , n5_ , n8_ , n7_ , n3_ , n2_ , n4_ , n9_ ) :→ G fctopology1 ( n1 , n2 , n3 , n4 , n5 , n6 , n7 , n8 , n9 ) G fctopology5 ( n1_ , n3_ , n2_ , n4_ , n6_ , n5_ , n7_ , n8_ , n9_ ) :→ G fctopology2 ( n1 , n2 , n3 , n4 , n5 , n6 , n7 , n8 , n9 )
These are the two topologies onto which everything is mapped
finalTopos = {
FCTopology[ fctopology1, { SFAD[{{ p3, 0 }, { 0 , 1 }, 1 }], SFAD[{{ p2, 0 }, { 0 , 1 }, 1 }],
SFAD[{{ p1, 0 }, { 0 , 1 }, 1 }], SFAD[{{ p2 + p3, 0 }, { 0 , 1 }, 1 }], SFAD[{{ p2 - Q , 0 }, { 0 , 1 }, 1 }],
SFAD[{{ p1 - Q , 0 }, { 0 , 1 }, 1 }], SFAD[{{ p2 + p3 - Q , 0 }, { 0 , 1 }, 1 }], SFAD[{{ p1 + p3 - Q , 0 }, { 0 , 1 }, 1 }],
SFAD[{{ p1 + p2 + p3 - Q , 0 }, { 0 , 1 }, 1 }]}, { p1, p2, p3}, { Q }, {}, {}],
FCTopology[ fctopology2, { SFAD[{{ p3, 0 }, { 0 , 1 }, 1 }], SFAD[{{ p2, 0 }, { 0 , 1 }, 1 }],
SFAD[{{ p1, 0 }, { 0 , 1 }, 1 }], SFAD[{{ p2 + p3, 0 }, { 0 , 1 }, 1 }], SFAD[{{ p2 - Q , 0 }, { 0 , 1 }, 1 }],
SFAD[{{ p1 - Q , 0 }, { 0 , 1 }, 1 }], SFAD[{{ p2 + p3 - Q , 0 }, { 0 , 1 }, 1 }], SFAD[{{ p1 + p2 - Q , 0 }, { 0 , 1 }, 1 }],
SFAD[{{ p1 + p2 + p3 - Q , 0 }, { 0 , 1 }, 1 }]}, { p1, p2, p3}, { Q }, {}, {}]}
{ FCTopology ( fctopology1 , { 1 ( p3 2 + i η ) , 1 ( p2 2 + i η ) , 1 ( p1 2 + i η ) , 1 ( ( p2 + p3 ) 2 + i η ) , 1 ( ( p2 − Q ) 2 + i η ) , 1 ( ( p1 − Q ) 2 + i η ) , 1 ( ( p2 + p3 − Q ) 2 + i η ) , 1 ( ( p1 + p3 − Q ) 2 + i η ) , 1 ( ( p1 + p2 + p3 − Q ) 2 + i η ) } , { p1 , p2 , p3 } , { Q } , { } , { } ) , FCTopology ( fctopology2 , { 1 ( p3 2 + i η ) , 1 ( p2 2 + i η ) , 1 ( p1 2 + i η ) , 1 ( ( p2 + p3 ) 2 + i η ) , 1 ( ( p2 − Q ) 2 + i η ) , 1 ( ( p1 − Q ) 2 + i η ) , 1 ( ( p2 + p3 − Q ) 2 + i η ) , 1 ( ( p1 + p2 − Q ) 2 + i η ) , 1 ( ( p1 + p2 + p3 − Q ) 2 + i η ) } , { p1 , p2 , p3 } , { Q } , { } , { } ) } \left\{\text{FCTopology}\left(\text{fctopology1},\left\{\frac{1}{(\text{p3}^2+i
\eta )},\frac{1}{(\text{p2}^2+i \eta )},\frac{1}{(\text{p1}^2+i \eta
)},\frac{1}{((\text{p2}+\text{p3})^2+i \eta
)},\frac{1}{((\text{p2}-Q)^2+i \eta )},\frac{1}{((\text{p1}-Q)^2+i \eta
)},\frac{1}{((\text{p2}+\text{p3}-Q)^2+i \eta
)},\frac{1}{((\text{p1}+\text{p3}-Q)^2+i \eta
)},\frac{1}{((\text{p1}+\text{p2}+\text{p3}-Q)^2+i \eta
)}\right\},\{\text{p1},\text{p2},\text{p3}\},\{Q\},\{\},\{\}\right),\text{FCTopology}\left(\text{fctopology2},\left\{\frac{1}{(\text{p3}^2+i
\eta )},\frac{1}{(\text{p2}^2+i \eta )},\frac{1}{(\text{p1}^2+i \eta
)},\frac{1}{((\text{p2}+\text{p3})^2+i \eta
)},\frac{1}{((\text{p2}-Q)^2+i \eta )},\frac{1}{((\text{p1}-Q)^2+i \eta
)},\frac{1}{((\text{p2}+\text{p3}-Q)^2+i \eta
)},\frac{1}{((\text{p1}+\text{p2}-Q)^2+i \eta
)},\frac{1}{((\text{p1}+\text{p2}+\text{p3}-Q)^2+i \eta
)}\right\},\{\text{p1},\text{p2},\text{p3}\},\{Q\},\{\},\{\}\right)\right\} { FCTopology ( fctopology1 , { ( p3 2 + i η ) 1 , ( p2 2 + i η ) 1 , ( p1 2 + i η ) 1 , (( p2 + p3 ) 2 + i η ) 1 , (( p2 − Q ) 2 + i η ) 1 , (( p1 − Q ) 2 + i η ) 1 , (( p2 + p3 − Q ) 2 + i η ) 1 , (( p1 + p3 − Q ) 2 + i η ) 1 , (( p1 + p2 + p3 − Q ) 2 + i η ) 1 } , { p1 , p2 , p3 } , { Q } , { } , { } ) , FCTopology ( fctopology2 , { ( p3 2 + i η ) 1 , ( p2 2 + i η ) 1 , ( p1 2 + i η ) 1 , (( p2 + p3 ) 2 + i η ) 1 , (( p2 − Q ) 2 + i η ) 1 , (( p1 − Q ) 2 + i η ) 1 , (( p2 + p3 − Q ) 2 + i η ) 1 , (( p1 + p2 − Q ) 2 + i η ) 1 , (( p1 + p2 + p3 − Q ) 2 + i η ) 1 } , { p1 , p2 , p3 } , { Q } , { } , { } ) }
FCLoopApplyTopologyMappings
applies the given mappings
to the expression creating an output that is ready to be processed
further
FCLoopApplyTopologyMappings[ ex, { mappings, finalTopos}, Head -> gliProduct]
1 2 G fctopology1 ( 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ) ( cc1 Q 2 + cc4 Q 2 + 2 cc6 ) + 1 2 ( cc1 − cc4 ) G fctopology1 ( 1 , 1 , 0 , 1 , 1 , 1 , 1 , 1 , 1 ) − 1 2 ( cc1 − cc4 ) G fctopology1 ( 1 , 1 , 1 , 1 , 1 , 0 , 1 , 1 , 1 ) + 1 2 Q 2 ( cc2 + cc5 ) G fctopology2 ( 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ) − 1 2 ( cc2 + cc5 ) G fctopology2 ( 1 , 1 , 1 , 1 , 1 , 0 , 1 , 1 , 1 ) − 1 2 cc2 G fctopology2 ( 1 , 1 , 1 , 1 , 0 , 1 , 1 , 1 , 1 ) + 1 2 cc2 G fctopology2 ( 1 , 1 , 1 , 1 , 1 , 1 , 1 , 0 , 1 ) + cc3 G fctopology1 ( 1 , 1 , 1 , 1 , 1 , 1 , 0 , 1 , 1 ) + 1 2 cc4 G fctopology1 ( 0 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ) − 1 2 cc4 G fctopology1 ( 1 , 1 , 1 , 0 , 1 , 1 , 1 , 1 , 1 ) − 1 2 cc4 G fctopology1 ( 1 , 1 , 1 , 1 , 1 , 1 , 1 , 0 , 1 ) + 1 2 cc4 G fctopology1 ( 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 0 ) + 1 2 cc5 G fctopology2 ( 1 , 1 , 0 , 1 , 1 , 1 , 1 , 1 , 1 ) \frac{1}{2}
G^{\text{fctopology1}}(1,1,1,1,1,1,1,1,1) \left(\text{cc1}
Q^2+\text{cc4} Q^2+2 \;\text{cc6}\right)+\frac{1}{2}
(\text{cc1}-\text{cc4})
G^{\text{fctopology1}}(1,1,0,1,1,1,1,1,1)-\frac{1}{2}
(\text{cc1}-\text{cc4})
G^{\text{fctopology1}}(1,1,1,1,1,0,1,1,1)+\frac{1}{2} Q^2
(\text{cc2}+\text{cc5})
G^{\text{fctopology2}}(1,1,1,1,1,1,1,1,1)-\frac{1}{2}
(\text{cc2}+\text{cc5})
G^{\text{fctopology2}}(1,1,1,1,1,0,1,1,1)-\frac{1}{2} \;\text{cc2}
G^{\text{fctopology2}}(1,1,1,1,0,1,1,1,1)+\frac{1}{2} \;\text{cc2}
G^{\text{fctopology2}}(1,1,1,1,1,1,1,0,1)+\text{cc3}
G^{\text{fctopology1}}(1,1,1,1,1,1,0,1,1)+\frac{1}{2} \;\text{cc4}
G^{\text{fctopology1}}(0,1,1,1,1,1,1,1,1)-\frac{1}{2} \;\text{cc4}
G^{\text{fctopology1}}(1,1,1,0,1,1,1,1,1)-\frac{1}{2} \;\text{cc4}
G^{\text{fctopology1}}(1,1,1,1,1,1,1,0,1)+\frac{1}{2} \;\text{cc4}
G^{\text{fctopology1}}(1,1,1,1,1,1,1,1,0)+\frac{1}{2} \;\text{cc5}
G^{\text{fctopology2}}(1,1,0,1,1,1,1,1,1) 2 1 G fctopology1 ( 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ) ( cc1 Q 2 + cc4 Q 2 + 2 cc6 ) + 2 1 ( cc1 − cc4 ) G fctopology1 ( 1 , 1 , 0 , 1 , 1 , 1 , 1 , 1 , 1 ) − 2 1 ( cc1 − cc4 ) G fctopology1 ( 1 , 1 , 1 , 1 , 1 , 0 , 1 , 1 , 1 ) + 2 1 Q 2 ( cc2 + cc5 ) G fctopology2 ( 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ) − 2 1 ( cc2 + cc5 ) G fctopology2 ( 1 , 1 , 1 , 1 , 1 , 0 , 1 , 1 , 1 ) − 2 1 cc2 G fctopology2 ( 1 , 1 , 1 , 1 , 0 , 1 , 1 , 1 , 1 ) + 2 1 cc2 G fctopology2 ( 1 , 1 , 1 , 1 , 1 , 1 , 1 , 0 , 1 ) + cc3 G fctopology1 ( 1 , 1 , 1 , 1 , 1 , 1 , 0 , 1 , 1 ) + 2 1 cc4 G fctopology1 ( 0 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ) − 2 1 cc4 G fctopology1 ( 1 , 1 , 1 , 0 , 1 , 1 , 1 , 1 , 1 ) − 2 1 cc4 G fctopology1 ( 1 , 1 , 1 , 1 , 1 , 1 , 1 , 0 , 1 ) + 2 1 cc4 G fctopology1 ( 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 0 ) + 2 1 cc5 G fctopology2 ( 1 , 1 , 0 , 1 , 1 , 1 , 1 , 1 , 1 )
The resulting GLI
s in the expression are loop integrals
that can be IBP-reduced
Mappings between integrals
To find one-to-one mappings between loop integrals use
FCLoopFindIntegralMappings
FCClearScalarProducts[]
ClearAll [ topo1, topo2]
topos = { FCTopology[ topo1, { SFAD[{ p1, m ^ 2 }], SFAD[{ p2, m ^ 2 }]}, { p1, p2}, {}, {}, {}],
FCTopology[ topo2, { SFAD[{ p3, m ^ 2 }], SFAD[{ p4, m ^ 2 }]}, { p3, p4}, {}, {}, {}]}
{ FCTopology ( topo1 , { 1 ( p1 2 − m 2 + i η ) , 1 ( p2 2 − m 2 + i η ) } , { p1 , p2 } , { } , { } , { } ) , FCTopology ( topo2 , { 1 ( p3 2 − m 2 + i η ) , 1 ( p4 2 − m 2 + i η ) } , { p3 , p4 } , { } , { } , { } ) } \left\{\text{FCTopology}\left(\text{topo1},\left\{\frac{1}{(\text{p1}^2-m^2+i
\eta )},\frac{1}{(\text{p2}^2-m^2+i \eta
)}\right\},\{\text{p1},\text{p2}\},\{\},\{\},\{\}\right),\text{FCTopology}\left(\text{topo2},\left\{\frac{1}{(\text{p3}^2-m^2+i
\eta )},\frac{1}{(\text{p4}^2-m^2+i \eta
)}\right\},\{\text{p3},\text{p4}\},\{\},\{\},\{\}\right)\right\} { FCTopology ( topo1 , { ( p1 2 − m 2 + i η ) 1 , ( p2 2 − m 2 + i η ) 1 } , { p1 , p2 } , { } , { } , { } ) , FCTopology ( topo2 , { ( p3 2 − m 2 + i η ) 1 , ( p4 2 − m 2 + i η ) 1 } , { p3 , p4 } , { } , { } , { } ) }
glis = { GLI[ topo1, { 1 , 1 }], GLI[ topo1, { 1 , 2 }], GLI[ topo1, { 2 , 1 }],
GLI[ topo2, { 1 , 1 }], GLI[ topo2, { 2 , 2 }]}
{ G topo1 ( 1 , 1 ) , G topo1 ( 1 , 2 ) , G topo1 ( 2 , 1 ) , G topo2 ( 1 , 1 ) , G topo2 ( 2 , 2 ) } \left\{G^{\text{topo1}}(1,1),G^{\text{topo1}}(1,2),G^{\text{topo1}}(2,1),G^{\text{topo2}}(1,1),G^{\text{topo2}}(2,2)\right\} { G topo1 ( 1 , 1 ) , G topo1 ( 1 , 2 ) , G topo1 ( 2 , 1 ) , G topo2 ( 1 , 1 ) , G topo2 ( 2 , 2 ) }
mappings = FCLoopFindIntegralMappings[ glis, topos]
{ { G topo2 ( 1 , 1 ) → G topo1 ( 1 , 1 ) , G topo1 ( 2 , 1 ) → G topo1 ( 1 , 2 ) } , { G topo1 ( 1 , 1 ) , G topo1 ( 1 , 2 ) , G topo2 ( 2 , 2 ) } } \left\{\left\{G^{\text{topo2}}(1,1)\to
G^{\text{topo1}}(1,1),G^{\text{topo1}}(2,1)\to
G^{\text{topo1}}(1,2)\right\},\left\{G^{\text{topo1}}(1,1),G^{\text{topo1}}(1,2),G^{\text{topo2}}(2,2)\right\}\right\} { { G topo2 ( 1 , 1 ) → G topo1 ( 1 , 1 ) , G topo1 ( 2 , 1 ) → G topo1 ( 1 , 2 ) } , { G topo1 ( 1 , 1 ) , G topo1 ( 1 , 2 ) , G topo2 ( 2 , 2 ) } }