Evaluates a sequence of exponentially scaled modified Bessel functions of the first kind with nonnegative real order and real positive arguments.
Required Arguments
XNU — Real argument which is the lowest order desired. (Input) It must be at least zero and less than one.
X — Real positive argument for which the sequence of Bessel functions is to be evaluated. (Input) It must be nonnegative.
N — Number of elements in the sequence. (Input)
BSI — Vector of length N containing the values of the function through the series. (Output) BSI(I) contains the value of the Bessel function of order I‑ 1 + XNU at x for I = 1 to N multiplied by exp(–X).
FORTRAN 90 Interface
Generic: CALLBSIES (XNU, X, N, BSI)
Specific: The specific interface names are S_BSIES and D_BSIES.
FORTRAN 77 Interface
Single: CALLBSIES (XNU, X, N, BSI)
Double: The double precision name is DBSIES.
Description
Function BSIES evaluates , for k = 1, …, n. For the definition of Iv(x), see BSIS. The algorithm is based on a code due to Cody (1983), which uses backward recursion.
Example
In this example, Iv−1(10.0), v = 1, …, 10 is computed and printed.
USE BSIES_INT
USE UMACH_INT
IMPLICIT NONE
! Declare variables
INTEGER N
PARAMETER (N=10)
!
INTEGER K, NOUT
REAL BSI(N), X, XNU
! Compute
XNU = 0.0
X = 10.0
CALL BSIES (XNU, X, N, BSI)
! Print the results
CALL UMACH (2, NOUT)
DO 10 K=1, N
WRITE (NOUT,99999) X, XNU+K-1, X, BSI(K)
10 CONTINUE
99999 FORMAT (' exp(-', F6.3, ') * I sub ', F6.3, &