real(dl)
hyperspherical_turning_point(l, K, nu)
integer intent(in) :: l
integer intent(in) :: K
real(dl) intent(in) :: nu
real(dl)
phi_derivative(l, K, nu, chi)
Derivative d phi_l^nu(K, chi) / d chi from the adjacent-l recurrence.
integer intent(in) :: l
integer intent(in) :: K
real(dl) intent(in) :: nu
real(dl) intent(in) :: chi
real(dl)
phi_derivative_l0(K, nu, chi)
integer intent(in) :: K
real(dl) intent(in) :: nu
real(dl) intent(in) :: chi
real(dl)
phi_derivative_root(obj, chi)
class(*) :: obj
real(dl) intent(in) :: chi
real(dl)
phi_first_peak_amplitude(l, K, nu, peak_chi, no_peak_found)
Absolute amplitude at the first maximum at or after the turning point.
If optional no_peak_found is true, the returned amplitude is evaluated at
peak_chi/search-boundary rather than at a stationary point.
integer intent(in) :: l
integer intent(in) :: K
real(dl) intent(in) :: nu
real(dl) intent(out), optional :: peak_chi
logical intent(out), optional :: no_peak_found
real(dl)
phi_first_peak_chi(l, K, nu, no_peak_found)
First maximum at or after the classical turning point, matching the
normalization convention used by the Python mathutils tests.
If the derivative is still positive when the finite search boundary is
reached, no stationary peak has been found. In that case chi_peak is the
search boundary and optional no_peak_found is returned true.
integer intent(in) :: l
integer intent(in) :: K
real(dl) intent(in) :: nu
logical intent(out), optional :: no_peak_found
real(dl)
phi_recurs(l, K, nu, chi)
Recursive evaluation of the regular hyperspherical Bessel function phi_l^nu(K,chi).
Precondition: chi >= 0. For closed K = +1, non-negative chi is folded
into [0,pi/2] using the closed-space parity relations.
The recurrence and exact l = 0,1 seeds follow Abbott & Schaefer
(1986, ApJ 308, 546). As in Tram (2017, arXiv:1311.0839) and
Lesgourgues & Tram (2014, arXiv:1312.2697), upward recurrence is used
only in the safe oscillatory region; elsewhere Miller backward
recurrence is started from a stable top boundary condition.
For K = +1 Miller starts use the finite endpoint where
b_j = sqrt(nu^2-j^2) vanishes at j = nu when nu-l > 64; closer to the endpoint
they use the closed-space Gegenbauer representation, which is the CLASS
stable-recursion cure for the finite closed-spectrum tail.
integer intent(in) :: l
integer intent(in) :: K
real(dl) intent(in) :: nu
real(dl) intent(in) :: chi