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

Namespace: Imsl.Math
Assembly: ImslCS (in ImslCS.dll) Version: 6.5.0.0

Syntax

C#
public static double[] ScaledK(
	double v,
	double x,
	int n
)
Visual Basic (Declaration)
Public Shared Function ScaledK ( _
	v As Double, _
	x As Double, _
	n As Integer _
) As Double()
Visual C++
public:
static array<double>^ ScaledK(
	double v, 
	double x, 
	int n
)

Parameters

v
Type: System..::.Double
A double representing the fractional order of the function. v must be less than one in absolute value.
x
Type: System..::.Double
A double representing the argument for which the sequence of Bessel functions is to be evaluated.
n
Type: System..::.Int32
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