JROOT Function |
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:
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 .
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;
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];