 Computer Physics Communications Program Library Programs in Physics & Physical Chemistry [Licence| Download | New Version Template] adjy_v1_0.gz(3 Kbytes) Manuscript Title: ELF and GNOME: two tiny codes to evaluate the real zeros of the Bessel functions of the first kind for real orders. Authors: J. Segura, A. Gil Program title: ELF, GNOME Catalogue identifier: ADJY_v1_0Distribution format: gz Journal reference: Comput. Phys. Commun. 117(1999)250 Programming language: Fortran. Computer: Hewlett Packard 715/100. Operating system: UNIX. Keywords: General purpose, First kind, Bessel functions, Zeros of bessel, Functions, Newton method. Classification: 4.7. Nature of 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... Solution method: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: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 1. The program GNOME has been limited to work in the range nu > -1. ELF can be used for any real nu with the limitations above described. Running time: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).
 Disclaimer | ScienceDirect | CPC Journal | CPC | QUB