Computer Physics Communications Program LibraryPrograms 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<gamma<<1). In this case, the best precision reachable is 10**-16/gamma; besides, one should demand a precision eps such that eps < gamma when evaluating the first zero for kappa > 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 |