[J3] More Bessel functions

Van Snyder van.snyder at sbcglobal.net
Mon Jan 18 22:29:30 UTC 2021


Bessel functions of the first and second kind for integer orders were
added in 2008.

The need for modified Bessel functions is not as common, but still
exists.

Ordinary Bessel functions' asymptotic behavior is ~1/sqrt(x).

Modified Bessel functions' asymptotic behaviors are ~exp(x)/sqrt(x) and
~exp(-x)/sqrt(x). Therefore, like the error function, scaled versions
should be provided.
For 202y, I propose adding

Bessel_I0 (X)
Bessel_I1(X)
Bessel_IN(N,X)
Bessel_IN(N1,N2,X)
Bessel_K0 (X)
Bessel_K1(X)
Bessel_KN(N,X)
Bessel_KN(N1,N2,X)

and versions with names ending with _Scaled.

The "scaled" versions for the modified Bessel function of the first
kind would produce exp(-x) Bessel_I#, and for the second kind would
produce exp(x) Bessel_K#. Those products behave asymptotically as
1/sqrt(x), so overflow and underflow are avoided for much larger
arguments than for the unscaled versions.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.j3-fortran.org/pipermail/j3/attachments/20210118/889e3c9e/attachment.htm>


More information about the J3 mailing list