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
Bessel functions of the first kind, denoted as $J_{\nu}(x)$, can be called with `besselj(nu, x)` where `nu` is the order of the Bessel function with argument `x`. Routines are also available for orders `0` and `1` which can be called with `besselj0(x)` and `besselj1(x)`.
Bessel functions of the second kind, denoted as $Y_{\nu}(x)$, can be called with `bessely(nu, x)`. Routines are also available for orders `0` and `1` which can be called with `bessely0(x)` and `bessely1(x)`.
Modified Bessel functions of the first kind, denoted as $I_{\nu}(x)$, can be called with `besseli(nu, x)` where `nu` is the order of the Bessel function with argument `x`. Routines are also available for orders `0` and `1` which can be called with `besseli0(x)` and `besseli1`. Exponentially scaled versions of these functions $I_{\nu}(x) * e^{-x}$ are also provided which can be called with `besseli0x(nu, x)`, `besseli1x(nu, x)`, and `besselix(nu, x)`.
75
+
Modified Bessel functions of the first kind, denoted as $I_{\nu}(x)$, can be called with `besseli(nu, x)` where `nu` is the order of the Bessel function with argument `x`. Routines are also available for orders `0` and `1` which can be called with `besseli0(x)` and `besseli1(x)`. Exponentially scaled versions of these functions $I_{\nu}(x) \cdot e^{-x}$ are also provided which can be called with `besseli0x(x)`, `besseli1x(x)`, and `besselix(nu, x)`.
Modified Bessel functions of the second kind, denoted as $K_{\nu}(x)$, can be called with `besselk(nu, x)`. Routines are available for orders `0` and `1` which can be called with `besselk0(x)` and `besselk1`. Exponentially scaled versions of these functions $K_{\nu}(x) * e^{x}$ are also provided which can be called with `besselk0x(nu, x)`, `besselk1x(nu, x)`, and `besselkx(nu, x)`.
105
+
Modified Bessel functions of the second kind, denoted as $K_{\nu}(x)$, can be called with `besselk(nu, x)`. Routines are available for orders `0` and `1` which can be called with `besselk0(x)` and `besselk1(x)`. Exponentially scaled versions of these functions $K_{\nu}(x) \cdot e^{x}$ are also provided which can be called with `besselk0x(x)`, `besselk1x(x)`, and `besselkx(nu, x)`.
106
106
107
107
```julia
108
-
julia>v, x =1.4, 12.3
108
+
julia>ν, x =1.4, 12.3
109
109
110
-
julia>besselk(v, x)
110
+
julia>besselk(ν, x)
111
111
1.739055243080153e-6
112
112
113
113
julia>besselk0(x)
@@ -122,23 +122,25 @@ julia> besselk1(x)
122
122
Support is provided for negative arguments and orders only if the return value is real. A domain error will be thrown if the return value is complex. See https://github.com/heltonmc/Bessels.jl/issues/30 for more details.
123
123
124
124
```julia
125
-
julia>(v,x)=13.0, -1.0
126
-
julia>besseli(v,x)
127
-
-1.9956316782072008e-14
125
+
julia>ν, x=13.0, -1.0
126
+
julia>besseli(ν, x)
127
+
-1.9956316782072005e-14
128
128
129
-
julia>(v, x)=-14.0, -9.9
130
-
julia>besseli(v,x)
129
+
julia>ν, x =-14.0, -9.9
130
+
julia>besseli(ν, x)
131
131
0.2892290867115618
132
132
133
-
julia>(v,x)=12.6, -3.0
134
-
julia>besseli(v,x)
133
+
julia>ν, x=12.6, -3.0
134
+
julia>besseli(ν, x)
135
135
ERROR: DomainError with -3.0:
136
136
Complex result returned for real arguments. Complex arguments are currently not supported
We also provide an unexported gamma function for real arguments that can be called with `Bessels.gamma(x)`.
@@ -174,7 +176,7 @@ In general the largest relative errors are observed near the zeros of Bessel fun
174
176
175
177
# Benchmarks
176
178
177
-
We give brief performance comparisons to the implementations provided by [SpecialFunctions.jl](https://github.com/JuliaMath/SpecialFunctions.jl). In general, special functions are computed with separate algorithms in different domains leading to computational time being dependent on argument. For these comparisons we show the relative speed increase for computing random values between `0` and `100` for `x` and order `nu`. In some ranges, performance may be significantly better while others more similar.
179
+
We give brief performance comparisons to the implementations provided by [SpecialFunctions.jl](https://github.com/JuliaMath/SpecialFunctions.jl). In general, special functions are computed with separate algorithms in different domains leading to computational time being dependent on argument. For these comparisons we show the relative speed increase for computing random values between `0` and `100` for `x` and order `nu`. In some ranges, performance may be significantly better while others will be more similar.
0 commit comments