DBSKIN(3)

SYNOPSIS
SUBROUTINE DBSKIN (X, N, KODE, M, Y, NZ, IERR)

NAME
dbskin - Compute repeated integrals of the K-zero Bessel function.

LIBRARY
SLATEC

CATEGORY
C10F

TYPE
DOUBLE PRECISION (BSKIN-S, DBSKIN-D)

KEYWORDS
BICKLEY FUNCTIONS, EXPONENTIAL INTEGRAL, INTEGRALS OF BESSEL FUNCTIONS, K-ZERO BESSEL FUNCTION

AUTHOR
Amos, D. E., (SNLA)

DESCRIPTION
The following definitions are used in DBSKIN: Definition 1 KI(0,X) = K-zero Bessel function. Definition 2 KI(N,X) = Bickley Function = integral from X to infinity of KI(N-1,t)dt for X .ge. 0 and N = 1,2,... _____________________________________________________________________ DBSKIN computes a sequence of Bickley functions (repeated integrals of the K0 Bessel function); i.e. for fixed X and N and for K=1,..., DBSKIN computes the sequence Y(K) = KI(N+K-1,X) for KODE=1 or Y(K) = EXP(X)*KI(N+K-1,X) for KODE=2, for N.ge.0 and X.ge.0 (N and X cannot be zero simultaneously). INPUT X is DOUBLE PRECISION X - Argument, X .ge. 0.0D0 N - Order of first member of the sequence N .ge. 0 KODE - Selection parameter KODE = 1 returns Y(K)= KI(N+K-1,X), K=1,M = 2 returns Y(K)=EXP(X)*KI(N+K-1,X), K=1,M M - Number of members in the sequence, M.ge.1 OUTPUT Y is a DOUBLE PRECISION VECTOR Y - A vector of dimension at least M containing the sequence selected by KODE. NZ - Underflow flag NZ = 0 means computation completed = 1 means an exponential underflow occurred on KODE=1. Y(K)=0.0D0, K=1,...,M is returned KODE=1 AND Y(K)=0.0E0, K=1,...,M IS RETURNED IERR - Error flag IERR=0, Normal return, computation completed IERR=1, Input error, no computation IERR=2, Error, no computation Algorithm termination condition not met The nominal computational accuracy is the maximum of unit roundoff (=D1MACH(4)) and 1.0D-18 since critical constants are given to only 18 digits. BSKIN is the single precision version of DBSKIN. *Long Description: Numerical recurrence on (L-1)*KI(L,X) = X(KI(L-3,X) - KI(L-1,X)) + (L-2)*KI(L-2,X) is stable where recurrence is carried forward or backward away from INT(X+0.5). The power series for indices 0,1 and 2 on 0.le.X.le.2 starts a stable recurrence for indices greater than 2. If N is sufficiently large (N.gt.NLIM), the uniform asymptotic expansion for N to INFINITY is more economical. On X.gt.2 the recursion is started by evaluating the uniform expansion for the three members whose indices are closest to INT(X+0.5) within the set N,...,N+M-1. Forward recurrence, backward recurrence or both complete the sequence depending on the relation of INT(X+0.5) to the indices N,...,N+M-1.

REFERENCES
D. E. Amos, Uniform asymptotic expansions for exponential integrals E(N,X) and Bickley functions KI(N,X), ACM Transactions on Mathematical Software, 1983. D. E. Amos, A portable Fortran subroutine for the Bickley functions KI(N,X), Algorithm 609, ACM Transactions on Mathematical Software, 1983.

ROUTINES CALLED
D1MACH, DBKIAS, DBKISR, DEXINT, DGAMRN, I1MACH

REVISION HISTORY (YYMMDD)
820601 DATE WRITTEN
890531 Changed all specific intrinsics to generic. (WRB)
890911 Removed unnecessary intrinsics. (WRB)
891006 Cosmetic changes to prologue. (WRB)
891009 Removed unreferenced statement label. (WRB)
891009 REVISION DATE from Version 3.2
891214 Prologue converted to Version 4.0 format. (BAB)
920501 Reformatted the REFERENCES section. (WRB)