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

Author(s): K.S. Kölbig Library: MATHLIB
Submitter: Submitted: 07.12.1970
Language: Fortran Revised: 15.03.1993

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

displaymath128

for real arguments x, where x>0 for tex2html_wrap_inline134 and tex2html_wrap_inline136 .

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, ABEND

Usage:

In any arithmetic expression,

tex2html_wrap174

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 tex2html_wrap_inline160 ), 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: tex2html_wrap_inline166 for tex2html_wrap_inline168 or tex2html_wrap_inline170 . The function value is set equal to zero, and a message is written on Unit 6 unless subroutine MTLSET 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.
tex2html_wrap_inline172

Michel Goossens Tue Jun 4 21:22:23 METDST 1996