FCLoopPakScalelessQ[poly, x]
checks whether the characteristic polynomial poly (in the U \times xF form) with the Feynman parameters x[1], x[2], ...
corresponds to a scaleless loop integral or loop integral topology. The polynomial does not need to be canonically ordered.
The function uses the algorithm of Alexey Pak arXiv:1111.0868. Cf. also the PhD thesis of Jens Hoff 10.5445/IR/1000047447 for the detailed description of a possible implementation. FCLoopPakScalelessQ
is a backend function used in FCLoopScalelessQ
, FCLoopFindSubtopologies
etc.
Overview, FCTopology, GLI, FCLoopToPakForm, FCLoopScalelessQ.
A scaleless 2-loop tadpole is a clear case, since here the characteristic polynomial vanishes
= FAD[p1, p2, p1 - p2]
int
= FCLoopToPakForm[int, {p1, p2}, Names -> x,
pf
CharacteristicPolynomial -> Function[{u, f}, u f]][[2]][[1]]
\frac{1}{\text{p1}^2.\text{p2}^2.(\text{p1}-\text{p2})^2}
0
[pf, x] FCLoopPakScalelessQ
\text{True}
A somewhat less obvious (but still simple) case is this 1-loop eikonal integral.
= SFAD[{{0, 2 p . q}, 0}, p]
int
= FCLoopToPakForm[int, {p}, Names -> x,
pf
CharacteristicPolynomial -> Function[{u, f}, u f]][[2]][[1]]
\frac{1}{(2 (p\cdot q)+i \eta ).(p^2+i \eta )}
q^2 x(1)^2 x(2)
[pf, x] FCLoopPakScalelessQ
\text{True}
Adding a mass term to the quadratic propagator makes this integral nonvanishing
= SFAD[{{0, 2 p . q}, 0}, {p, m^2}]
int
= FCLoopToPakForm[int, {p}, Names -> x,
pf
CharacteristicPolynomial -> Function[{u, f}, u f]][[2]][[1]]
\frac{1}{(2 (p\cdot q)+i \eta ).(p^2-m^2+i \eta )}
m^2 x(1)^3+q^2 x(2)^2 x(1)
[pf, x] FCLoopPakScalelessQ
\text{False}
Notice that FCLoopPakScalelessQ
is more of an auxiliary function. The corresponding end-user function is called FCLoopScalelessQ
[SFAD[{{0, 2 p . q}, 0}, p], {p}] FCLoopScalelessQ
\text{True}