IMSL C# Numerical Library

Bessel.I Method (Double, Double, Int32)

Evaluates a sequence of modified Bessel functions of the first kind with real order and real argument.

public static double[] I(
   double xnu,
   double x,
   int n
);

Parameters

xnu
A double representing the lowest order desired. xnu must be at least zero and less than 1.
x
A double representing the argument of the Bessel functions to be evaluated.
n
The int order of the last element in the sequence.

Return Value

A double array of length n + 1 containing the values of the function through the series.

Remarks

Bessel.I[i] contains the value of the Bessel function of order i+xnu.

The Bessel function I_v (x), is defined to be

I_\nu  (x) = {1 \over \pi }\int_0^\pi 
            {e^{x\cos \theta } } \cos (\nu \theta )d\,\theta  - {{\sin (\nu \pi 
            )} \over \pi }\int_0^\infty  {e^{ - x\cosh t - vt} } dt

Here, argument xnu is represented by \nu in the above equation.

The input x must be nonnegative and less than or equal to log(b) (b is the largest representable number). The argument \nu = xnu must satisfy {\rm{0 
            }} \le {\rm{ }}\nu {\rm{ }} \le {\rm{ 1}}.

This function is based on a code due to Cody (1983), which uses backward recursion.

See Also

Bessel Class | Imsl.Math Namespace | Bessel.I Overload List