IMSL_BESSI_EXP

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

The IMSL_BESSI_EXP function evaluates the exponentially scaled modified Bessel function of the first 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_BESSI_EXP(order, x [, /DOUBLE])

Return Value

The value of the exponentially scaled modified Bessel function of the first kind of order zero or one evaluated at 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 is I0(x) is defined to be:

IMSL_BESSI_EXP-26.jpg

If order is one, the function I1(x) is defined to be:

IMSL_BESSI_EXP-27.jpg

If order is one then IMSL_BESSI_EXP underflows if |x|/2 underflows.

Example

The expression e-4.5I0 (4.5) is computed directly by calling IMSL_BESSI_EXP and indirectly by calling IMSL_BESSI. The absolute difference is printed. For large x, the internal scaling provided by IMSL_BESSI_EXP avoids overflow that may occur in IMSL_BESSI.

Output

ans = IMSL_BESSI_EXP(0, 4.5) 
error = ABS(ans - EXP(-4.5)*IMSL_BESSI(0, 4.5)) 
PRINT, ans 
     0.194198 
PRINT, 'Error =', error 
Error = 4.4703484e-08 

Version History

6.4

Introduced