# j0(3)

```NAME
j0, j1, jn, y0, y1, yn - bessel functions

SYNOPSIS
#include <math.h>

double j0(double x)
double j1(double x)
double jn(int n, double x)
double y0(double x)
double y1(double x)
double yn(int n, double x)

DESCRIPTION
These functions calculate Bessel functions of the first and second  kinds
for real arguments and integer orders.

DIAGNOSTICS
j0(NaN) = j1(NaN) = jn(n, NaN) = NaN.
j0(0) = jn(0, 0) = 1.
j1(0) = jn(n, 0) = 0 with n > 1.
j0(Inf) = j1(Inf) = jn(n, Inf) = 0.

y0(0) = y1(0) = yn(n, 0) = -Inf with signal.
y0(x) = y1(x) = yn(n, x) = NaN with signal if x < 0.
y0(Inf) = y1(Inf) = yn(n, Inf) = 0.

NOTES
For n=0, j0(x) is called,
for n=1, j1(x) is called,
for n<x, forward recursion is used starting  from  values  of  j0(x)  and
j1(x).
for  n>x,  a  continued  fraction  approximation  to  j(n,x)/j(n-1,x)  is
evaluated  and  then  backward recursion is used starting from a supposed
value for j(n,x). The resulting value of  j(0,x)  is  compared  with  the
actual value to correct the supposed value of j(n,x).

yn(n,x) is similar in all respects, except that forward recursion is used
for all values of n>1.