Chapter 6: Bessel Functions

BSIES

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:                              CALL BSIES (XNU, X, N, BSI)

Specific:                             The specific interface names are S_BSIES and D_BSIES.

FORTRAN 77 Interface

Single:                                CALL BSIES (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, Iv1(10.0), ν = 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, &

           ' (', F6.3, ') = ', F6.3)

      END

Output

 

 exp(-10.000) * I sub  0.000 (10.000) =  0.128

 exp(-10.000) * I sub  1.000 (10.000) =  0.121

 exp(-10.000) * I sub  2.000 (10.000) =  0.104

 exp(-10.000) * I sub  3.000 (10.000) =  0.080

 exp(-10.000) * I sub  4.000 (10.000) =  0.056

 exp(-10.000) * I sub  5.000 (10.000) =  0.035

 exp(-10.000) * I sub  6.000 (10.000) =  0.020

 exp(-10.000) * I sub  7.000 (10.000) =  0.011

 exp(-10.000) * I sub  8.000 (10.000) =  0.005

 exp(-10.000) * I sub  9.000 (10.000) =  0.002



http://www.vni.com/
PHONE: 713.784.3131
FAX:713.781.9260