Loops
See also
Overview .
Propagators
Propagators (and products thereof) are represented via FeynAmpDenominator
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
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 ( ( k2 + p2 ) 2 − m 2 ) . ( k1 − k2 ) 2 . ( ( k1 − p2 ) 2 − m 2 ) \frac{1}{\left((\text{k2}+\text{p2})^2-m^2\right).(\text{k1}-\text{k2})^2.\left((\text{k1}-\text{p2})^2-m^2\right)} ( ( k2 + p2 ) 2 − m 2 ) . ( k1 − k2 ) 2 . ( ( k1 − p2 ) 2 − m 2 ) 1
(*FAD[{k2 + p2, m}, k1 - k2, {k1 - 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 − p2 ) 2 . ( q − p1 ) 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{p2})^2.(q-\text{p1})^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 − p2 ) 2 . ( q − p1 ) 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 , 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 )
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
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 ) } }