Analytic continuation#
Tip
For more information about analytic continuation with symbolic models, see these Technical Reports: Chew-Mandelstam and Analyticity.
Analytic continuation allows one to handle resonances just below threshold (\(m_R < m_1 + m_1\) for a two-body decay \(R \to 12\)). In practice, this entails using a specific function for \(\rho\) in Eq. (1).
Common definitions#
Common choices for phasespace factor \(\rho\), and the break-up momentum \(q\), are the following:
s, m1, m2 = sp.symbols("s m1 m2", nonnegative=True)
The physically correct solution is to use a definition for the phase space factor that is analytic over the whole complex domain and complies with the Schwarz reflection principle. For arbitrary angular momenta \(\ell\), this can only be achieved by (numerically) computing a dispersion integral (via the Chew–Mandelstam function \(\Sigma_\ell\)). An algebraic solution for this integral exists only for S-waves (no angular momentum) and is given by:
Cut structure#
When continued into the complex plane, the standard (non-analytic) breakup momentum and phase space factor exhibit distinct cut structures, depending on the definition of the square root in the numerator. The distinction between these definitions only becomes relevant below threshold, which is not common in single-channel analyses. Only when resonances lie slightly below threshold (above the pseudothreshold \(|m_1-m_2|\)) is it relevant to work with a function that has cleaner cut structure.
The “split” square root definition,
leads to a cleaner cut structure than a definition with a “single” square root (AmpForm’s default implementation),
or with a Källén function,
Numerical precision and performance#
The numerical precision of functions decreases as the number of operations (nodes) in the function tree increases. As such, BreakupMomentumSplitSqrt and PhaseSpaceFactorSplitSqrt have a slightly lower numerical precision and is slower, even if its cut structure is cleaner. For this reason, AmpForm uses the definition with the single square root by default.
The implementation of the breakup momentum and the phasespace factor that uses the Källén function and decreases numerical precision by a factor \(10\).
Name |
Operations |
Mean abs. difference |
Standard deviation |
1000 evaluations (ms) |
|---|---|---|---|---|
Källén function |
21 |
\(2.03 \cdot 10^{-16}\) |
\(5.54 \cdot 10^{-16}\) |
\(13.63 \pm 0.25\) |
Split square root |
12 |
\(4.07 \cdot 10^{-17}\) |
\(5.05 \cdot 10^{-17}\) |
\(11.23 \pm 0.13\) |
Single square root |
10 |
\(1.57 \cdot 10^{-17}\) |
\(3.51 \cdot 10^{-17}\) |
\(9.57 \pm 0.21\) |
Name |
Operations |
Mean abs. difference |
Standard deviation |
1000 evaluations (ms) |
|---|---|---|---|---|
Källén function |
22 |
\(9.41 \cdot 10^{-17}\) |
\(2.21 \cdot 10^{-16}\) |
\(14.70 \pm 0.23\) |
Split square root |
15 |
\(2.37 \cdot 10^{-17}\) |
\(2.93 \cdot 10^{-17}\) |
\(13.93 \pm 0.15\) |
Single square root |
13 |
\(1.75 \cdot 10^{-17}\) |
\(2.4 \cdot 10^{-17}\) |
\(12.35 \pm 0.20\) |
Behavior along the real axis#
%matplotlib widget