Relative error plot for Besseli(nu, x) #126
inkydragon
started this conversation in
General
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
I came across a new implementation of the Bessel I function (Zaghloul, M. R., & Johnson, S. G. (2025))
that reports improvements in both accuracy and speed compared to Algorithm 644.
The work has not yet been formally published, so the source code is currently unavailable.
The paper provide a figure showing an improved domain partitioning for the function.

I analyzed the implementation in Bessels.jl and produced a plot of its current algorithmic domain partitioning.
I then selected several parameter combinations and plotted the resulting relative error distribution. These results suggest that the current computational approach has room for further improvement.
Rel error summary
besseli0(x)besseli1(x)besseli9(x)besseli24(x)besseli30(x)besseli90(x)Rel error plots
besseli0
besseli1
besseli9
NOTE: error↑↑ where x = 35
besseli24
besseli30
NOTE: There are some underflow issues near x = 0
besseli90
When x start from 1.0
Underflow around 0?
besseli24
besseli30
besseli90
env
ref
Bessels.jl Acc test - Gist
Zaghloul, M. R., & Johnson, S. G. (2025).
Efficient Calculation of Modified Bessel Functions of the First Kind,
I_{\nu}(z), for Real Orders and Complex Arguments:Fortran Implementation with Double and Quadruple Precision.
arXiv preprint arXiv:2505.09770.
Amos, D E (1983). Computation of Bessel functions of complex argument and large order. SAND-83-0643. https://doi.org/10.2172/5903937
All reactions