TID
TID[amp, q]
performs tensor decomposition of 1-loop integrals with loop momentum q
.
See also
Overview , OneLoopSimplify , TIDL , PaVeLimitTo4 .
Examples
int = FAD[{ k , m }, k - Subscript [ p , 1 ], k - Subscript [ p , 2 ]] FVD[ k , \ [ Mu]] // FCI
k μ ( k 2 − m 2 ) . ( k − p 1 ) 2 . ( k − p 2 ) 2 \frac{k^{\mu }}{\left(k^2-m^2\right).(k-p_1){}^2.(k-p_2){}^2} ( k 2 − m 2 ) . ( k − p 1 ) 2 . ( k − p 2 ) 2 k μ
By default, all tensor integrals are reduced to the Passarino-Veltman scalar integrals A 0 A_0 A 0 , B 0 B_0 B 0 , C 0 C_0 C 0 , D 0 D_0 D 0 etc.
p 1 2 p 2 μ − p 1 μ ( p 1 ⋅ p 2 ) 2 ( ( p 1 ⋅ p 2 ) 2 − p 1 2 p 2 2 ) k 2 . ( ( k + p 1 ) 2 − m 2 ) − p 2 2 ( m 2 + p 1 2 ) p 1 μ + p 1 2 ( m 2 + p 2 2 ) p 2 μ + ( m 2 + p 1 2 ) ( − p 2 μ ) ( p 1 ⋅ p 2 ) − ( m 2 + p 2 2 ) p 1 μ ( p 1 ⋅ p 2 ) 2 ( ( p 1 ⋅ p 2 ) 2 − p 1 2 p 2 2 ) ( k 2 − m 2 ) . ( k − p 2 ) 2 . ( k − p 1 ) 2 − p 2 μ ( p 1 ⋅ p 2 ) − p 2 2 p 1 μ 2 ( ( p 1 ⋅ p 2 ) 2 − p 1 2 p 2 2 ) k 2 . ( ( k + p 2 ) 2 − m 2 ) − p 1 2 p 2 μ + p 2 2 p 1 μ − p 1 μ ( p 1 ⋅ p 2 ) − p 2 μ ( p 1 ⋅ p 2 ) 2 k 2 . ( k − p 1 + p 2 ) 2 ( ( p 1 ⋅ p 2 ) 2 − p 1 2 p 2 2 ) \frac{p_1{}^2 p_2{}^{\mu }-p_1{}^{\mu } \left(p_1\cdot p_2\right)}{2 \left((p_1\cdot p_2){}^2-p_1{}^2 p_2{}^2\right) k^2.\left((k+p_1){}^2-m^2\right)}-\frac{p_2{}^2 \left(m^2+p_1{}^2\right) p_1{}^{\mu }+p_1{}^2 \left(m^2+p_2{}^2\right) p_2{}^{\mu }+\left(m^2+p_1{}^2\right) \left(-p_2{}^{\mu }\right) \left(p_1\cdot p_2\right)-\left(m^2+p_2{}^2\right) p_1{}^{\mu } \left(p_1\cdot p_2\right)}{2 \left((p_1\cdot p_2){}^2-p_1{}^2 p_2{}^2\right) \left(k^2-m^2\right).(k-p_2){}^2.(k-p_1){}^2}-\frac{p_2{}^{\mu } \left(p_1\cdot p_2\right)-p_2{}^2 p_1{}^{\mu }}{2 \left((p_1\cdot p_2){}^2-p_1{}^2 p_2{}^2\right) k^2.\left((k+p_2){}^2-m^2\right)}-\frac{p_1{}^2 p_2{}^{\mu }+p_2{}^2 p_1{}^{\mu }-p_1{}^{\mu } \left(p_1\cdot p_2\right)-p_2{}^{\mu } \left(p_1\cdot p_2\right)}{2 k^2.(k-p_1+p_2){}^2 \left((p_1\cdot p_2){}^2-p_1{}^2 p_2{}^2\right)} 2 ( ( p 1 ⋅ p 2 ) 2 − p 1 2 p 2 2 ) k 2 . ( ( k + p 1 ) 2 − m 2 ) p 1 2 p 2 μ − p 1 μ ( p 1 ⋅ p 2 ) − 2 ( ( p 1 ⋅ p 2 ) 2 − p 1 2 p 2 2 ) ( k 2 − m 2 ) . ( k − p 2 ) 2 . ( k − p 1 ) 2 p 2 2 ( m 2 + p 1 2 ) p 1 μ + p 1 2 ( m 2 + p 2 2 ) p 2 μ + ( m 2 + p 1 2 ) ( − p 2 μ ) ( p 1 ⋅ p 2 ) − ( m 2 + p 2 2 ) p 1 μ ( p 1 ⋅ p 2 ) − 2 ( ( p 1 ⋅ p 2 ) 2 − p 1 2 p 2 2 ) k 2 . ( ( k + p 2 ) 2 − m 2 ) p 2 μ ( p 1 ⋅ p 2 ) − p 2 2 p 1 μ − 2 k 2 . ( k − p 1 + p 2 ) 2 ( ( p 1 ⋅ p 2 ) 2 − p 1 2 p 2 2 ) p 1 2 p 2 μ + p 2 2 p 1 μ − p 1 μ ( p 1 ⋅ p 2 ) − p 2 μ ( p 1 ⋅ p 2 )
Scalar integrals can be converted to the Passarino-Veltman notation via the option ToPaVe
TID[ int, k , ToPaVe -> True ]
i π 2 ( p 1 2 p 2 μ − p 1 μ ( p 1 ⋅ p 2 ) ) B 0 ( p 1 2 , 0 , m 2 ) 2 ( ( p 1 ⋅ p 2 ) 2 − p 1 2 p 2 2 ) − i π 2 ( p 2 μ ( p 1 ⋅ p 2 ) − p 2 2 p 1 μ ) B 0 ( p 2 2 , 0 , m 2 ) 2 ( ( p 1 ⋅ p 2 ) 2 − p 1 2 p 2 2 ) − i π 2 ( p 1 2 p 2 μ + p 2 2 p 1 μ − p 1 μ ( p 1 ⋅ p 2 ) − p 2 μ ( p 1 ⋅ p 2 ) ) B 0 ( p 1 2 − 2 ( p 1 ⋅ p 2 ) + p 2 2 , 0 , 0 ) 2 ( ( p 1 ⋅ p 2 ) 2 − p 1 2 p 2 2 ) − i π 2 ( p 2 2 ( m 2 + p 1 2 ) p 1 μ + p 1 2 ( m 2 + p 2 2 ) p 2 μ + ( m 2 + p 1 2 ) ( − p 2 μ ) ( p 1 ⋅ p 2 ) − ( m 2 + p 2 2 ) p 1 μ ( p 1 ⋅ p 2 ) ) C 0 ( p 1 2 , p 2 2 , p 1 2 − 2 ( p 1 ⋅ p 2 ) + p 2 2 , 0 , m 2 , 0 ) 2 ( ( p 1 ⋅ p 2 ) 2 − p 1 2 p 2 2 ) \frac{i \pi ^2 \left(p_1{}^2 p_2{}^{\mu }-p_1{}^{\mu } \left(p_1\cdot p_2\right)\right) \;\text{B}_0\left(p_1{}^2,0,m^2\right)}{2 \left((p_1\cdot p_2){}^2-p_1{}^2 p_2{}^2\right)}-\frac{i \pi ^2 \left(p_2{}^{\mu } \left(p_1\cdot p_2\right)-p_2{}^2 p_1{}^{\mu }\right) \;\text{B}_0\left(p_2{}^2,0,m^2\right)}{2 \left((p_1\cdot p_2){}^2-p_1{}^2 p_2{}^2\right)}-\frac{i \pi ^2 \left(p_1{}^2 p_2{}^{\mu }+p_2{}^2 p_1{}^{\mu }-p_1{}^{\mu } \left(p_1\cdot p_2\right)-p_2{}^{\mu } \left(p_1\cdot p_2\right)\right) \;\text{B}_0\left(p_1{}^2-2 \left(p_1\cdot p_2\right)+p_2{}^2,0,0\right)}{2 \left((p_1\cdot p_2){}^2-p_1{}^2 p_2{}^2\right)}-\frac{i \pi ^2 \left(p_2{}^2 \left(m^2+p_1{}^2\right) p_1{}^{\mu }+p_1{}^2 \left(m^2+p_2{}^2\right) p_2{}^{\mu }+\left(m^2+p_1{}^2\right) \left(-p_2{}^{\mu }\right) \left(p_1\cdot p_2\right)-\left(m^2+p_2{}^2\right) p_1{}^{\mu } \left(p_1\cdot p_2\right)\right) \;\text{C}_0\left(p_1{}^2,p_2{}^2,p_1{}^2-2 \left(p_1\cdot p_2\right)+p_2{}^2,0,m^2,0\right)}{2 \left((p_1\cdot p_2){}^2-p_1{}^2 p_2{}^2\right)} 2 ( ( p 1 ⋅ p 2 ) 2 − p 1 2 p 2 2 ) i π 2 ( p 1 2 p 2 μ − p 1 μ ( p 1 ⋅ p 2 ) ) B 0 ( p 1 2 , 0 , m 2 ) − 2 ( ( p 1 ⋅ p 2 ) 2 − p 1 2 p 2 2 ) i π 2 ( p 2 μ ( p 1 ⋅ p 2 ) − p 2 2 p 1 μ ) B 0 ( p 2 2 , 0 , m 2 ) − 2 ( ( p 1 ⋅ p 2 ) 2 − p 1 2 p 2 2 ) i π 2 ( p 1 2 p 2 μ + p 2 2 p 1 μ − p 1 μ ( p 1 ⋅ p 2 ) − p 2 μ ( p 1 ⋅ p 2 ) ) B 0 ( p 1 2 − 2 ( p 1 ⋅ p 2 ) + p 2 2 , 0 , 0 ) − 2 ( ( p 1 ⋅ p 2 ) 2 − p 1 2 p 2 2 ) i π 2 ( p 2 2 ( m 2 + p 1 2 ) p 1 μ + p 1 2 ( m 2 + p 2 2 ) p 2 μ + ( m 2 + p 1 2 ) ( − p 2 μ ) ( p 1 ⋅ p 2 ) − ( m 2 + p 2 2 ) p 1 μ ( p 1 ⋅ p 2 ) ) C 0 ( p 1 2 , p 2 2 , p 1 2 − 2 ( p 1 ⋅ p 2 ) + p 2 2 , 0 , m 2 , 0 )
We can force the reduction algorithm to use Passarino-Veltman coefficient functions via the option UsePaVeBasis
TID[ int, k , UsePaVeBasis -> True ]
− i π 2 p 1 μ C 1 ( p 1 2 , p 1 2 + p 2 2 − 2 ( p 1 ⋅ p 2 ) , p 2 2 , m 2 , 0 , 0 ) − i π 2 p 2 μ C 1 ( p 2 2 , p 1 2 + p 2 2 − 2 ( p 1 ⋅ p 2 ) , p 1 2 , m 2 , 0 , 0 ) -i \pi ^2 p_1{}^{\mu } \;\text{C}_1\left(p_1{}^2,p_1{}^2+p_2{}^2-2 \left(p_1\cdot p_2\right),p_2{}^2,m^2,0,0\right)-i \pi ^2 p_2{}^{\mu } \;\text{C}_1\left(p_2{}^2,p_1{}^2+p_2{}^2-2 \left(p_1\cdot p_2\right),p_1{}^2,m^2,0,0\right) − i π 2 p 1 μ C 1 ( p 1 2 , p 1 2 + p 2 2 − 2 ( p 1 ⋅ p 2 ) , p 2 2 , m 2 , 0 , 0 ) − i π 2 p 2 μ C 1 ( p 2 2 , p 1 2 + p 2 2 − 2 ( p 1 ⋅ p 2 ) , p 1 2 , m 2 , 0 , 0 )
Very often the integral can be simplified via partial fractioning even before performing the loop reduction. In this case the output will contain a mixture of FAD
symbols and Passarino-Veltman functions
TID[ SPD[ p , q ] FAD[ q , { q - p , m }] FVD[ q , mu], q , UsePaVeBasis -> True ]
p mu 2 ( q 2 − m 2 ) + 1 2 i π 2 ( m 2 − p 2 ) p mu ( ( m 2 − p 2 ) B 0 ( p 2 , 0 , m 2 ) 2 p 2 − A 0 ( m 2 ) 2 p 2 ) \frac{p^{\text{mu}}}{2 \left(q^2-m^2\right)}+\frac{1}{2} i \pi ^2 \left(m^2-p^2\right) p^{\text{mu}} \left(\frac{\left(m^2-p^2\right) \;\text{B}_0\left(p^2,0,m^2\right)}{2 p^2}-\frac{\text{A}_0\left(m^2\right)}{2 p^2}\right) 2 ( q 2 − m 2 ) p mu + 2 1 i π 2 ( m 2 − p 2 ) p mu ( 2 p 2 ( m 2 − p 2 ) B 0 ( p 2 , 0 , m 2 ) − 2 p 2 A 0 ( m 2 ) )
This can be avoided by setting both UsePaVeBasis
and ToPaVe
to True
TID[ SPD[ p , q ] FAD[ q , { q - p , m }] FVD[ q , mu], q , UsePaVeBasis -> True , ToPaVe -> True ]
1 2 i π 2 ( m 2 − p 2 ) p mu ( ( m 2 − p 2 ) B 0 ( p 2 , 0 , m 2 ) 2 p 2 − A 0 ( m 2 ) 2 p 2 ) + 1 2 i π 2 p mu A 0 ( m 2 ) \frac{1}{2} i \pi ^2 \left(m^2-p^2\right) p^{\text{mu}} \left(\frac{\left(m^2-p^2\right) \;\text{B}_0\left(p^2,0,m^2\right)}{2 p^2}-\frac{\text{A}_0\left(m^2\right)}{2 p^2}\right)+\frac{1}{2} i \pi ^2 p^{\text{mu}} \;\text{A}_0\left(m^2\right) 2 1 i π 2 ( m 2 − p 2 ) p mu ( 2 p 2 ( m 2 − p 2 ) B 0 ( p 2 , 0 , m 2 ) − 2 p 2 A 0 ( m 2 ) ) + 2 1 i π 2 p mu A 0 ( m 2 )
Alternatively, we may set ToPaVe
to Automatic
which will automatically invoke the ToPaVe
function if the final result contains even a single Passarino-Veltman function
TID[ SPD[ p , q ] FAD[ q , { q - p , m }] FVD[ q , mu], q , ToPaVe -> Automatic ]
( m 2 − p 2 ) 2 p mu 4 p 2 q 2 . ( ( q − p ) 2 − m 2 ) − ( m 2 − 3 p 2 ) p mu 4 p 2 ( q 2 − m 2 ) \frac{\left(m^2-p^2\right)^2 p^{\text{mu}}}{4 p^2 q^2.\left((q-p)^2-m^2\right)}-\frac{\left(m^2-3 p^2\right) p^{\text{mu}}}{4 p^2 \left(q^2-m^2\right)} 4 p 2 q 2 . ( ( q − p ) 2 − m 2 ) ( m 2 − p 2 ) 2 p mu − 4 p 2 ( q 2 − m 2 ) ( m 2 − 3 p 2 ) p mu
TID[ SPD[ p , q ] FAD[ q , { q - p , m }] FVD[ q , mu], q , UsePaVeBasis -> True , ToPaVe -> Automatic ]
1 2 i π 2 ( m 2 − p 2 ) p mu ( ( m 2 − p 2 ) B 0 ( p 2 , 0 , m 2 ) 2 p 2 − A 0 ( m 2 ) 2 p 2 ) + 1 2 i π 2 p mu A 0 ( m 2 ) \frac{1}{2} i \pi ^2 \left(m^2-p^2\right) p^{\text{mu}} \left(\frac{\left(m^2-p^2\right) \;\text{B}_0\left(p^2,0,m^2\right)}{2 p^2}-\frac{\text{A}_0\left(m^2\right)}{2 p^2}\right)+\frac{1}{2} i \pi ^2 p^{\text{mu}} \;\text{A}_0\left(m^2\right) 2 1 i π 2 ( m 2 − p 2 ) p mu ( 2 p 2 ( m 2 − p 2 ) B 0 ( p 2 , 0 , m 2 ) − 2 p 2 A 0 ( m 2 ) ) + 2 1 i π 2 p mu A 0 ( m 2 )
The basis of Passarino-Veltman coefficient functions is used automatically if there are zero Gram determinants
FCClearScalarProducts[] ;
SPD[ Subscript [ p , 1 ], Subscript [ p , 1 ]] = 0 ;
SPD[ Subscript [ p , 2 ], Subscript [ p , 2 ]] = 0 ;
SPD[ Subscript [ p , 1 ], Subscript [ p , 2 ]] = 0 ;
TID[ FAD[{ k , m }, k - Subscript [ p , 1 ], k - Subscript [ p , 2 ]] FVD[ k , \ [ Mu]] // FCI, k ]
FCClearScalarProducts[] ;
− i π 2 ( p 1 μ + p 2 μ ) C 1 ( 0 , 0 , 0 , 0 , 0 , m 2 ) -i \pi ^2 \left(p_1{}^{\mu }+p_2{}^{\mu }\right) \;\text{C}_1\left(0,0,0,0,0,m^2\right) − i π 2 ( p 1 μ + p 2 μ ) C 1 ( 0 , 0 , 0 , 0 , 0 , m 2 )
In FeynCalc, Passarino-Veltman coefficient functions are defined in the same way as in LoopTools. If one wants to use a different definition, it is useful to activate the option GenPaVe
FCClearScalarProducts[] ;
SPD[ Subscript [ p , 1 ], Subscript [ p , 1 ]] = 0 ;
SPD[ Subscript [ p , 2 ], Subscript [ p , 2 ]] = 0 ;
SPD[ Subscript [ p , 1 ], Subscript [ p , 2 ]] = 0 ;
TID[ FAD[{ k , m }, k - Subscript [ p , 1 ], k - Subscript [ p , 2 ]] FVD[ k , \ [ Mu]] // FCI, k , GenPaVe -> True ]
FCClearScalarProducts[] ;
− i π 2 p 1 μ GenPaVe ( { 1 } , ( 0 m p 1 0 p 2 0 ) ) − i π 2 p 2 μ GenPaVe ( { 2 } , ( 0 m p 1 0 p 2 0 ) ) -i \pi ^2 p_1{}^{\mu } \;\text{GenPaVe}\left(\{1\},\left(
\begin{array}{cc}
0 & m \\
p_1 & 0 \\
p_2 & 0 \\
\end{array}
\right)\right)-i \pi ^2 p_2{}^{\mu } \;\text{GenPaVe}\left(\{2\},\left(
\begin{array}{cc}
0 & m \\
p_1 & 0 \\
p_2 & 0 \\
\end{array}
\right)\right) − i π 2 p 1 μ GenPaVe { 1 } , 0 p 1 p 2 m 0 0 − i π 2 p 2 μ GenPaVe { 2 } , 0 p 1 p 2 m 0 0
To simplify manifestly IR-finite 1-loop results written in terms of Passarino-Veltman functions, we may employ the option PaVeLimitTo4
(must be used together with ToPaVe
). The result is valid up to 0th order in Epsilon
, i.e. sufficient for 1-loop calculations.
FCClearScalarProducts[] ;
int = (D - 1 ) (D - 2 )/ (D - 3 ) FVD[ p , mu] FVD[ p , nu] FAD[ p , p - q ]
( D − 2 ) ( D − 1 ) p mu p nu ( D − 3 ) p 2 . ( p − q ) 2 \frac{(D-2) (D-1) p^{\text{mu}} p^{\text{nu}}}{(D-3) p^2.(p-q)^2} ( D − 3 ) p 2 . ( p − q ) 2 ( D − 2 ) ( D − 1 ) p mu p nu
TID[ int, p , ToPaVe -> True ]
i π 2 ( 2 − D ) B 0 ( q 2 , 0 , 0 ) ( D q mu q nu − q 2 g mu nu ) 4 ( 3 − D ) \frac{i \pi ^2 (2-D) \;\text{B}_0\left(q^2,0,0\right) \left(D q^{\text{mu}} q^{\text{nu}}-q^2 g^{\text{mu}\;\text{nu}}\right)}{4 (3-D)} 4 ( 3 − D ) i π 2 ( 2 − D ) B 0 ( q 2 , 0 , 0 ) ( D q mu q nu − q 2 g mu nu )
TID[ int, p , ToPaVe -> True , PaVeLimitTo4 -> True ]
1 2 i π 2 B 0 ( q ‾ 2 , 0 , 0 ) ( 4 q ‾ mu q ‾ nu − q ‾ 2 g ˉ mu nu ) + 1 2 i π 2 ( 2 q ‾ mu q ‾ nu − q ‾ 2 g ˉ mu nu ) \frac{1}{2} i \pi ^2 \;\text{B}_0\left(\overline{q}^2,0,0\right) \left(4 \overline{q}^{\text{mu}} \overline{q}^{\text{nu}}-\overline{q}^2 \bar{g}^{\text{mu}\;\text{nu}}\right)+\frac{1}{2} i \pi ^2 \left(2 \overline{q}^{\text{mu}} \overline{q}^{\text{nu}}-\overline{q}^2 \bar{g}^{\text{mu}\;\text{nu}}\right) 2 1 i π 2 B 0 ( q 2 , 0 , 0 ) ( 4 q mu q nu − q 2 g ˉ mu nu ) + 2 1 i π 2 ( 2 q mu q nu − q 2 g ˉ mu nu )
Sometimes one would like to have external momenta multiplied by symbolic parameters in the propagators. In this case one should first declare the corresponding variables to be of FCVariable
type
DataType[ a , FCVariable] = True ;
DataType[ b , FCVariable] = True ;
ExpandScalarProduct[ SP[ P , Q ] /. P -> a P1 + b P2]
StandardForm [ % ]
a ( P1 ‾ ⋅ Q ‾ ) + b ( P2 ‾ ⋅ Q ‾ ) a \left(\overline{\text{P1}}\cdot \overline{Q}\right)+b \left(\overline{\text{P2}}\cdot \overline{Q}\right) a ( P1 ⋅ Q ) + b ( P2 ⋅ Q )
(*a Pair[Momentum[P1], Momentum[Q]] + b Pair[Momentum[P2], Momentum[Q]]*)