Evaluates the real Bessel function of the second kind of order zero Y0(x).
Synopsis
#include<imsl.h>
float imsl_f_bessel_Y0 (float x)
The type double procedure is imsl_d_bessel_Y0.
Required Arguments
floatx (Input) Point at which the Bessel function is to be evaluated.
Return Value
The value of the Bessel function
If no solution can be computed, NaN is returned.
Description
This function is sometimes called the Neumann function, N0(x), or Weber’s function.
Since Y0(x) is complex for negative x and is undefined at x = 0, imsl_f_bessel_Y0 is defined only for x > 0. Because the Bessel function Y0(x) is oscillatory, its computation becomes inaccurate as x increases.
Figure 9.17 — Plot of Y0(x) and Y1(x)
Example
The Bessel function Y0(1.5) is evaluated.
#include <imsl.h>
#include <stdio.h>
int main()
{
float x = 1.5;
float ans;
ans = imsl_f_bessel_Y0(x);
printf("Y0(%f) = %f\n", x, ans);
}
Output
Y0(1.500000) = 0.382449
Warning Errors
IMSL_LARGE_ABS_ARG_WARN
|x| should be less than where ɛ is the machine precision to prevent the answer from being less accurate than half precision.
Fatal Errors
IMSL_LARGE_ABS_ARG_FATAL
|x| should be less than 1/ɛ where ɛ is the machine precision for the answer to have any precision.