# How to count the number of zeros that a polynomial has on the unit circle?

###### Abstract

The classical problem of counting the number of real zeros of a real polynomial was solved a long time ago by Sturm. The analogous problem of counting the number of zeros that a polynomial has on the unit circle is, however, still an open problem. In this paper, we show that the second problem can be reduced to the first one through the use of a suitable pair of Möbius transformations — often called Cayley transformations — that have the property of mapping the unit circle to the real line and vice versa. Although the method applies to arbitrary complex polynomials, we discuss in detail several classes of polynomials with symmetric zeros as, for instance, the cases where the polynomial is self-conjugate, self-adjoint, self-inversive, self-reciprocal or skew-reciprocal. We show that faster algorithms can be implemented in these cases. Finally, an application of this method to Salem polynomials and to polynomials with small Mahler measure is also discussed.

###### keywords:

Self-inversive polynomials, Self-reciprocal polynomials, Salem polynomials, Sturm theorem, Möbius transformations, Cayley transformations.## 1 Methods for counting the number of real zeros of real polynomials

The first exact method for counting the number of real zeros of a given real polynomial without knowing its zeros explicitly was presented by Sturm in 1829 Sturm1829 (). In its simplest form, Sturm method works as follows: let be a polynomial of degree with real coefficients; further, let be two real numbers which are not a multiple zero of . Then, construct the so-called Sturm sequence

(1.1) |

where

(1.2) |

and

(1.3) |

where is determined by the condition that has degree zero. Notice that each for corresponds to the opposite of the polynomial remainder obtained in the Euclidean division of by , so that is proportional to the greatest common divisor of and . Furthermore, let denote the number of sign variations in the sequence for . Then, Sturm theorem states that the number of distinct zeros of in the half-open interval is

(1.4) |

The proof is based on the fact that, as we vary from to on the real line, the sequence suffers a sign variation when, and only when, passes through a zero of . Thus, the number of sign variations of from to counts the exact number of distinct real zeros of in this interval — for the proof, see Waerden2003 (); Akritas1989 ().

We remark that Sturm’s method requires a real polynomial with no multiple zeros at the endpoints and . Besides, it excludes from the counting the eventual zero of at but includes the zero at ; it is, however, an easy matter to verify if has or not a zero at , so that we can also count the number of zeros of in any closed interval . Notice moreover that Sturm method described above counts only the number of distinct real zeros of . Nonetheless, Sturm had shown in a subsequent paper Sturm1835 () that the number of non-real zeros of in the interval can be determined from his method as well and Thomas in Thomas1941 () showed that a generalization of Sturm algorithm can also get account for the multiplicity of the zeros.

It is worth to mention that Sturm derived this theorem during his researches on qualitative aspects of differential equations, which gave rise to the so-called Sturm-Liouville theory Al-Gwaiz2008 (). In fact, in an interval of weeks Sturm published similar theorems regarding the distribution of zeros of orthogonal functions, which are solutions of Sturm-Liouville differential equation JeanClaudePadovani2009 ().

Sturm was influenced by the works of Fourier and, as a matter of a fact, his method can be thought of as a refinement of Fourier’s previous result Fourier1820 () that establishes an upper bound for the number of real zeros of in a given half-open interval of the real line through the number of sign variations in the Fourier sequence

(1.5) |

for running from to over the real line. Thus, we can say that Sturm’s method makes Fourier’s exact.

Other methods for counting or isolating the real zeros of a given real polynomial were formulated since Sturm’s fundamental papers. In 1834, Vincent published a paper Vincent1834 () (republished two years later, with few additions, in Vincent1836 ()), in which a method based on successive replacements in terms of continued fractions was proposed. His method was based on a previous work of Budan Budan1807 (), who established a theorem equivalent to that of Fourier Fourier1820 (), although in a different form. Unfortunately, Vincent’s work was almost forgotten thenceforward and, in fact, it was only rescued from oblivion in 1976 by Collins and Akritas, who formulated a powerful bisection method based on Vincent’s theorem for isolating the zeros of a given real polynomial CollinsAkritas1976 (). Two years later, Akritas AkritasThesis1978 (); Akritas1978 () gave a fundamental contribution to this method by replacing the uniform substitutions that take place in Vincent’s algorithm by non-uniform ones based on previously calculated bounds for the zeros of the testing polynomial. With that modification, Akritas was able to reduce the complexity of Vincent’s method from exponential to polynomial type. Further improvements of these methods gave rise to some of the fastest algorithms known up to date for counting or isolating the real zeros of real polynomials — see Akritas1989 (); AlesinaGaluzzi1998 (); AlesinaGaluzzi2000 (); RouillierZimmermann2004 (); AkritasStrzebonski2005 (); AkritasVigklas2010 () and references therein.

## 2 The Cayley transformations and polynomials

The methods described above determine the exact number of zeros of a real polynomial on the real line. The correspondent problem of determining the exact number of zeros of a given polynomial on the unit circle is still unsolved. In fact, this is an old question whose first works remount to the end of xix century: we can cite, for instance, the pioneer works of Eneström Enestrom1893 (); Enestrom1920 (), Kakeya Kakeya1912 (), Schur Schur1917 (), Kempner Kempner1916 (); Kempner1918 (); Kempner1935 () and Cohn Cohn1922 ().

In the recent years, a great interest on this problem has emerged, usually in connection with the theory of the so-called self-inversive polynomials, which are polynomials whose zeros are all symmetric with respect to the unit circle Bonsall1952 (); Marden1966 (). Self-inversive polynomials are important in both pure and applied mathematics: they appear in connection with the theory of numbers, algebraic curves, knots theory, error-correcting codes, cryptography and also in some topics of physics as in quantum and statistical mechanics — see YangLee1952 (); Bogomolny1992 (); Bogomolny1996 (); Joyner2013 (); VieiraLimaSantos2015 (); Vieira2017 (). There is a countless number of papers that presents conditions for all, some, or no zero of a self-inversive polynomial to lie on the unit circle — see Vieira2019 () and references therein.

In this paper, we present a method that reduces the problem of counting the number of zeros that an arbitrary complex polynomial has on the unit circle to the problem of counting the number of zeros of a real polynomial on the real line. Because the second problem is completely addressed by Sturm (or Akritas) method, our approach also solves the first problem completely. The method is based on the use of the following pair of Möbius transformations:

(2.1) |

which are often called Cayley transformations Flanigan1972 (). Together with the relations

(2.2) |

these two transformations become the inverse of each other in the
extended complex plane .
It can be easily verified that maps the real line onto the
complex unit circle ,
while maps the unit circle onto the real line^{1}^{1}1We remark that the transformations (2.1) are not the only
pair of Möbius transformations that maps the unit circle onto the
real line and vice versa: they are, however, the most adequate ones
for our purposes.. Besides, sends any point in the upper-half (lower-half)
plane to the interior (exterior) of , so that
sends any point in the inside (outside) of to the upper-half
(lower-half) plane.

Given a complex polynomial of degree , we define the Cayley-transformed polynomials and by the formulas:

(2.3) |

and

(2.4) |

The factor in front of the second formula is to make the two mappings (2.3) and (2.4) the inverse each of the other.

The following theorems discuss some properties of these Cayley-transformed polynomials and their zeros.

###### Theorem 1.

###### Proof.

Suppose that has a zero at of multiplicity , where . Write, , where is is a polynomial of degree with no zeros at . From (2.3) we get that , where . Now, expanding in powers of we can verify that its leading coefficient equals ; because we conclude that is a polynomial of degree and so it is . By the same argument, if has a zero of multiplicity at the point , then as given by (2.4) will be is a polynomial of degree . ∎

Thus, the condition for the Cayley-transformed polynomial (respectively, ) to have the same degree as the original polynomial is that has no zero at (respectively, at ).

###### Theorem 2.

Let be the zeros of a complex polynomial of degree . If , then the zeros of the transformed polynomials will be, respectively,

(2.5) |

Similarly, if , then the zeros of the transformed polynomial will be, respectively,

(2.6) |

###### Proof.

Theorem 2 shows us that whenever a polynomial is transformed through a Cayley transformation, its zeros are accordingly transformed through the inverse transformation. Besides, from relations (2.2), we see that if has a zero at the point (respectively, ), then the transformed polynomial (respectively, ) will have a zero at infinity, which confirms again that the transformed polynomial cannot have the same degree as in this case.

The previous results imply the following theorem, which is a keystone in the what follows:

###### Theorem 3.

Let be a complex polynomial of degree that has zeros on the unit circle, counted with multiplicity, and such that . Then the transformed polynomial will have exactly real zeros, also counted with multiplicity. Similarly, if is a complex polynomial of degree that has zeros on the real line, counted with multiplicity, and such that , then the transformed polynomial will have zeros on the unit circle, also counted with multiplicity.

###### Proof.

These statements follow directly from the theorems proved above and from the fact that the Cayley transformations and map the real line onto the unit circle and vice versa, respectively. ∎

## 3 The number of zeros on the unit circle of a general complex polynomial

From Theorem 3 becomes clear how we can count
the number of zeros that a polynomial has on the unit circle: all
we need to do is to compute the Cayley-transformed polynomial
and to count the number of zeros on the real line of .
Thus, we would be done if was not for one detail: Sturm (and Akritas)
method requires a real polynomial to work with, while the transformed
polynomial usually have non-real coefficients^{2}^{2}2In Theorem 5 we show that the the transformed polynomial
will be a real polynomial
only if the original polynomial is self-adjoint. (of course, if some root-counting-method worked with general complex
polynomial this would not be a problem). To work around this issue
we can proceed in two ways. The first way consists of multiplying
the transformed polynomial by its complex conjugate^{3}^{3}3The star means complex conjugation so that, if ,
then,
, , so that a polynomial of degree
is obtained in place:

(3.1) |

It is clear that the zeros of are the complex-conjugate of the zeros of , from which it follows that has the same number of real zeros than , counted without multiplicity. Sturm (or Akritas) procedure can now be used to the number of real zeros of , which, according to Theorem 3, will correspond to the number of zeros that the original polynomial has on the unit circle, provided (if then all we need to do is to add to the final result). This is described in Algorithm 1, where means any real-root-counting procedure that gives the exact number of distinct zeros that a given real polynomial has on the interval of the real line.

The second way consists of writing the transformed polynomial in the form , where and , so that both and are both real polynomials (this alternative was suggested already in Conrad2016 ()). From this we may realize that any common zero of and is also a zero of . Conversely, if is a zero of , then either is a common zero of and or . The last condition, however, can not be satisfied whenever is real, which means that any real zero of is necessarily a common zero of and . Thus we can compute the greatest common divisor of and and define

(3.2) |

Thereby has, again, the same number of real zeros than , whence Sturm (or Akritas) procedure can be used to count the number of real zeros of , which gives indirectly the number of zeros of on the unit circle. This is described in Algorithm 2 .

We remark that both the alternatives described above have their caveats: in the first case has degree , twice the degree of , while in the second case, although has degree , it is necessary to compute the gcd of two polynomials to obtain it. Besides, notice that both algorithms count only the number of distinct zeros of . If we are interested in the number of zeros counted with multiplicity then we need to employ a suitable real-root-counting method that takes this into account — for example, Thomas algorithm Thomas1941 ().

Finally, we highlight that we can also count the number of zeros of in a given arc of the unit circle. Let be the referred arc of the unit circle. In the simplest case, we assume that , so that the interval is mapped to the interval on the real line, where and [with the following conventions: and ]. The number of zeros of on the arc can thereby be found by counting the number of real zeros that the polynomial — as given by (3.1) or (3.2) —, has on the interval of the real line. In the case where (which corresponds to an open interval on the unit circle that contains the point ), we need to split the algorithm into two parts because, in this case, the interval on the real line will be composed by two disjoint intervals — namely, we have . Thus, the procedure must be replaced by in this case. Finally, if the point belongs to the interval and , then we should add to the final result. This is described in Algorithm 3 (for sake of simplicity, we have defined the polynomial through (3.1) there).

## 4 The number of zeros of self-conjugate and self-inversive polynomials on the unit circle

The algorithms presented above apply to any complex polynomial. In the most important cases, however, the coefficients of the test polynomial enjoy certain symmetries which allow us to implement faster algorithms. In the what follows, we shall specialize into two classes of polynomials whose zeros are symmetric with respect to either the real line or the unit circle.

Let us suppose first that all the zeros of are symmetric with respect to the real line. This means that, for any zero of , the complex conjugate number is also a zero of it. Of course, any real polynomial has this property, but there can be non-real polynomials with this property as well. This suggests us to call any complex polynomial whose zeros are all symmetric with respect to the real line as a self-conjugate polynomial. The necessary and sufficient condition for a complex polynomial of degree to be self-conjugate is that there exists a fixed complex number of modulus such that,

(4.1) |

In fact, if this condition is satisfied, then is clearly self-conjugate because, for any zero of , the complex conjugate will also be a zero of it. Now let be a self-conjugate polynomial of degree . In this case, we can write , where is the leader coefficient of (which can be any non-null complex number), and is a monic real polynomial of degree . Evaluating at and taking the complex conjugate, we get that , so that (4.1) follows after we define . Notice that the coefficients of any self-conjugate polynomial of degree satisfy the properties:

(4.2) |

Notice that for a self-conjugate polynomial of degree , the polynomial given by (3.1) will actually be a polynomial of degree in the variable . This is the content of the following:

###### Theorem 4.

Let be a self-conjugate polynomial of degree such that . Then the polynomial as defined by (3.1) will be a real polynomial of degree in the variable .

###### Proof.

From this property, we can see that, in the case where is self-conjugate, the degree polynomial can be transformed into an degree polynomial by the replacement . The number of positive zeros of will, therefore, equal the half of the number of real zeros of . Thus, for counting the number of zeros on the unit circle of a given self-conjugate polynomial of degree we can proceed as in Algorithm 1, except that we can replace by and the procedure by (we should also notice that Sturm’s procedure will not take into account the eventual zero of at , which should be added to the counting if it is the case; the condition is equivalent to the condition ). This is exemplified in Algorithm 4.

Finally, we remark that, if we are interested in the number of zeros of a self-conjugate polynomial of degree in a given interval of the unit circle, then the change of variable is not adequate because this map is not one-to-one. In fact, in this case we cannot ensure anymore that the number of real zeros of on this interval corresponds to twice the number of zeros of in the respective positive interval of the real line. In this case is better to use Algorithm 3 instead.

Now, let us consider the case of a complex polynomial whose zeros are all symmetric with respect to the unit circle. This means that, for any zero of , the complex number is also a zero of it. Any polynomial of this kind is called a self-inversive polynomial Marden1966 () and the necessary and sufficient condition for a polynomial of degree to be self-inversive is that and that there exists a complex number with modulus such that,

(4.6) |

Indeed, if the condition above is satisfied, then is clearly self-inversive. Then, suppose that all the zeros of are symmetric with respect to the unit circle. In this case we can write , where is the leading coefficient of and is a monic polynomial. On the other hand, evaluating at , taking the complex conjugate and multiplying by we shall obtain the polynomial,

(4.7) |

whose zeros are the same as before. From this, we promptly see that (4.6) will be satisfied provided we define . Besides, must have modulus as the product of the zeros of any polynomial whose zeros are all symmetric with respect to the unit circle has modulus , so that we get . Notice that the coefficients of any self-inversive polynomial of degree satisfy the properties:

(4.8) |

If a given polynomial is self-inversive with we shall
call it a self-adjoint polynomial^{4}^{4}4Similarly, a self-inversive polynomial of degree with
can be called a skew-adjoint polynomial. The coefficients of
a skew-adjoint polynomial of degree satisfy the relations
for . The set of skew-adjoint polynomials
are isomorphic to the set of pure imaginary polynomials through the
mapping (2.4).. Any self-adjoint polynomial of degree satisfies, therefore,
the property,

(4.9) |

and its coefficients satisfy the relations:

(4.10) |

The following theorem shows that there is a one-to-one correspondence between the sets of self-inversive and self-conjugate polynomials, as well as between the sets of self-adjoint and real polynomials.

###### Theorem 5.

Let be a self-inversive polynomial. Then, the transformed polynomial defined by (2.3) will be a self-conjugate polynomial. Moreover, if is a self-adjoint polynomial, then the transformed polynomial will be a real polynomial. Similarly, let be a self-conjugate polynomial. Then the polynomial defined by (2.4) will be a self-inversive polynomial and if is a real polynomial, then will be a self-adjoint polynomial.

###### Proof.

Let be self-inversive. Then, the Cayley-transformed polynomial is given by:

(4.11) |

But we have the identity , from which we get,

(4.12) |

which proves that is self-conjugate. Notice that if , so that is self-adjoint polynomial, then we get that will be a real polynomial because the value of is preserved during this transformation.

Now, suppose that is a self-conjugate polynomial. Then the Cayley-transformed polynomial is given by:

(4.13) |

But we have the identity , from which it follows that,

(4.14) |

which proves that is self-inversive. In the case where so that is a real polynomial, we get that will be a self-adjoint polynomial. ∎

Now, let us see how we can count the number of zeros that a self-adjoint and self-inversive polynomial has on the unit circle. Let us first consider the case were is self-adjoint. In this case, Theorem 5 ensures that is already a real polynomial, so that there is no need of defining the polynomial given by (3.1). This results in the Algorithm 5, which is a faster version of Algorithm 1. The number of zeros of in a given arc of the unit circle can also be found by a simplified version of Algorithm 3.

Now, let us suppose self-inversive with . In this case, the Cayley-transformed polynomial is not real. Of course, this issue can be overcome through algorithms 1 or 2, but we shall show in the what follows that for self-inversive polynomials there is another way of approaching this problem, namely, that a self-adjoint polynomial , with the same degree as that of , can always be found by a simple change of variable. This is the content of the following:

###### Theorem 6.

Let be a self-inversive polynomial of degree such that . Then, there exist values for the real variable in the interval for which the composition will provide a self-adjoint polynomial of degree . The possible values of are related with through the formula , for , such that for any admissible value of . Conversely, if is a self-adjoint polynomial of degree , then will provide a self-inversive polynomial of degree such that .

###### Proof.

Let be a self-inversive polynomial of degree . Making the change of variable , we get that,

(4.15) |

This is polynomial of degree in the variable which we may call :

(4.16) |

Now, using the fact that the coefficients of should satisfy the properties (4.8), we get that will be a self-adjoint polynomial provided be related to through the formula:

(4.17) |

Inverting this relation, we get that , where,

(4.18) |

This shows us that there exist possible values for in the interval for which will be self-adjoint. Thus, for each admissible value of , a given self-adjoint polynomial is obtained and we can write:

Furthermore, in terms of we also have that,

(4.19) |

Finally, given a self-adjoint polynomial of degree , then it is clear that will be a self-inversive polynomial with for any admissible value of . ∎

We highlight that Theorem 6 means that any self-inversive polynomial can be thought as a rotated self-adjoint polynomial. In fact, if denote the zeros of a self-inversive polynomial of degree , and the correspondent zeros of the self-adjoint polynomials , , as provided by Theorem 6, then it is straightforward matter to show that

(4.20) |

for any and running from to .

Therefore, the zeros of are rotated with respect to the zeros of by an angle equal to divided by — the th root of unity of degree — in the clockwise direction. Theorem 6 also shows us that if we rotate the zeros of a given polynomial of degree by an angle equal to any multiple of a root of unity of degree , then we shall obtain another self-inversive polynomial with the same Therefore, there are exactly self-inversive polynomials conjugated in this way.

Now, from Theorem 6, we can implement a faster algorithm to count the number of zeros on the unit circle of any self-inversive polynomial. This is described in Algorithm 6.

Moreover, we can also count the number of zeros that has in a given arc by making a few modifications in Algorithm 3. These modifications consist of the following: instead of defining the polynomial through (3.1), we use Theorem 6 to transform the self-inversive polynomial , if , into the self-adjoint polynomial , where where is related to by formula (4.17). Then, we need to rotate as well the endpoints and of the interval by the angle in the clockwise direction, so that the new endpoints on the unit circle become,

(4.21) |

Finally, the interval endpoints and used in the Sturm (or Akritas) procedure are found from the Cayley transformation applied to the rotated endpoints and on the unit circle, that is, and , and from this point forward we can proceed as before.

## 5 The number of zeros of self-reciprocal and skew-reciprocal polynomials on the unit circle. An application to Salem polynomials

As the last case to be discussed in this work, let us suppose the possibility of a complex polynomial of degree which is, at the same time, self-conjugate and self-inversive. From the properties (4.1) and (4.6), it follows therefore that such polynomials should satisfy the property:

(5.1) |

Contrary to the previous cases, however, can assume only the values or . In fact, replacing by in the formula above we immediately realize that . Hence, any polynomial which is simultaneously self-conjugate and self-inversive is actually a real polynomial.

In the first case where , we say that is a self-reciprocal polynomial, while in the second case where , is often called a skew-reciprocal polynomial. The coefficients of any self-reciprocal or skew-reciprocal polynomial satisfy, respectively, the relations:

(5.2) |

The results of the previous sections are dramatically simplified when is a self-reciprocal or skew-reciprocal polynomial:

###### Theorem 7.

Let be a self-reciprocal polynomial of even degree, say . Then, as defined by (2.3) will be a real polynomial of degree in the variable . Moreover, if is a self-reciprocal polynomial of odd degree, say , then will be a real polynomial of degree in the variable , multiplied by . Similarly, let be a skew-reciprocal polynomial of degree . Then, as defined by (2.3) will be a pure imaginary polynomial of degree in the variable .

###### Proof.

Let us suppose first that is a self-reciprocal polynomial of even degree, say, . Because the coefficients of any self-reciprocal polynomial satisfy the first set of relations in (5.2), it follows that can be written as,

(5.3) |

On the other hand, the transformed polynomial defined in (2.3) becomes,

(5.4) |

after a simplification. Therefore, we can plainly see that is an even function of , which means that is in fact a polynomial of degree on the variable . Furthermore, is also a real polynomial because all the imaginary terms inside the brackets will cancel after we expand the binomials.

Now, let us suppose a self-reciprocal polynomial of odd degree, say, . In this case, always has a zero at , so that we can write , where is a self-reciprocal polynomial of degree . Thus, the transformed polynomial will be, in this case,

(5.5) |

If denotes the transformed polynomial associated with , that is, , then we see that . But is a self-reciprocal polynomial of even degree, so that we conclude that will be a real polynomial in the variable and that will be a real polynomial in the variable , multiplied by .

Finally, let us suppose is a skew-reciprocal polynomial of degree . If is of even degree, say, , then relations (5.2) imply that . Therefore, we can write:

(5.6) |

The transformed polynomial becomes, now,

(5.7) |

After expanding the binomials we conclude that is a pure imaginary polynomial in the variable . If, on the other hand, has odd degree, say, , then necessarily has a zero at . Thus, , where is a self-reciprocal polynomial of degree . The transformed polynomial is, in this case,

(5.8) |

from which we conclude that is also a pure imaginary polynomial in the variable , although its degree is