Closed HBelusca closed 6 years ago
I'm afraid that I don't quite understand the problem. From the description of the PaVeUvPart
:
PaVeUVPart[expr] replaces all occuring Passarino-Veltman functions by their explicit values, where only the UV divergent part is preserved, while possible IR divergences and the finite part are discarded.
The function uses the algorithm from "Sulyok, G., A closed expression for the UV-divergent parts of one-loop tensor integrals in dimensional regularization, Phys. Part. Nuclei Lett. (2017) 14:631, arXiv:hep-ph/0609282"
It is well-known that C0 and D0 functions are manifestly UV-finite (c.f. also Appendix A in arXiv:hep-ph/0509141). This can be seen already from the simple power-counting where we have k^4/k^6 and k^4/k^8 respectively (k being the loop momentum) so that the limit k-> Infinity does not diverge. So the output of PaVeUVPart for C0 and D0 is fully correct.
Now C0 and D0 certainly may (and often do) have IR and collinear divergences. However, PaVeUVPart
is not going to tell you anything about those. This is stated in the description of the function in a very obvious way:
while possible IR divergences and the finite part are discarded
If you call Package-X in the mode where UV and IR/collinear divergences are not mixed, then you clearly see that there are no UV divergences appearing in C0:
myAmp = C0[0, p12, p12, 0, 0, 0];
PaXEvaluateUVIRSplit[myAmp]
-(1/(EpsilonIR p12)) + (
EulerGamma + 2 Log[\[Pi]] - Log[-((\[Pi] ScaleMu^2)/p12)])/p12
Just in case you started with
FAD[p, {p - k, 0, 2}]
and then simplified it to a bubble using IBP reduction, you need to keep in mind that IBP in general mixes UV and IR/collinear divergences: you start from an IR-divergent triangle and end up with UV-divergent bubble. I mentioned this briefly at the end of Section 4.2 in arXiv:1611.06793, but AFAIK this is something well known to the practitioners. Actually, it is not a problem of the method itself, just the of the implementation, were tools like FIRE or LiteRed set all scaleless integrals to zero, including the special 1/k^4 integral.
Thank you very much for your explanation and for the references! So I now understand what happened: I was actually seeing the IR divergence that was generated due to the fact the mass parameters were set to zero in the loop integrals.
I thus think we can close this (non-)issue report.
You are welcome. It might be actually interesting to introduce something like IRDivergentQ
returning True
or False
to check whether the given PaVe function contains soft or collinear singularities. This is actually quite easy at 1-loop as we only need to extract the modified Cayley matrix of the integral and check whether it's determinant is zero or not. I will think about this.
11.2.0 for Microsoft Windows (64-bit) (September 11, 2017)
9.3.0 (development)
Latest development HEAD repository
I am computing UV divergent parts of some amplitudes expressed in terms of Passarino-Veltman 1-loop functions, using the FeynCalc function
PaVeUVPart[]
, and noticed that the returned results did not agree with the ones obtained through FeynCalc/Package-XPaXEvaluate[]
or through FormCalc:which is OK, as well as:
However:
is NOT OK (PaX gives the correct result however).
Similar problem also appear for D0 functions, for example with:
D0[0, p12, 0, p12, p12, p12, 0, 0, 0, 0]
(PaX returns-2/(Epsilon p12^2)
for the div-part, while PaVeUVPart[] returns 0).This problem happens because the massless case of C0 and D0 (and possibly their families Cij, Dijkl etc...) is singular; this can be seen when evaluating these functions by hand using Feynman parametrization: one needs to keep the full D-dimensional dependence for the powers of the Feynman parameters, which, after integration, turn into a product of Gamma functions that depend on D. Then, by expanding over
Epsilon = (4-D)/2
, one obtains the1/Epsilon
poles as expected.