next up previous index
Next: C313 Modified Bessel Up: CERNLIB Previous: C309 Coulomb Wave

C312 Bessel Functions J and Y of Orders Zero and One

Routine ID: C312
Author(s): K.S. KölbigLibrary: MATHLIB
Submitter: Submitted: 18.10.1967
Language: FortranRevised: 15.03.1993

Function subprograms BESJ0, BESJ1, BESY0, BESY1 and DBESJ0, DBESJ1, DBESY0, DBESY1 calculate the Bessel functions

J0(x), J1(x), Y0(x), Y1(x)

for real arguments x, where x>0 for Y0(x) and Y1(x) .

On CDC and Cray computers, the double-precision versions DBESJ0 etc. are not available.

Structure:

FUNCTION subprograms
User Entry Names: BESJ0, BESJ1, BESY0, BESY1, DBESJ0, DBESJ1, DBESY0, DBESY1
Files Referenced: Unit 6
External References: MTLMTR (N002), ABEND (Z035)

Usage:

In any arithmetic expression, BESJ0(X) or DBESJ0(X) has the value J0(X) ,
BESJ1(X) or DBESJ1(X) has the value J1(X) ,
BESY0(X) or DBESY0(X) has the value Y0(X) ,
BESY1(X) or DBESY1(X) has the value Y1(X) , where BESJ0 etc. are of type REAL, DBESJ0 etc. are of type DOUBLE PRECISION, and X has the same type as the function name.

Method:

Approximation by truncated Chebyshev series.

Accuracy:

BESJ0 etc. (except on CDC and Cray computers) have full single-precision accuracy. For most values of the argument X, DBESJ0 etc. (and BESJ0 etc. on CDC and Cray computers) have an accuracy of approximately one significant digit less than the machine precision.

Error handling:

Error C312.1: X ≤0 for Y0(x) or Y1(x) . The function value is set equal to zero, and a message is written on Unit 6 unless subroutine MTLSET (N002) has been called.

References:

  1. Y.L. Luke, Mathematical functions and their approximations (Academic Press, New York 1975) 322--324.

C313



next up previous index
Next: C313 Modified Bessel Up: CERNLIB Previous: C309 Coulomb Wave


Janne Saarela
Mon Apr 3 15:06:23 METDST 1995