IMSL_BESSK_EXP

Syntax | Return Value | Arguments | Keywords | Discussion | Example | Errors | Version History

The IMSL_BESSK_EXP function evaluates the exponentially scaled modified Bessel function of the third kind of orders zero and one.

Note
This routine requires an IDL Advanced Math and Stats license. For more information, contact your ITT Visual Information Solutions sales or technical support representative.

Syntax

Result = IMSL_BESSK_EXP(order, x [, /DOUBLE])

Return Value

The value of the exponentially scaled Bessel function exK0(x) or exK1(x)

Arguments

order

Order of the function. The order must be either zero or one.

x

Argument for which the function value is desired.

Keywords

DOUBLE

If present and nonzero, double precision is used.

Discussion

If the argument order is zero, the Bessel function K0(x) is defined to be:

IMSL_BESSK_EXP-28.jpg

If order is one, the value of the Bessel function K1(x):

IMSL_BESSK_EXP-29.jpg

The argument x must be greater than zero for the result to be defined.

Example

The expression:

IMSL_BESSK_EXP-30.jpg

is computed directly by calling IMSL_BESSK_EXP, and indirectly by calling IMSL_BESSK. The absolute difference is printed. For large x, the internal scaling provided by IMSL_BESSK_EXP avoids underflow that may occur in IMSL_BESSK.

ans = IMSL_BESSK_EXP(0, 0.5) 
error = ABS(ans - (EXP(0.5))*IMSL_BESSK(0, 0.5)) 
PRINT, ans 
   1.52411 
PRINT, 'Error =', error 
Error = 1.1920929e-07 

Errors

Fatal Errors

MATH_SMALL_ARG_OVERFLOW—The argument x must be large enough (x > max
(1/b, s) where s is the smallest representable positive number and b is the largest representable number) that K1(x) does not overflow.

Version History

6.4

Introduced