Routine ID: C313 | |
---|---|
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
for real arguments x, where x>0 for and .
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 |
Usage:
In any arithmetic expression,
BESI0(X) or DBESI0(X) has the value
,
BESI1(X) or DBESI1(X) has the value
,
BESK0(X) or DBESK0(X) has the value
,
BESK1(X) or DBESK1(X) has the value
,
EBESI0(X) or DEBSI0(X) has the value
,
EBESI1(X) or DEBSI1(X) has the value
,
EBESK0(X) or DEBSK0(X) has the value
,
EBESK1(X) or DEBSK1(X) has the value
,
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 ), 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: for or . The function value is set equal to zero, and a message is written on Unit 6 unless subroutine MTLSET (N002) has been called.
References: