BSKS

Evaluates a sequence of modified Bessel functions of the second kind of fractional order.

Required Arguments

XNU — Fractional order of the function. (Input)
XNU must be less than one in absolute value.

X — Argument for which the sequence of Bessel functions is to be evaluated. (Input)

NIN — Number of elements in the sequence. (Input)

BK — Vector of length NIN containing the values of the function through the series. (Output)

FORTRAN 90 Interface

Generic: CALL BSKS (XNU, X, NIN, BK)

Specific: The specific interface names are S_BSKS and D_BSKS.

FORTRAN 77 Interface

Single: CALL BSKS (XNU, X, NIN, BK)

Double: The double precision name is DBSKS.

Description

The Bessel function Kv(x) is defined to be

 

Currently, v is restricted to be less than one in absolute value. A total of n values is stored in the array BK. For positive n, BK(1) = Kv(x), BK(2) = Kv+1(x), , BK(n) = Kv+n1(x). For negative n, BK(1) = Kv(x), BK(2) = Kv1(x), , BK(n) = Kv+n+1

BSKS is based on the work of Cody (1983).

Comments

1. If NIN is positive, BK(1) contains the value of the function of order XNU, BK(2) contains the value of the function of order XNU + 1, and BK(NIN) contains the value of the function of order XNU + NIN  1.

2. If NIN is negative, BK(1) contains the value of the function of order XNU, BK(2) contains the value of the function of order XNU  1, and BK(ABS(NIN)) contains the value of the function of order XNU + NIN + 1.

Example

In this example, Kv1(10.0), v = 1, , 10 is computed and printed.

 

USE BSKS_INT

USE UMACH_INT

 

IMPLICIT NONE

! Declare variables

INTEGER NIN

PARAMETER (NIN=10)

!

INTEGER K, NOUT

REAL BS(NIN), X, XNU

! Compute

XNU = 0.0

X = 10.0

CALL BSKS (XNU, X, NIN, BS)

! Print the results

CALL UMACH (2, NOUT)

DO 10 K=1, NIN

WRITE (NOUT,99999) XNU+K-1, X, BS(K)

10 CONTINUE

99999 FORMAT (' K sub ', F6.3, ' (', F6.3, ') = ', E10.3)

END

Output

 

K sub 0.000 (10.000) = 0.178E-04

K sub 1.000 (10.000) = 0.186E-04

K sub 2.000 (10.000) = 0.215E-04

K sub 3.000 (10.000) = 0.273E-04

K sub 4.000 (10.000) = 0.379E-04

K sub 5.000 (10.000) = 0.575E-04

K sub 6.000 (10.000) = 0.954E-04

K sub 7.000 (10.000) = 0.172E-03

K sub 8.000 (10.000) = 0.336E-03

K sub 9.000 (10.000) = 0.710E-03