JROOT Function

JROOT( order, n ) ;

The 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. The function returns an matrix with the computed roots in the first column and the derivatives in the second column. You can evaluate the Bessel function itself by calling the JBESSEL function.

The arguments to the JROOT function are as follows:

order

is a scalar that denotes the order of the Bessel function, with order. The order of a Bessel function is often indicated with the Greek subscript , so that indicates the Bessel function of order .

n

is a positive integer that denotes 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 . 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. See Abramowitz and Stegun (1972) for more details concerning the Bessel and gamma functions.

The root-finding 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 statements compute the first few roots for the Bessel function of the first kind:

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

Figure 23.150 Roots of a Bessel Function
x
3.831706 -0.402759
7.0155867 0.3001158
10.173468 -0.249705
13.323692 0.2183594

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

r = x[,1];