pub(super) fn spectral_sw1d<const N: usize>(
(l, m): (i32, i32),
k: Jet<N>,
r: [Jet<N>; 3],
kpar: Jet<N>,
reciprocal: Jet<N>,
period: Jet<N>,
) -> Option<(Jet<N>, Rounding<N>)>Expand description
The spectral series of a 1D spherical sum along z off the axis, with first-order bounds on its rounding errors in units of epsilon.
§Formula
By Poisson’s formula over the chain,
S = (-i)^l i^|m| (-1)^m N_lm pi / (k a) ((x ± i y) / (k rho^2))^|m| sum_q F_l^m(q / k) u_q^|m| H_|m|(u_q) exp(-i q z) over the diffraction orders
q = kpar + g reciprocal, with u_q = k_q rho, k_q = sqrt(k^2 - q^2) and the
Legendre factor F_l^m = P_l^m / sin^|m| continued with sin = k_q / k.
§Branch
Im k_q >= 0: the root of the Ewald reciprocal sums at every split (see
split_sheet).
§Why
Evanescent orders fall like (|q| / |k|)^l exp(-|q| rho), so the series converges
fast off the axis, where the Ewald sum cancels. The value stops on its own moduli
and the derivatives on the largest of all, both at QUIET_SHELL of them, so
value-only and jet evaluations return the same value and bound.
None on the axis, for Re k <= 0, next to a diffraction threshold, beyond
SERIES_SHELLS orders on either side or at a non-finite term.