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 1 ) 2 . ( k − p 2 ) 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_1){}^2.(k-p_2){}^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 1 ) 2 . ( k − p 2 ) 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 ]] = M ^ 2 ;
SPD[ Subscript [ p , 2 ], Subscript [ p , 2 ]] = M ^ 2 ;
SPD[ Subscript [ p , 1 ], Subscript [ p , 2 ]] = M ^ 2 ;
TID[ FAD[{ k , m }, k - Subscript [ p , 1 ], k - Subscript [ p , 2 ]] FVD[ k , \ [ Mu]], k ]
− i π 2 ( p 1 μ + p 2 μ ) C 1 ( 0 , M 2 , M 2 , 0 , 0 , m 2 ) -i \pi ^2 \left(p_1{}^{\mu }+p_2{}^{\mu
}\right) \;\text{C}_1\left(0,M^2,M^2,0,0,m^2\right) − i π 2 ( p 1 μ + p 2 μ ) C 1 ( 0 , M 2 , M 2 , 0 , 0 , m 2 )
A vanishing Gram determinant signals that the external momenta are
linearly dependent on each other. This redundancy can be resolved by
switching to a different basis. To that aim we need to run
FCLoopFindTensorBasis
to analyze the set of external
momenta causing troubles
FCLoopFindTensorBasis[{ - Subscript [ p , 1 ], - Subscript [ p , 2 ]}, {}, n ]
( − p 1 − p 2 − p 2 → − p 1 FCGV ( Prefactor ) ( 1 ) ) \left(
\begin{array}{c}
-p_1 \\
-p_2 \\
-p_2\to -p_1 \;\text{FCGV}(\text{Prefactor})(1) \\
\end{array}
\right) − p 1 − p 2 − p 2 → − p 1 FCGV ( Prefactor ) ( 1 )
We see that p 1 p_1 p 1 and p 2 p_2 p 2 are proportional to each other, so that
only one of these vectors is linearly independent. This also means that
the scalar products involving loop momentum p 1 ⋅ k p_1 \cdot k p 1 ⋅ k and p 2 ⋅ k p_2
\cdot k p 2 ⋅ k are identical. Supplying this information to
TID
we can now achieve the desired reduction to
scalars.
TID[ FAD[{ k , m }, k - Subscript [ p , 1 ], k - Subscript [ p , 2 ]] FVD[ k , \ [ Mu]], k ,
TensorReductionBasisChange -> {{ - Subscript [ p , 1 ], - Subscript [ p , 2 ]} -> { - Subscript [ p , 1 ]}},
FinalSubstitutions -> { SPD[ k , Subscript [ p , 2 ]] -> SPD[ k , Subscript [ p , 1 ]]}]
( ( m − M ) ( m + M ) + 2 M 2 ) p 1 μ 2 M 2 ( k 2 ) 2 . ( ( k + p 1 ) 2 − m 2 ) − p 1 μ 2 M 2 k 2 . ( ( k + p 1 ) 2 − m 2 ) \frac{\left((m-M) (m+M)+2 M^2\right)
p_1{}^{\mu }}{2 M^2
\left(k^2\right)^2.\left((k+p_1){}^2-m^2\right)}-\frac{p_1{}^{\mu }}{2
M^2 k^2.\left((k+p_1){}^2-m^2\right)} 2 M 2 ( k 2 ) 2 . ( ( k + p 1 ) 2 − m 2 ) ( ( m − M ) ( m + M ) + 2 M 2 ) p 1 μ − 2 M 2 k 2 . ( ( k + p 1 ) 2 − m 2 ) p 1 μ
Notice that the result contains a propagator squared. This can be
reduced further using IBPs (e.g. by employing FIRE or KIRA via the
FeynHelpers interface).
For cases involving light-like external momenta we often need to
introduce an auxiliary vector, since the available vector are not
sufficient to form a basis
FCClearScalarProducts[] ;
SPD[ p ] = 0 ;
TID[ FAD[{ k , m }, k - p ] FVD[ k , \ [ Mu]], k ]
p μ k 2 . ( ( k − p ) 2 − m 2 ) + i π 2 p μ B 1 ( 0 , 0 , m 2 ) \frac{p^{\mu
}}{k^2.\left((k-p)^2-m^2\right)}+i \pi ^2 p^{\mu }
\;\text{B}_1\left(0,0,m^2\right) k 2 . ( ( k − p ) 2 − m 2 ) p μ + i π 2 p μ B 1 ( 0 , 0 , m 2 )
Running FCLoopFindTensorBasis
we get a suggestion to
introduce an auxiliary vector n n n to the
basis. The scalar products of this vector with other external momenta
must be nonvanishing, but we are free to make the vector itself
light-like (for simplicity)
FCLoopFindTensorBasis[{ - p }, {}, n ]
{ { − p , n } , { } , { } } \{\{-p,n\},\{\},\{\}\} {{ − p , n } , { } , { }}
SPD[ n ] = 0 ;
TID[ FAD[{ k , m }, k - p ] FVD[ k , \ [ Mu]], k , TensorReductionBasisChange -> {{ - p } -> { - p , n }}, AuxiliaryMomenta -> { n }]
− 2 p μ ( k ⋅ n ) + m 2 n μ + 2 p μ ( n ⋅ p ) 2 ( n ⋅ p ) k 2 . ( ( k − p ) 2 − m 2 ) − n μ 2 ( n ⋅ p ) ( k 2 − m 2 ) \frac{-2 p^{\mu } (k\cdot n)+m^2 n^{\mu
}+2 p^{\mu } (n\cdot p)}{2 (n\cdot p)
k^2.\left((k-p)^2-m^2\right)}-\frac{n^{\mu }}{2 (n\cdot p)
\left(k^2-m^2\right)} 2 ( n ⋅ p ) k 2 . ( ( k − p ) 2 − m 2 ) − 2 p μ ( k ⋅ n ) + m 2 n μ + 2 p μ ( n ⋅ p ) − 2 ( n ⋅ p ) ( k 2 − m 2 ) n μ
Unfortunately, in this case TID
alone cannot eliminate
the scalar products of n n n with the loop
momentum in the numerator. For that we need to use IBPs. Still, it
manages to reduce the tensor integral to scalars, even though at this
stage not all of them can be mapped to scalar PaVe functions.
The dependence on the auxiliary vector n n n must cancel in the final result for this
integral, as the auxiliary vector is unphysical and the original
integral does not depend on it. To arrive at these cancellations for
more complicated tensor integral it might be necessary to exploit the
relations between the physical vectors as given by
FCLoopFindTensorBasis
and contract those with n n n .
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 [ % ]
```mathematica
$$a \ left (\ overline{ \ text { P1}} \ cdot \ overline{ Q } \ right )+ b \ left (\ overline{ \ text { P2}} \ cdot \ overline{ Q } \ right )$$
```mathematica
(*a Pair[Momentum[P1], Momentum[Q]] + b Pair[Momentum[P2], Momentum[Q]]*)