## JROOT Function

**computes the first nonzero roots of a Bessel
function of the first kind and the derivative
of the Bessel function at each root**
**JROOT(** *, **n***)**

The JROOT function returns an *n* ×2
matrix with the calculated roots in the first
column and the derivatives in the second column.

The inputs to the JROOT function are as follows:
- is a scalar denoting the order of
the Bessel function, with .

*n*
- is a positive integer denoting the number of roots.

The JROOT function returns a matrix in which the first
column contains the first *n* roots of the Bessel
function; these roots are the solutions to the equation

The second column of this matrix contains
the derivatives of the
Bessel function at each of the roots *x*_{i}.
The expression is a
solution to the differential equation

One of the expressions for such a function is given by the series

where is the gamma function.
Refer to Abramowitz and Stegun (1973) for more
details concerning the Bessel and gamma functions.
The algorithm is a Newton method
coupled with a reasonable initial guess.
For large values of *n* or , the algorithm
could fail due to machine limitations.
In this case, JROOT returns a matrix
with zero rows and zero columns.
The values that cause the algorithm
to fail are machine dependent.
The following code provides an example:

proc iml;
x = jroot(1,4);
print x;

To obtain only the roots, you can use the following statement,
which extracts the first column of the returned matrix:

x = jroot(1,4)[,1];

Copyright © 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.