s Chapter Contents
s Chapter Introduction
NAG C Library Manual

# NAG Library Function Documentnag_bessel_zeros (s17alc)

## 1  Purpose

nag_bessel_zeros (s17alc) determines the leading ${\mathbf{n}}$ zeros of one of the Bessel functions ${J}_{\alpha }\left(x\right)$, ${Y}_{\alpha }\left(x\right)$, ${J}_{\alpha }^{\prime }\left(x\right)$ or ${Y}_{\alpha }^{\prime }\left(x\right)$ for real $x$ and non-negative $\alpha$.

## 2  Specification

 #include #include
 void nag_bessel_zeros (double a, Integer n, Integer mode, double rel, double x[], NagError *fail)

## 3  Description

nag_bessel_zeros (s17alc) attempts to find the leading $N$ zeros of one of the Bessel functions ${J}_{\alpha }\left(x\right)$, ${Y}_{\alpha }\left(x\right)$, ${J}_{\alpha }^{\prime }\left(x\right)$ or ${Y}_{\alpha }^{\prime }\left(x\right)$, where $x$ is real. When $\alpha$ is real, these functions each have an infinite number of real zeros, all of which are simple with the possible exception of $x=0$. If $\alpha \ge 0$, the $\mathit{n}$th positive zero is denoted by ${j}_{\alpha ,\mathit{n}},{j}_{\alpha ,\mathit{n}}^{\prime },{y}_{\alpha ,\mathit{n}}$ and ${y}_{\alpha ,\mathit{n}}^{\prime }$, respectively, for $\mathit{n}=1,2,\dots ,N$, except that $x=0$ is counted as the first zero of ${J}_{\alpha }^{\prime }\left(x\right)$ when $\alpha =0$. Since ${J}_{0}^{\prime }\left(x\right)=-{J}_{1}\left(x\right)$, it therefore follows that ${j}_{0,1}^{\prime }=0$ and ${j}_{0,n}^{\prime }=-{j}_{1,n-1}$ for $n=2,3,\dots ,N-1$. Further details can be found in Section 9.5 of Abramowitz and Stegun (1972).
nag_bessel_zeros (s17alc) is based on Algol 60 procedures given by Temme (1979). Initial approximations to the zeros are computed from asymptotic expansions. These are then improved by higher-order Newton iteration making use of the differential equation for the Bessel functions.

## 4  References

Abramowitz M and Stegun I A (1972) Handbook of Mathematical Functions (3rd Edition) Dover Publications
Temme N M (1976) On the numerical evaluation of the ordinary Bessel function of the second kind J. Comput. Phys. 21 343–350
Temme N M (1979) An algorithm with Algol 60 program for the computation of the zeros of ordinary Bessel functions and those of their derivatives J. Comput. Phys. 32 270–279

## 5  Arguments

On entry: the order $\alpha$ of the function.
Constraint: $0.0\le {\mathbf{a}}\le 100000.0$.
2:     nIntegerInput
On entry: the number $N$ of zeros required.
Constraint: ${\mathbf{n}}\ge 1$.
3:     modeIntegerInput
On entry: specifies the form of the function whose zeros are required.
${\mathbf{mode}}=1$
The zeros of ${J}_{\alpha }\left(x\right)$ are required.
${\mathbf{mode}}=2$
The zeros of ${Y}_{\alpha }\left(x\right)$ are required;
${\mathbf{mode}}=3$
The zeros of ${J}_{\alpha }^{\prime }\left(x\right)$ are required;
${\mathbf{mode}}=4$
The zeros of ${Y}_{\alpha }^{\prime }\left(x\right)$ are required.
Constraint: $1\le {\mathbf{mode}}\le 4$.
4:     reldoubleInput
On entry: the relative accuracy to which the zeros are required.
Suggested value: the square root of the machine precision.
Constraint: ${\mathbf{rel}}>0.0$.
5:     x[n]doubleOutput
On exit: the $N$ required zeros of the function specified by mode.
6:     failNagError *Input/Output
The NAG error argument (see Section 3.6 in the Essential Introduction).

## 6  Error Indicators and Warnings

On entry, argument $〈\mathit{\text{value}}〉$ had an illegal value.
NE_INT
On entry, ${\mathbf{mode}}=〈\mathit{\text{value}}〉$.
Constraint: ${\mathbf{mode}}\le 4$.
On entry, ${\mathbf{mode}}=〈\mathit{\text{value}}〉$.
Constraint: ${\mathbf{mode}}\ge 1$.
On entry, ${\mathbf{n}}=〈\mathit{\text{value}}〉$.
Constraint: ${\mathbf{n}}\ge 1$.
NE_INTERNAL_ERROR
An internal error has occurred in this function. Check the function call and any array sizes. If the call is correct then please contact NAG for assistance.
NE_REAL
On entry, ${\mathbf{a}}=〈\mathit{\text{value}}〉$.
Constraint: ${\mathbf{a}}\le 100000.0$.
On entry, ${\mathbf{a}}=〈\mathit{\text{value}}〉$.
Constraint: ${\mathbf{a}}\ge 0.0$.
On entry, ${\mathbf{rel}}=〈\mathit{\text{value}}〉$.
Constraint: ${\mathbf{rel}}>0.0$.

## 7  Accuracy

If the value of rel is set to ${10}^{-d}$, then the required zeros should have approximately $d$ correct significant digits.

None.

## 9  Example

This example determines the leading five positive zeros of the Bessel function ${J}_{0}\left(x\right)$.

### 9.1  Program Text

Program Text (s17alce.c)

### 9.2  Program Data

Program Data (s17alce.d)

### 9.3  Program Results

Program Results (s17alce.r)