You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# For negative orders and arguments the previous identities are combined.
197
+
#
198
+
# The identities are computed by calling the `bessely_positive_args(nu, x)` function which computes Y_{ν}(x)
199
+
# for positive arguments and orders. For integer orders up to 250, forward recurrence is used starting from
200
+
# `bessely0` and `bessely1` routines for calculation of Y_{n}(x) of the zero and first order.
201
+
# For small arguments, Y_{ν}(x) is calculated from the power series (`bessely_power_series(nu, x`) form of J_{ν}(x) using the connection formula [1].
202
+
#
203
+
# When x < ν and ν being reasonably large, the debye asymptotic expansion (Eq. 33; [3]) is used `besseljy_debye(nu, x)`.
204
+
# When x > ν and x being reasonably large, the Hankel function is calculated from the debye expansion (Eq. 29; [3]) with `hankel_debye(nu, x)`
205
+
# and Y_{n}(x) is calculated from the imaginary part of the Hankel function.
206
+
# These expansions are not uniform so are not strictly used when the above inequalities are true, therefore, cutoffs
207
+
# were determined depending on the desired accuracy. For large arguments x >> ν, the phase functions are used (Eq. 15 [4]) with `besseljy_large_argument(nu, x)`.
208
+
#
209
+
# For values where the expansions for large arguments and orders are not valid, forward recurrence is employed after shifting the order down
210
+
# to where these expansions are valid then using recurrence. In general, the routine will be the slowest when ν ≈ x as all methods struggle at this point.
211
+
# Additionally, the Hankel expansion is only accurate (to Float64 precision) when x > 19 and the power series can only be computed for x < 7
212
+
# without loss of precision. Therefore, when x > 19 the Hankel expansion is used to generate starting values after shifting the order down.
213
+
# When x ∈ (7, 19) and ν ∈ (0, 2) Chebyshev approximation is used with higher orders filled by recurrence.
214
+
#
215
+
# [1] https://dlmf.nist.gov/10.2#E3
216
+
# [2] Bremer, James. "An algorithm for the rapid numerical evaluation of Bessel functions of real orders and arguments."
217
+
# Advances in Computational Mathematics 45.1 (2019): 173-211.
218
+
# [3] Matviyenko, Gregory. "On the evaluation of Bessel functions."
219
+
# Applied and Computational Harmonic Analysis 1.1 (1993): 116-135.
220
+
# [4] Heitman, Z., Bremer, J., Rokhlin, V., & Vioreanu, B. (2015). On the asymptotics of Bessel functions in the Fresnel regime.
221
+
# Applied and Computational Harmonic Analysis, 39(2), 347-356.
222
+
# [5] Ratis, Yu L., and P. Fernández de Córdoba. "A code to calculate (high order) Bessel functions based on the continued fractions method."
0 commit comments