The IMSL_BESSI function evaluates a modified Bessel function of the first kind with real order and real or complex parameters.

The IMSL_BESSI function evaluates a modified Bessel function of the first kind with real order and real or complex parameters. The data type of the returned value is always complex.

The Bessel function, Iv(z), is defined as follows: For large parameters, z, Temme's (1975) algorithm is used to find Iv(z). The Iv(z) values are recurred upward (if stable). This involves evaluating a continued fraction. If this evaluation fails to converge, the answer may not be accurate. For moderate and small parameters, Miller's method is used.

## Example

In this example, J0.3 + v–1(1.2 + 0.5i), v = 1, ... 4 is computed and printed first by calling IMSL_BESSI four times in a row, then by using the keyword SEQUENCE.

`z = COMPLEX(1.2, .5)`
`FOR i = 0, 3 DO PM, IMSL_BESSI(i + .3, z)`
`(       1.16339,   0.396301)`
`(    0.447264,   0.332142)`
`(   0.0821799,   0.127165)`
`( 0.00577678, 0.0286277)`
`PM, IMSL_BESSI(.3, z, Sequence = 4), Title = ';With SEQUENCE:'`
`With SEQUENCE:`
`(       1.16339,   0.396301)`
`(     0.447264,   0.332142)`
`(   0.0821799,  0.127165)`
`( 0.00577678,  0.0286277)`

## Syntax

Result = IMSL_BESSI(Order, Z [, /DOUBLE] [, SEQUENCE=value])

## Return Value

The desired value of the modified Bessel function.

## Arguments

### Order

Real parameter specifying the desired order. The argument order must be greater than –1/2.

### Z

Real or complex parameter for which the Bessel function is to be evaluated.

## Keywords

### DOUBLE (optional)

If present and nonzero, then double precision is used.

### SEQUENCE

If present and nonzero, a one-dimensional array of length n containing the values of the Bessel function through the series is returned by IMSL_BESSI, where n = N_ELEMENTS(SEQUENCE). The i-th element of this array is the Bessel function of order (Order + i) at Z for i = 0, ... (n – 1).

## Version History

 6.4 Introduced