Elsevier Science Home
Computer Physics Communications Program Library
Full text online from Science Direct
Programs in Physics & Physical Chemistry
CPC Home

[Licence| Download | New Version Template] abvm_v1_0.gz(12 Kbytes)
Manuscript Title: A Fortran subroutine for the Bessel function Jn(x) of order 0 to 10.
Authors: J.P. Coleman
Program title: REALJN
Catalogue identifier: ABVM_v1_0
Distribution format: gz
Journal reference: Comput. Phys. Commun. 21(1980)109
Programming language: Fortran.
Computer: IBM 370.
Operating system: MTS.
RAM: 2K words
Word size: 32
Keywords: Bessel functions, Chebyshev series, General purpose.
Classification: 4.7.

Nature of problem:
The subroutine REALJN allows rapid calculation of the Bessel function Jn(x) of real argument x and integer order n, for n in range 0 to 10.

Solution method:
The Bessel function is calculated by summing Chebyshev series, the coefficients of which are specified in DATA initialization statements within the subroutine. Separate Chebyshev series are used for the intervals |x| <=8 and |x| >8, respectively.

The order n must be a positive integer from 0 to 10 inclusive. To permit other values of n it would be necessary to provide the coefficients of the relevant Chebyshev series.

Unusual features:
The subroutine REALJN allows the user to choose his own compromise between speed and accuracy in each subroutine call, either by specifying the number of terms to be retained in the Chebyshev series or by prescribing an upper bound on the acceptable truncation error.

Running time:
The execution time depends on the order n, on the required accuracy, and on whether or not the relevant value of |x| exceeds 8. Times recorded range from about 7.8 *10**-5 to 2.7* 10**-4 s per subroutine call. More detailed information is given in the paper.