Volume 3, Issue 6 e1198
SPECIAL ISSUE PAPER
Open Access

Computation of the reverse generalized Bessel polynomials and their zeros

T. Mark Dunster

T. Mark Dunster

Department of Mathematics and Statistics, San Diego State University, San Diego, California, USA

Search for more papers by this author
Amparo Gil

Amparo Gil

Departamento de Matemática Aplicada y CC. de la Computación, ETSI Caminos, Universidad de Cantabria, Santander, Spain

Search for more papers by this author
Diego Ruiz-Antolín

Corresponding Author

Diego Ruiz-Antolín

Departamento de Matemática Aplicada y CC. de la Computación, ETSI Caminos, Universidad de Cantabria, Santander, Spain

Correspondence Diego Ruiz-Antolín, Departamento de Matemática Aplicada y CC, de la Computación, ETSI Caminos, Universidad de Cantabria 39005, Santander, Spain.

Email: [email protected]

Search for more papers by this author
Javier Segura

Javier Segura

Departamento de Matemáticas, Estadistica y Computación, Universidad de Cantabria, Santander, Spain

Search for more papers by this author
First published: 29 September 2021
Citations: 2

Funding information: Ministerio de Ciencia e Innovación, PGC2018-098279-B-I00 (MCIU/AEI/FEDER, UE)

Abstract

It is well known that one of the most relevant applications of the reverse Bessel polynomials θ n ( z ) is filter design. In particular, the poles of the transfer function of a Bessel filter are basically the zeros of θ n ( z ) . In this article we discuss an algorithm to compute the zeros of reverse generalized Bessel polynomials θ n ( z ; a ) . A key ingredient in the algorithm will be a method to compute the polynomials. For this purpose, we analyze the use of recurrence relations and asymptotic expansions in terms of elementary functions to obtain accurate approximations to the polynomials. The performance of all the numerical approximations will be illustrated with examples.

1 INTRODUCTION

It is well known that generalized and reverse generalized Bessel polynomials have applications in different areas of science and technology, including applied mathematics, mathematical physics, and electrical engineering; see, for example, References 1, 2. It is interesting to mention that the reverse Bessel polynomials (a particular case of the reverse generalized polynomials) are important in filter design.3 In particular, the poles of the transfer function of a Bessel filter are basically the zeros of reverse Bessel polynomials.

In this article, we will focus on the computation of the reverse generalized Bessel polynomials θ n ( z ; a ) and their zeros. The polynomials are solutions of the second-order differential equation
z d 2 θ n ( z ; a ) d z 2 ( 2 n 2 + a + 2 z ) d θ n ( z ; a ) d z + 2 n θ n ( z ; a ) = 0 . ()
They are related to the confluent hypergeometric functions as follows:
θ n ( z ; a ) = 2 n + a 1 z 2 n + a 1 U ( n + a 1 , 2 n + a , 2 z ) . ()

Some properties satisfied by these polynomials can be found, for example, in Reference 4. For computing the polynomials, we consider the use of asymptotic expansions in terms of elementary functions given in Reference 5 and a three-term recurrence relation satisfied by the polynomials. The expansions were obtained by using the well-known Liouville-Green theory for ordinary differential equations in the complex plane.

On the other hand, several papers can be found in the literature on the approximation and study of the distribution of the zeros of generalized Bessel and reverse generalized Bessel polynomials; see, for example, References 6, 7. In this article we discuss the numerical performance of an algorithm to compute the zeros of reverse generalized Bessel polynomials θ n ( z ; a ) . For this, we use the method given in Reference 8, which is based on a qualitative analysis of the approximate Liouville-Green Stokes lines and anti-Stokes lines of the differential equation satisfied by the polynomials, combined with the application of a high-order fixed-point method and carefully selected step functions. As we will see, a method to compute the polynomials θ n ( z ; a ) will be needed for evaluating the zeros. Therefore, the numerical evaluation of the polynomials will be an essential part of an implementation in finite precision of our algorithm to compute the complex zeros of θ n ( z ; a ) .

2 COMPUTATION OF THE REVERSE GENERALIZED BESSEL POLYNOMIALS FOR COMPLEX ARGUMENTS

2.1 Asymptotic expansions

In Reference 5, asymptotic expansions for the generalized reverse Bessel polynomials were obtained. Asymptotic expansions were given in terms of Airy functions and in terms of elementary (exponential) functions. In this section, we discuss the computational performance of the expansions in terms of elementary functions, which were obtained by applying the Liouville-Green theory for ordinary differential equations in the complex plane, to approximate θ n ( z ; a ) .

We consider the following expansion
θ n ( u z ; a ) 4 u ( 1 + α ) u u 1 2 e u α / 2 z u ( 2 + α ) / 2 e u ( z ζ ) Z 1 / 2 A 0 ( z ) A 1 ( z ) u + A 2 ( z ) u 2 + , ()
where u = n + 1 2 , α = a 2 u , Z = z 2 + α z + ( 1 + 1 2 α ) 2 1 2 and
ζ = Z + 1 2 ( 2 + α ) log 2 ( 2 + α ) Z 2 α z ( 2 + α ) 2 z + 1 2 α log ( 2 Z + 2 z + α ) .
The coefficients A j ( z ) in (3) are obtained using the recursion
A j + 1 ( z ) = z 2 Z A j ( z ) + 1 32 z α ( 2 + α ) 2 + ( 3 α + 4 ) ( 4 + α ) t 4 t 3 t 2 + α t + 1 + α / 2 2 5 / 2 A j ( t ) d t , ()
starting from A 0 ( z ) = 1 . As an example, the coefficients A 1 ( z ) , A 2 ( z ) are given by
A 1 ( z ) = 1 384 α 4 + 6 α 3 z + 12 α 2 z 2 + 8 α z 3 + 12 α 3 48 α z 2 + 44 α 2 48 z 2 + 64 α + 32 ( α + 1 ) Z 3 + α 48 α + 48 , ()
A 2 ( z ) = 1 294912 ( α 2 + 2 α + 1 ) Z 7 2 Z α 8 + 24 Z α 7 z + 120 Z α 6 z 2 + 320 Z α 5 z 3 + 480 Z α 4 z 4 + 384 Z α 3 z 5 + 128 Z α 2 z 6 α 9 14 α 8 z 84 α 7 z 2 280 α 6 z 3 560 α 5 z 4 672 α 4 z 5 448 α 3 z 6 128 α 2 z 7 + 36 Z α 7 + 240 Z α 6 z + 480 Z α 5 z 2 960 Z α 3 z 4 768 Z α 2 z 5 20 α 8 176 α 7 z 560 α 6 z 2 640 α 5 z 3 + 320 α 4 z 4 + 1280 α 3 z 5 + 768 α 2 z 6 + 292 Z α 6 3792 Z α 5 z 13536 Z α 4 z 2 + 512 Z α 3 z 3 + 19776 Z α 2 z 4 768 Z α z 5 164 α 7 912 α 6 z 1520 α 5 z 2 256 α 4 z 3 + 1344 α 3 z 4 + 1280 α 2 z 5 + 768 α z 6 + 1344 Z α 5 26496 Z α 4 z 104832 Z α 3 z 2 + 1024 Z α 2 z 3 + 41472 Z α z 4 736 α 6 2496 α 5 z 2176 α 4 z 2 + 768 α 3 z 3 + 2048 α 2 z 4 + 3776 Z α 4 59328 Z α 3 z 244416 Z α 2 z 2 + 512 Z α z 3 + 20736 Z z 4 2000 α 5 3808 α 4 z 1728 α 3 z 2 + 384 α 2 z 3 + 1024 α z 4 + 6592 Z α 3 55296 Z α 2 z 230400 Z α z 2 3392 α 4 3072 α 3 z 768 α 2 z 2 + 6976 Z α 2 18432 Z α z 76800 Z z 2 3520 α 3 1024 α 2 z 256 α z 2 + 4096 Z α 2048 α 2 + 1024 Z 512 α . ()
Since there is no existing software to compute the generalized reverse Bessel polynomials, at least to our knowledge, the accuracy of the expansion can be tested using (2) or the following relations with the generalized Laguerre polynomials
θ n ( z ; a ) = n ! ( 2 ) n L n ( 1 2 n a ) ( 2 z ) ()
and the modified Bessel function
θ n ( z ; 2 ) = 2 π z n + 1 / 2 e z K n + 1 / 2 ( z ) . ()
We consider the functions
f = ( θ ( z ; a ) ) 2 + ( θ ( z ; a ) ) 2 , g = θ ( z ; a ) / θ ( z ; a ) , for θ ( z ; a ) / θ ( z ; a ) 0 . ()
Then, we evaluate the relative errors
ϵ 1 = 1 f approx f exact , ϵ 2 = 1 g approx g exact . ()

A first test of the expansion (3) is given in Table 1, where the values of f exact and g exact have been computed with Maple using the relation given in Equation (7) and a large number of digits. For computing the expansion, three coefficients ( A 0 ( z ) , A 1 ( z ) , A 2 ( z ) ) have been used. As can be seen, an accuracy better than single precision is obtained in most cases. Of course, higher accuracy can be obtained using more A j ( z ) coefficients in the expansion; for example, using four coefficients ( A 0 ( z ) , A 1 ( z ) , A 2 ( z ) , A 3 ( z ) ) for u = 50 + 1 / 2 , a = 1 . 7 and z / u = 20 . 5 + i 0 . 5 the errors obtained were ϵ 1 = 5 . 2 × 1 0 12 and ϵ 2 = 1 . 1 × 1 0 12 ; therefore, we obtain an approximation with an accuracy 10 times better than before (see Table 1).

TABLE 1. Relative errors (10) obtained in the evaluation of θ n ( u z ; a ) for n = 50 using the asymptotic expansion given in (3)
a z ϵ 1 ϵ 2
1.7 1 . 5 + i 0 . 5 5 . 5 × 1 0 8 1 . 7 × 1 0 7
1.7 5 . 5 + i 0 . 5 2 . 0 × 1 0 9 7 . 8 × 1 0 10
1.7 10 . 5 + i 0 . 5 4 . 3 × 1 0 10 1 . 1 × 1 0 10
1.7 20 . 5 + i 0 . 5 6 . 4 × 1 0 11 1 . 3 × 1 0 11
20.1 1 . 5 + i 0 . 5 4 . 3 × 1 0 8 5 . 9 × 1 0 8
20.1 5 . 5 + i 0 . 5 1 . 1 × 1 0 9 1 . 9 × 1 0 10
20.1 10 . 5 + i 0 . 5 3 . 4 × 1 0 10 8 . 4 × 1 0 11
20.1 20 . 5 + i 0 . 5 5 . 7 × 1 0 11 1 . 1 × 1 0 11
50.7 1 . 5 + i 0 . 5 2 . 0 × 1 0 8 1 . 3 × 1 0 8
50.7 5 . 5 + i 0 . 5 3 . 6 × 1 0 10 2 . 1 × 1 0 10
50.7 10 . 5 + i 0 . 5 2 . 4 × 1 0 10 4 . 7 × 1 0 11
50.7 20 . 5 + i 0 . 5 4 . 9 × 1 0 11 8 . 6 × 1 0 12
The expansion (3) is valid at least in the right half part of the complex plane (in the z variable) but not in the region of the left half part of the plane where the zeros of θ n ( z ; a ) lie. An expansion valid in this region is given by the following compound expression
θ n ( u z ; a ) = 2 n + a 1 ( u z ) 1 + n + a / 2 e u z ( 1 ) n + 1 n ! e a π i w n ( 1 ) ( u z ; a ) 1 Γ ( n + a 1 ) w n ( 1 ) ( z ; a ) , ()
where
w n ( 1 ) ( u z ; a ) ( 1 ) n e u α π i 2 u + u α 1 / 2 e u α / 2 u u α / 2 ( 1 + α ) u + u α 1 A 1 ( ) / u + × z 1 / 2 Z 1 / 2 e u ζ A 0 ( z ) A 1 ( z ) u + A 2 ( z ) u 2 + , w n ( 1 ) ( u z ; a ) ( 2 + α ) 2 u + u α + 1 / 2 u u + u α / 2 + 1 / 2 2 3 u + 2 u α + 1 / 2 e u ( 2 + α ) / 2 ( 1 + α ) u ( 1 + α ) Γ ( 2 u + u α + 1 ) 1 + A 1 ( 0 ) / u ) + × z 1 / 2 Z 1 / 2 e u ζ A 0 ( z ) + A 1 ( z ) u + A 2 ( z ) u 2 + . ()

A 1 ( ) = lim z A 1 ( z ) in (12) is given by A 1 ( ) = α 24 α + 24 .

A test for the expansion (11) using the coefficients A 0 ( z ) , A 1 ( z ) , A 2 ( z ) in (12) is given in Table 2. An accuracy close to single precision is obtained in all cases.

TABLE 2. Relative errors (10) obtained in the evaluation of θ n ( u z ; a ) for n = 50 using the asymptotic expansion given in (11)
a z ϵ 1 ϵ 2
1.7 1 . 5 + i 0 . 5 7 . 8 × 1 0 8 2 . 2 × 1 0 7
1.7 5 . 5 + i 0 . 5 1 . 8 × 1 0 8 1 . 6 × 1 0 9
1.7 10 . 5 + i 0 . 5 2 . 0 × 1 0 8 1 . 1 × 1 0 10
20.1 1 . 5 + i 0 . 5 1 . 4 × 1 0 7 1 . 7 × 1 0 7
20.1 5 . 5 + i 0 . 5 1 . 8 × 1 0 8 1 . 1 × 1 0 9
20.1 10 . 5 + i 0 . 5 1 . 9 × 1 0 8 1 . 5 × 1 0 10
1.7 5 . 5 + i 10 . 5 2 . 1 × 1 0 8 6 . 9 × 1 0 11
10.1 5 . 5 + i 15 . 5 2 . 1 × 1 0 8 2 . 0 × 1 0 10
20.3 5 . 5 + i 20 . 5 2 . 0 × 1 0 8 8 . 5 × 1 0 11

Tests for a = 2 are shown in Figures 1 and 2, where the relative errors obtained in the comparisons of the expansions (3) and (11), respectively, to the expression given in (8) are plotted for different values of n. The calculations have been made using Matlab.

Details are in the caption following the image
Test of the expansion (3) for a = 2 , z = 5 + 6 . 5 i and different values of n
Details are in the caption following the image
Test of the expansions (11) for a = 2 , z = 5 + 6 . 5 i and different values of n

2.2 Recurrence relations

To compute the polynomials for a wider range of parameters (including small values of n, for example), the expansions can be combined with alternative methods, such as the use of the following three-term recurrence relation satisfied by the polynomials
n ( 2 n + a ) z 2 θ n 1 ( z ; a ) = ( n + a 1 ) ( 2 n + a 2 ) θ n + 1 ( z ; a ) ( 2 n + a ) n 1 + 1 2 a + ( a 2 ) z ( 2 n + a 1 ) θ n ( z ; a ) . ()

However, a key point that has to be studied before using a recurrence relation, is its conditioning for computing a given function satisfying the recurrence.9 In particular, if a recurrence admits a minimal (or recessive) solution, the forward computation of the recurrence relation is ill conditioned, because a small perturbation of the initial values will introduce a component of a dominant solution. Therefore, the recurrence has to be computed in the backward direction (starting with large n). On the contrary, for a dominant solution, the forward numerical computation is well conditioned.

To analyze the conditioning of (13), we have to use Perron's theorem10 and the asymptotic behavior of the polynomials. Given that the expansions (3) and (11) for the reverse generalized Bessel polynomials are 𝒪 ( n n ) for large values of n, we conclude (using Perron's theorem) that the polynomials are, asymptotically, a dominant solution in the whole complex plane of the three-term recurrence relation (13). Then, the forward computation of the recursion is expected to be well conditioned, at least for large enough n.

Examples of the good computational behavior of (13) evaluated forward, are given in Tables 3 and 4 for two values of z in the first quadrant of the complex plane and few values of a. The recurrence relation (13) has been applied using as starting values θ 0 ( z ; a ) and θ 1 ( z ; a ) . The calculations have been made in Maple using a large number of digits to compute the two initial values. When applying the recurrence relation, the number of digits has been set to 16 in order to quantify the possible loss of significant digits when using the recursion in a double precision algorithm. As can be seen, only few digits are lost for large values of n and this is due, most probably, to the fact that θ n ( z ; a ) is extremely large for these n values. Similar results are shown in Table 5 for the evaluation of θ n ( z ; a ) with z a value in the second quadrant of the complex plane ( z = 3 . 5 + 2 i ) using (13) in the forward direction.

TABLE 3. Relative errors obtained when computing θ n ( 1 + 1 . 5 i ; a ) using the forward numerical computation of the recurrence relation (13) starting from θ 0 ( 1 + 1 . 5 i ; a ) and θ 1 ( 1 + 1 . 5 i ; a )
a = 1 . 7 a = 20 . 1 a = 100 . 5
n Rel error Rel error Rel error
10 7 . 0 × 1 0 16 1 × 1 0 15 1 . 0 × 1 0 15
100 3 . 0 × 1 0 16 1 . 9 × 1 0 15 2 . 3 × 1 0 16
1000 9 . 0 × 1 0 15 7 . 6 × 1 0 15 1 . 5 × 1 0 14
10,000 9 . 0 × 1 0 13 9 . 6 × 1 0 13 1 . 0 × 1 0 12
TABLE 4. Relative errors obtained when computing θ n ( 100 . 5 + 20 i ; a ) using the forward numerical computation of the recurrence relation (13) starting from θ 0 ( 100 . 5 + 20 i ; a ) and θ 1 ( 100 . 5 + 20 i ; a )
a = 1 . 7 a = 20 . 1 a = 100 . 5
n Rel error Rel error Rel error
10 2 . 1 × 1 0 16 1 × 1 0 16 8 . 2 × 1 0 16
100 2 . 5 × 1 0 16 3 . 2 × 1 0 16 1 . 6 × 1 0 15
1000 6 . 8 × 1 0 16 1 . 6 × 1 0 14 3 . 1 × 1 0 14
10,000 9 . 5 × 1 0 13 9 . 7 × 1 0 13 1 . 2 × 1 0 12
TABLE 5. Relative errors obtained when computing θ n ( 3 . 5 + 2 i ; a ) using the forward numerical computation of the recurrence relation (13) starting from θ 0 ( 3 . 5 + 2 i ; a ) and θ 1 ( 3 . 5 + 2 i ; a )
a = 1 . 7 a = 20 . 1 a = 100 . 5
n Rel error Rel error Rel error
10 9 × 1 0 14 1 . 0 × 1 0 15 6 . 5 × 1 0 16
100 9 × 1 0 14 1 . 9 × 1 0 15 7 . 5 × 1 0 16
1000 9 × 1 0 14 7 . 6 × 1 0 15 7 . 0 × 1 0 15
10,000 9 × 1 0 13 9 . 6 × 1 0 13 9 . 0 × 1 0 13

However, it is important to note that in the z-region where the zeros of θ n ( z ; a ) lie (second and third quadrants of the complex plane), the good conditioning of (13) in the forward direction can only be seen, depending on the value of z, for large values of n. This behavior is due to the fact that θ n ( z ; a ) has a component of minimal solution in the region where the zeros lie, particularly near the real negative axis. This minimal solution component can be orders of magnitude larger than the dominant component for n not very large. Ultimately, the dominant component becomes larger for large enough n. For example, Table 6 shows the results obtained in the evaluation of θ n ( 80 + 12 i ; 2 ) after using N steps of the recurrence relation (13) for two different choices of initial values: a) θ 0 ( 80 + 12 i ; 2 ) , θ 1 ( 80 + 12 i ; 2 ) (results given in column 2); b) θ 150 ( 80 + 12 i ; 2 ) , θ 151 ( 80 + 12 i ; 2 ) (results given in column 4). As can be seen in column 2, starting from θ N ( 80 + 12 i ; 2 ) and θ N + 1 ( 80 + 12 i ; 2 ) for N = 0 , there is a significant loss of accuracy in the calculations after a moderate number of steps of the recurrence have been used. However, when starting from θ N ( 80 + 12 i ; 2 ) and θ N + 1 ( 80 + 12 i ; 2 ) for N = 150 , the good conditioning of the recurrence relation in the forward direction is revealed. A similar example is shown in Table 7 for the evaluation of θ n ( 70 + i ; 2 ) again using N s t e p s of the recurrence relation (13). The initial values are: a) θ 0 ( 70 + i ; 2 ) , θ 1 ( 70 + i ; 2 ) (results given in column 2); b) θ 140 ( 70 + i ; 2 ) , θ 141 ( 70 + i ; 2 ) (results given in column 4). As can be seen in column 2 of Table 7, the loss of accuracy is even greater than before. Accurate values for θ n ( z ; a ) where the forward recurrence fails, can be obtained using the recurrence backwards. Examples of this are shown in Table 8 for the two z values considered in Tables 6 and 8.

TABLE 6. Relative errors obtained when computing θ n ( 80 + 12 i ; 2 ) using N steps of the recurrence relation (13)
N steps Rel error N steps Rel error
10 9 . 0 × 1 0 16 10 2 . 8 × 1 0 16
20 5 . 7 × 1 0 14 100 4 . 1 × 1 0 15
30 2 . 7 × 1 0 11 500 1 . 7 × 1 0 15
40 1 . 2 × 1 0 7 1000 1 . 9 × 1 0 15
50 0.005 10,000 1 . 8 × 1 0 14
  • Note: The starting values used are a) θ 0 ( 80 + 12 i ; 2 ) , θ 1 ( 80 + 12 i ; 2 ) (columns 1, 2); b) θ 150 ( 80 + 12 i ; 2 ) , θ 151 ( 80 + 12 i ; 2 ) (columns 3, 4).
TABLE 7. Relative errors obtained when computing θ n ( 70 + i ; 2 ) using N steps of the recurrence relation (13)
N steps Rel error N steps Rel error
10 6 . 0 × 1 0 16 10 4 . 2 × 1 0 16
20 8 . 4 × 1 0 14 100 3 . 3 × 1 0 16
30 1 . 0 × 1 0 10 500 6 . 1 × 1 0 15
40 1 . 8 × 1 0 6 1000 5 . 3 × 1 0 15
50 0.27 10,000 4 . 6 × 1 0 14
  • Note: The starting values used are: a) θ 0 ( 70 + i ; 2 ) , θ 1 ( 70 + i ; 2 ) (columns 1, 2); b) θ 140 ( 70 + i ; 2 ) , θ 141 ( 70 + i ; 2 ) (columns 3, 4).
TABLE 8. Relative errors obtained when computing θ n ( 80 + 12 i ; 2 ) and θ n ( 70 + i ; 2 ) using N steps of the recurrence relation (13) applied backward
N steps , z Rel error N steps , z Rel error
10 , 80 + 12 i 3 . 8 × 1 0 15 10 , 70 + i 4 . 8 × 1 0 14
30 , 80 + 12 i 8 . 0 × 1 0 15 30 , 70 + i 1 . 1 × 1 0 14
50 , 80 + 12 i 7 . 3 × 1 0 15 50 , 70 + i 2 . 2 × 1 0 14
70 , 80 + 12 i 7 . 6 × 1 0 15 70 , 70 + i 2 . 8 × 1 0 14
90 , 80 + 12 i 8 . 0 × 1 0 15 90 , 70 + i 2 . 8 × 1 0 14
  • Note: The starting values used are: a) θ 101 ( 80 + 12 i ; 2 ) , θ 100 ( 80 + 12 i ; 2 ) to obtain the results in column 2; b) θ 101 ( 70 + i ; 2 ) , θ 100 ( 70 + i ; 2 ) to obtain the results in column 4.

Therefore, special care has to be taken when using the recurrence relation to compute the generalized reverse Bessel polynomials for large values of n in the region where the zeros of the polynomials lie (the use of the asymptotic expansions considered in the previous section is a much better option).

3 ALGORITHM TO COMPUTE THE ZEROS OF REVERSE GENERALIZED BESSEL POLYNOMIALS

For computing the zeros of θ n ( z ; a ) we use the results given in Reference 8. In that reference, a method for finding the complex zeros of solutions of second-order ODEs is described. The method makes use first of a qualitative analysis of the approximate Liouville-Green Stokes lines (SLs) and anti-Stokes lines (ASLs). As discussed in Reference 8, the structure of the exact zeros will follow very closely the ASLs. This qualitative analysis is combined with the application of a fixed point method z n + 1 = T ( z n ) (which has fourth-order convergence and good nonlocal behavior) and the use of carefully selected step functions (displacements) H ± ( z ) .

The general strategy for finding the complex zeros of solutions of second-order ODEs can be summarized as follows:
  1. Divide the complex plane in disjoint domains separated by the principal ASLs and SLs and compute separately in each domain.
  2. In each domain, start away of the principal SLs, close to a principal ASL and/or singularity (if any). Iterate with T ( w ) until a first zero is found. If a value outside the domain is reached, stop the search in that domain.
  3. Proceed with the basic algorithm described in Reference 8 for computing consecutive zeros, choosing the displacements H ± ( w ) in the direction of approach to the principal SLs and/or singularity.
To compute the complex zeros of θ n ( z ; a ) , the following iteration function ( T ( z ) ) and step function ( H + ( z ) ) are used:
T ( z ) = z 1 Ω arctan Ω θ n ( z ; a ) θ n ( z ; a ) , ()
H + ( z ) = z + π Ω , ()
where Ω = 1 + 2 a z n + a 2 n + a 2 1 1 z 2 .

It is important to note that the derivatives of the generalized reversed Bessel polynomials θ n ( z ; a ) appearing in (14) can be computed in terms of the polynomials with shifted parameters θ n 1 ( z ; a 1 ) .

For starting the algorithm, we will also need to compute the negative real root of the function
g ( x ) = A ( x ) + cos ϕ log A ( x ) x cos ϕ | sin ϕ | log 1 x cos ϕ + A ( x ) | x sin ϕ | , ()
where A ( x ) = x 2 2 x cos ϕ + 1 and cos ϕ = a / 2 1 | ( n + a / 2 ) ( n + a / 2 1 ) | .

The function g ( x ) has two real roots, one negative, x 0 , and the other positive, x 1 . This can be seen in the example shown in Figure 3 for a particular set of values of n and a. In our computational scheme, we will use the value z = x 0 ( n + a / 2 ) ( n + a / 2 1 ) to iterate T ( z ) given in (14) to obtain the first zero of the polynomials. Then, we will compute other [ n / 2 1 ] zeros of θ n ( z ; a ) taking steps given by H + ( z ) and iterating each time with T ( z ) . This is summarized in Algorithm 1. This algorithm allows to compute those zeros of θ n ( z ; a ) having positive imaginary part. To complete the set of zeros of the polynomial, we just have to take the complex conjugate of each zero found (we are using the reflection formula θ n ( z ; a ) = θ n ( z ; a ) for a real).

Details are in the caption following the image
Function g ( x ) in (16) for a particular set of values of n and a. The negative real root of g ( x ) , needed in the algorithm, is indicated in the figure

Algorithm 1. Computation of the complex zeros of θ n ( z ; a ) having positive imaginary part

Two examples of the computation of the zeros of θ n ( z ; a ) obtained using our algorithm, are shown in Figure 4. The zeros of θ 50 ( z ; a ) evaluated for two values of a ( a = 1 . 7 , 20 . 1 ) are plotted in the figure. In Table 9 we give explicit values of some of the zeros found for a = 1 . 7 .

Details are in the caption following the image
Computation of the zeros of θ 50 ( z ; a ) for two values of a ( a = 1 . 7 , 20 . 1 ) using Algorithm 1
TABLE 9. Explicit values of some of the zeros of θ 50 ( z ; 1 . 7 ) obtained using our algorithm
33 . 30996051578987 + . 8656394075017328 i
33 . 24738945636585 + 2 . 597273314633628 i
33 . 12197998838305 + 4 . 329978393682985 i
32 . 93319162930886 + 6 . 064488649772956 i
32 . 68019889167787 + 7 . 801568778004607 i
32 . 36187268877210 + 9 . 542028217357407 i
31 . 97675398586722 + 11 . 28673715400185 i
31 . 52301816111516 + 13 . 03664530199702 i
30 . 99842786456771 + 14 . 79280454390487 i
30 . 40027122210831 + 16 . 55639689547616 i

Two example of computation of the zeros for Bessel polynomials ( a = 2 ) are shown in Figures 5 and 6. The values of n have been fixed to 20 and 100, respectively. We also show contour plots of the modulus and phase of θ 20 ( z ; 2 ) and θ 100 ( z ; 2 ) , where the position of the zeros is clearly shown in the figures. These plots are generated using Matlab and the relation to the modified Bessel function given in Equation (8). Also for the case of Bessel polynomials, explicit values of the zeros found with our algorithm are given in Table 10 for n = 12 . The calculations have been made in double precision accuracy. The function values at the zeros are also shown in the table.

Details are in the caption following the image
Left: zeros of θ 20 ( z ; 2 ) obtained using our Algorithm 1. Right: contour plot of the modulus and phase of θ 20 ( z ; 2 ) showing the location of the zeros
Details are in the caption following the image
Top: zeros of θ 100 ( z ; 2 ) obtained using our Algorithm 1. Bottom: contour plot of the modulus and phase of θ 100 ( z ; 2 ) showing the location of the zeros
TABLE 10. Column 1: Explicit values of the zeros of θ 12 ( z ; 2 ) (Bessel polynomials) obtained using our algorithm. Column 2: Values of θ 12 ( z ; 2 ) at the zeros
z n θ 12 ( z n ; 2 )
8 . 253422011412083 + . 8676935720097689 i + 2 . 93 . . × 1 0 8 + 5 . 28 . . × 1 0 8 i
7 . 997270599601432 + 2 . 609066536945798 i 5 . 38 . . × 1 0 7 1 . 97 . . × 1 0 7 i
7 . 465571240351769 + 4 . 370169593354565 i + 1 . 02 . . × 1 0 7 + 4 . 41 . . × 1 0 8 i
6 . 611004249956351 + 6 . 171534993037231 i 1 . 86 . . × 1 0 6 + 2 . 61 . . × 1 0 6 i
5 . 329708590875831 + 8 . 052906864257035 i + 3 . 06 . . × 1 0 5 + 5 . 90 . . × 1 0 6 i
3 . 343023307802533 + 10 . 12429680724082 i + 3 . 42 . . × 1 0 4 3 . 13 . . × 1 0 4 i
8 . 253422011412083 . 8676935720097689 i + 2 . 93 . . × 1 0 8 5 . 28 . . × 1 0 8 i
7 . 997270599601432 2 . 609066536945798 i 5 . 38 . . × 1 0 7 + 1 . 97 . . × 1 0 7 i
7 . 465571240351769 4 . 370169593354565 i + 1 . 02 . . × 1 0 7 4 . 41 . . × 1 0 8 i
6 . 611004249956351 6 . 171534993037231 i 1 . 86 . . × 1 0 6 2 . 61 . . × 1 0 6 i
5 . 329708590875831 8 . 052906864257035 i + 3 . 06 . . × 1 0 5 5 . 90 . . × 1 0 6 i
3 . 343023307802533 10 . 12429680724082 i + 3 . 42 . . × 1 0 4 + 3 . 13 . . × 1 0 4 i

4 CONCLUSIONS

The problems of computing the reverse generalized Bessel polynomials θ n ( z ; a ) and their zeros have been considered in this article. For computing the polynomials, the numerical performance of asymptotic expansions in terms of elementary functions given in Reference 5 has been illustrated with examples. We have shown that with very few coefficients in the expansions, an accuracy better or close to single precision can be obtained even for moderate values of n. We have also analyzed the conditioning of the linear homogeneous three-term recurrence relation satisfied by the polynomials. We have concluded that the polynomials are an asymptotically dominant solution of the recurrence relation. Therefore the forward computation of the recursion is well conditioned for large enough values of n. However, special care has to be taken when using the recurrence in the region where the zeros of θ n ( z ; a ) lie. With respect to the zeros of the polynomials, the computational performance of an efficient and accurate algorithm to evaluate the zeros has been shown in different examples. The method8 behind the algorithm is based on a qualitative analysis of the approximate Liouville-Green Stokes lines and anti-Stokes lines of the differential equation satisfied by the polynomials, combined with the application of a high-order fixed-point method and carefully selected step functions. The algorithm is shown to be efficient and accurate for all the parameters tested.

ACKNOWLEDGMENT

The authors acknowledge financial support from Ministerio de Ciencia e Innovación, Spain, project PGC2018-098279-B-I00 (MCIU/AEI/FEDER, UE).

    Biographies

    • biography image

      T. Mark Dunster received the B.Sc. degree from Reading University, UK, and his Ph.D. degree from Bristol University, UK. Currently, he is Full Professor in the Department of Mathematics and Statistics, San Diego State University, USA. His research interests include asymptotics, special functions, ordinary differential equations, and scattering theory.

    • biography image

      Amparo Gil received both the B.Sc. and her Ph.D. degrees from University of Valencia, Spain. Currently, she is a full professor of Applied Mathematics in the Department of Applied Mathematics and Computer Sciences, University of Cantabria, Spain. She is an associate editor of the Digital Library of Mathematical Functions project. Her research interests are numerical analysis and computational methods for special functions.

    • biography image

      Diego Ruiz-Antolín received both the B.Sc. degree and his Ph.D. degree from University of Cantabria, Spain. His research interests are numerical analysis and computational methods for special functions. He is an assistant professor in the Department of Applied Mathematics and Computer Sciences, University of Cantabria, Spain.

    • biography image

      Javier Segura is a full professor of mathematical analysis at University of Cantabria, Spain. His main fields of interest are special functions and numerical analysis. He is a coauthor (with A. Gil and N. M. Temme) of the book "Numerical Methods for Special Functions" published by SIAM in 2007. Segura is a member of the IFIP Working Group 2.5 on Numerical Software and he is an associate editor of the Digital Library of Mathematical Functions project.

      The full text of this article hosted at iucr.org is unavailable due to technical difficulties.