Evaluate a sequence of Bessel functions of the second kind with real nonnegative order and real positive argument.

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

Syntax

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

Parameters

xnu
Type: System..::.Double
A double representing the lowest order desired. xnu must be at least zero and less than 1.
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 which specifies that n + 1 elements will be evaluated in the sequence.

Return Value

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

Remarks

Bessel.K[I] contains the value of the Bessel function of order I + v at x for I=0 to n.

The Bessel function Y_v (x) is defined to be

Y_\nu (x) = {1 \over \pi }\int_0^\pi 
            {\cos (x\sin \theta  - \nu \theta )d\,\theta }

\, - \frac{1}{\pi }\int_0^\infty {\,\left[ 
            {e^{\nu t}  + e^{ - \nu t} \,\cos \left( {\nu \pi } \right)} 
            \right]} \,e^{ - x\,\sinh \,t} \,dt

The variable xnu (represented by \nu in the above equation) must satisfy 0 \le \nu \lt 1
            . If this condition is not met, then Y is set to NaN. In addition, x must be in \left[ {x_m 
            ,x_M } \right] where x_m  = 6(16^{ - 32} )
            and x_m  = 16^9. If x \lt 
             x_m, then the largest representable number is returned; and if x  \lt  x_M, then zero is returned.

The algorithm is based on work of Cody and others, (see Cody et al. 1976; Cody 1969; NATS FUNPACK 1976). It uses a special series expansion for small arguments. For moderate arguments, an analytic continuation in the argument based on Taylor series with special rational minimax approximations providing starting values is employed. An asymptotic expansion is used for large arguments.

See Also