PROGRAM SUMMARY
Title of program:
ELF, GNOME
Catalogue identifier:
ADJY
Ref. in CPC:
117(1999)250
Operating system: UNIX
Number of lines in distributed program, including test data, etc:
336
Programming language used: Fortran
Computer: Hewlett Packard, 715/100
Nature of physical problem:
We include two codes in order to evaluate the zeros of first kind Bessel
functions for real orders nu:
The subroutine ELF finds the zero jnu,s of the first kind Bessel
function Jnu(x) in the neighbourhood of a given starting value x0 (x0
and jnu,s in the same branch of Hnu(x)=Jnu(x)/Jnu-1(x)).
The subroutine GNOME finds the zeros in a given interval [xmin, xmax].
The zeros of first kind Bessel functions appear in the solution of many
different physical and engineering applications: wave guides,
diffraction by a cylinder, quantum billiards, plasma physics, cyclic
membrane vibrations...
Method of solution
We have built a Newton-Raphson method based on the monotonicity
properties of the function fnu(x) = x**(2nu-1)Jnu(x)/Jnu-1(x); this
method has been shown to be convergent for any real order nu and any
starting value x0.
Restrictions on the complexity of the problem
Typical running time
For positive orders the codes have no limitation in practice, except for
the possible slow convergence of the continued fraction for x >> |nu|.
We have limited to 10**5 the maximum allowed number of iterations for
the evaluation of the continued fraction Hnu(x) = Jnu(x)/Jnu-1(x). This
way, zeros larger than 10**6 are not evaluated.
The codes work with a precision eps chosen by the user. The codes
achieve full double precision except when evaluating the first positive
zero for real orders nu = -kappa + gamma, kappa = 1,2,... and
gamma = nu-INT(nu)+1 a small real number (0
Of the order of 10**-2s for each evaluated zero (in a HP 715/100
machine), increasing as larger zeros are evaluated and larger orders are
considered (see LONG WRITE-UP, section 5).