hyperspherical_bessels_smallnu.f90 File Source

Approximate open-universe hyperspherical Bessel functions for nu << L.

Implements

u_l^nu(chi)  ~ = sqrt(sinh(pi nu)/(pi nu))
K_{i nu}( 2 Lambda_{l nu} exp(-chi) )

phi_l^nu(chi) = u_l^nu(chi)/sinh(chi)

with

log Lambda_{l nu} = Im log Gamma(l + 1 + i nu)/nu,

using a branch-continuous implementation.  The code evaluates the scaled
Macdonald function directly, avoiding overflow in the large exp(pi nu/2)
and small K_{i nu} factors.

This is intended as a fast special branch for the open K = -1 case when
nu/L is small.  This version is tuned for O(1e-4) peak-normalized use,
not full double-precision special-function evaluation. The scaled
K_{i nu} router now uses:

the I_{i nu} power series while q = x^2/(4 nu) is modest;
a leading uniform Airy turning-point approximation for nu >= 20
outside the safe series region;
the old real-axis integral only for nu < 20.

O(1e-4) validity:
l > 20 and nu <= max(1.2e-4 l^1.5, min(12*(l/1000)^3, 0.032*l)).
For l >= 3000, a leading Liouville amplitude correction broadens the
validated high-l gate to max(old_gate, 0.04*l, min(8*(l/1000)^2, 0.16*l)).
Assume inputs all pre-validated

Dependencies