Note
Go to the end to download the full example code.
Two-loop sunset: imaginary part and dispersion relation#
The imaginary part of the massive sunset from its phase-space representation, and the twice-subtracted dispersion relation \(S(s) - S(0) - s S'(0)\). Both are precision-checked numerical integrations, validated against Feynman-parameter integrals and a closed form. Each subtracted value takes 10-20 s.
threshold (m1+m2+m3)^2 = 17.1915082254503
s = 10: Im S = 0.0 S(s) - S(0) - s S'(0) = (-0.914137148613 + 0.0j)
s = 20: Im S = -0.375849653338 S(s) - S(0) - s S'(0) = (-5.11009352005 - 0.375849653338j)
s = 50: Im S = -24.9914650397 S(s) - S(0) - s S'(0) = (-20.0295703709 - 24.9914650397j)
s = 100: Im S = -88.1849955516 S(s) - S(0) - s S'(0) = (-19.9854890522 - 88.1849955516j)
import mpmath as mp
from ramanujan_qft import sunset_im, sunset_subtracted, sunset_threshold
m = (1, 2, 3)
print("threshold (m1+m2+m3)^2 =", sunset_threshold(*m))
for s in (10, 20, 50, 100):
print(f"s = {s:>4}: Im S = {mp.nstr(sunset_im(s, *m), 12):>16} "
f"S(s) - S(0) - s S'(0) = {mp.nstr(sunset_subtracted(s, *m), 12)}")
Total running time of the script: (1 minutes 36.433 seconds)