bessel_J1
Evaluates the real Bessel function of the first kind of order one J1(x).
Synopsis
#include <imsl.h>
float imsl_f_bessel_J1 (float x)
The type double function is imsl_d_bessel_J1.
Required Arguments
float x (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
Because the Bessel function J1(x) is oscillatory, its computation becomes inaccurate as |x| increases.
Example
The Bessel function J1(1.5) is evaluated.
#include <imsl.h>
#include <stdio.h>
int main()
{
float x = 1.5;
float ans;
ans = imsl_f_bessel_J1(x);
printf("J1(%f) = %f\n", x, ans);
}
Output
J1(1.500000) = 0.557937
Alert Errors
|
IMSL_SMALL_ABS_ARG_UNDERFLOW |
To prevent J1(x) from underflowing, either x must be zero, or |x| > 2s where s is the smallest representable positive number. |
Warning Errors
|
IMSL_LARGE_ABS_ARG_WARN |
|x| should be less than |
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. |






