next up previous index
Next: C315 Riemann Zeta Up: CERNLIB Previous: C312 Bessel Functions

C313 Modified Bessel Functions I and K of Orders Zero and One

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

Function subprograms BESI0, BESI1, BESK0, BESK1 and DBESI0, DBESI1, DBESK0, DBESK1 calculate the modified Bessel functions

I0(x), I1(x), K0(x), K1(x)

for real arguments x, where x>0 for K0(x) and K1(x) .

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

Structure:

FUNCTION subprograms
User Entry Names:
BESI0, BESI1, BESK0, BESK1, EBESI0, EBESI1, EBESK0, EBESK1,
DBESI0, DBESI1, DBESK0, DBESK1, DEBSI0, DEBSI1, DEBSK0, DEBSK1

Files Referenced: Unit 6
External References: MTLMTR (N002), ABEND (Z035)

Usage:

In any arithmetic expression, BESI0(X) or DBESI0(X) has the value I0(X) ,
BESI1(X) or DBESI1(X) has the value I1(X) ,
BESK0(X) or DBESK0(X) has the value K0(X) ,
BESK1(X) or DBESK1(X) has the value K1(X) ,
EBESI0(X) or DEBSI0(X) has the value exp(-|X|) * I0(X) ,
EBESI1(X) or DEBSI1(X) has the value exp(-|X|) * I1(X) ,
EBESK0(X) or DEBSK0(X) has the value exp(|X|) * K0(X) ,
EBESK1(X) or DEBSK1(X) has the value exp(|X|) * K1(X) , where BESI0 etc. are of type REAL, DBESI0 etc. are of type DOUBLE PRECISION, and X has the same type as the function name.

Method:

Approximation by rational functions (I for |x|<8, K for 1 ≤x ≤5 ), by an algorithm based on power series (K for 0 < x < 1), or else by truncated Chebyshev series.

Accuracy:

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

Error handling:

Error C313.1: X ≤0 for K0(x) or K1(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) 329, 331, 363, 366.
  2. N.M. Temme, On the numerical evaluation of the modified Bessel function of the third kind, J. Comp. Phys. 19 (1975) 324--337.

C315



next up previous index
Next: C315 Riemann Zeta Up: CERNLIB Previous: C312 Bessel Functions


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