1
- besseljy_debye_cutoff (nu, x) = nu > 2.0 + 1.00035 * x + Base. Math. _approx_cbrt (Float64 (302.681 )* x) && x > 15
2
- # valid when x < v (uniform asymptotic expansions)
1
+ # Debye asymptotic expansions
2
+ # `besseljy_debye`, `hankel_debye`
3
+ #
4
+ # This file contains the debye asymptotic asymptotic expansions for large orders.
5
+ # These routines can be used to calculate `besselj`, `bessely`, `besselk`, `besseli`
6
+ # and the Hankel functions. These are uniform expansions for `besselk` and `besseli` for large orders.
7
+ # The forms used for `besselj` and `bessely` as well as the Hankel functions follow the notation by Matviyenko [1]
8
+ # but also see similar forms provided by NIST 10.19. All of these routines use a core routine for calculating
9
+ # the U-polynomials (NIST 10.41.E9) where the coefficients are dependent on each function. The forms for the modified
10
+ # Bessel functions `besselk` and `besseli` follow NIST 10.41 [3].
11
+ #
12
+ # [1] Matviyenko, Gregory. "On the evaluation of Bessel functions."
13
+ # Applied and Computational Harmonic Analysis 1.1 (1993): 116-135.
14
+ # [2] http://dlmf.nist.gov/10.41.E9
15
+ # [3] https://dlmf.nist.gov/10.41
16
+
3
17
"""
4
18
besseljy_debye(nu, x::T)
5
19
@@ -26,9 +40,9 @@ function besseljy_debye(v, x)
26
40
27
41
return coef_Jn * Uk_Jn, coef_Yn * Uk_Yn
28
42
end
29
- hankel_debye_cutoff (nu, x) = nu < 0.2 + x + Base. Math. _approx_cbrt (- 411 * x)
30
43
31
- # valid when v < x (uniform asymptotic expansions)
44
+ besseljy_debye_cutoff (nu, x) = nu > 2.0 + 1.00035 * x + Base. Math. _approx_cbrt (Float64 (302.681 )* x) && x > 15
45
+
32
46
"""
33
47
hankel_debye(nu, x::T)
34
48
@@ -54,6 +68,8 @@ function hankel_debye(v, x::T) where T
54
68
return coef_Yn * Uk_Yn
55
69
end
56
70
71
+ hankel_debye_cutoff (nu, x) = nu < 0.2 + x + Base. Math. _approx_cbrt (- 411 * x)
72
+
57
73
function Uk_poly_Jn (p, v, p2, x:: T ) where T <: Float64
58
74
if v > 5.0 + 1.00033 * x + Base. Math. _approx_cbrt (1427.61 * x)
59
75
return Uk_poly10 (p, v, p2)
0 commit comments