What do folks use to find Bessel function zeros in fortran?
http://mathworld.wolfram.com/BesselFunctionZeros.html
I see that gfortran has Intrinsic for Bessel functions,
but not for finding the zeros
https://gcc.gnu.org/onlinedocs/gfortran/Intrinsic-Procedures.html#Intrinsic-Procedures
"BESSEL_J0: Bessel function of the first kind of order 0
BESSEL_J1: Bessel function of the first kind of order 1
BESSEL_JN: Bessel function of the first kind
BESSEL_Y0: Bessel function of the second kind of order 0
BESSEL_Y1: Bessel function of the second kind of order 1
BESSEL_YN: Bessel function of the second kind"
The above is really nice that Fortran has these. But what about
for the zeros?
I see some people have written Fortran functions for this, such
as this page
http://jean-pierre.moreau.pagesperso-orange.fr/Fortran/mjyzo_f90.txt
"SUBROUTINE JYZO(N,NT,RJ0,RJ1,RY0,RY1)
! Purpose: Compute the zeros of Bessel functions Jn(x),
! Yn(x), and their derivatives
"
But wanted to ask first, if there is another way to do
this in Fortran, or another standard library to use, other
than having to download code from the internet and use it.
I searched
http://www.netlib.org also, and see many
functions there for Bessel but did not see one for its zeros
so far. Looked at Lapack, but saw nothing there either.
I think Bessel functions zeros should be an Intrinsic. This
is used when solving PDE's such a wave and heat PDE,
and easier to use than one having to do root finding
and change the interval each time.
There is also spherical bessel functions zeros which is useful
to have as well.
I think Fortran should spend its efforts in adding more
such useful functions such as these. These functions and
much more, come build-in in Mathematica, Maple and may be
Matlab as well, out of the box, which makes it easy to use.
http://reference.wolfram.com/language/ref/BesselJZero.html
--Nasser