IMSL C# Numerical Library

Bessel.ScaledK Method 

Evaluate a sequence of exponentially scaled modified Bessel functions of the third kind with fractional order and real argument.

public static double[] ScaledK(
   double v,
   double x,
   int n
);

Parameters

v
A double representing the fractional order of the function. v must be less than one in absolute value.
x
A double representing the argument for which the sequence of Bessel functions is to be evaluated.
n
A int representing the order of the last element in the sequence. If order is the highest order desired, set n to int(order).

Return Value

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

Remarks

If n is positive, Bessel.K[I] contains e^x times the value of the Bessel function of order I + v at x for I = 0 to n.

If n is negative, Bessel.K[I] contains e^x times the value of the Bessel function of order v - I at x for I = 0 to n.

This function evaluates e^x K_{\nu + i -1} (x), for i=1,...,n where K is the modified Bessel function of the third kind. Currently, v is restricted to be less than 1 in absolute value. A total of |n|+1 elements are returned in the array. This code is particularly useful for calculating sequences for large x provided n = x. (Overflow becomes a problem if n \lt \lt x.) n must not be zero, and x must be greater than zero. |\nu| must be less than 1. Also, when |n| is large compared with x, |v+n| must not be so large that
e^x K_{\nu+n}(x) = e^x 
            \frac{\Gamma(|\nu+n|)}{2(x/2)^{\nu+n}}
overflows. The code is based on work of Cody (1983).

See Also

Bessel Class | Imsl.Math Namespace