Bessel function of the first kind, with order zero and exponential scaling.

You're viewing an older version of this page (#141). View the current version.

View versions (1)

Interface

#include <codecogs/maths/special/bessel/j/j0.h>

using namespace Maths::Special::Bessel::J;

Returns modified Bessel function of the first kind, with order zero.

The domain is divided into the intervals [0, 5] and [5, infinity]. In the first interval the following rational approximation is used:

(w-r_1^2)(w-r_2^2) \frac{P_3(w)}{Q_8(w)}
(1)

where w = x^2 and the two r's are roots of the function.

In the second interval, the Hankel asymptotic expansion is employed with two rational functions of degree 6/6 and 7/7.

See also J

Accuracy:

<pre> Absolute error: arithmetic domain # trials peak rms DEC 0, 30 10000 4.4e-17 6.3e-18 IEEE 0, 30 60000 4.2e-16 1.1e-16 </pre>

Example:

#include <stdio.h>
#include <codecogs/maths/special/bessel/j/j0.h>
int main()
{
 using namespace Maths::Special::Bessel::J;
  for(double x=0; x<6; x+=1)
  {
    double y=J0(x);
    printf("\n J0(%.1lf)=%lf", x,y);
  }
  return 0;
}

Output:

J0(0.0)=1.000000
J0(1.0)=0.765198
J0(2.0)=0.223891
J0(3.0)=-0.260052
J0(4.0)=-0.397150
J0(5.0)=-0.177597

References

Cephes Math Library Release 2.8: June, 2000

Parameters

x
input argument
GPL Licence — free for non commercial use. See Licence details.

Interactive Calculator

x
Result