Sturm's theorem giving wrong answer for a particular exponential polynomial?

128 Views Asked by At

I have an exponential polynomial on the unit interval of the form $$F(z,e^z)=P(z)+Q(z)e^{kz}$$ where $P$ and $Q$ are polynomials with integer coefficients and $k$ is a positive integer. I am interested in the number of roots in the interval $(0,1)$. Naturally, Sturm's theorem comes to mind, but here we have an exponential polynomial. After some research ("Towards computing non algebraic cylindrical decompositions" by Richardson, 1991 and described in https://www.researchgate.net/profile/Aude_Maignan/publication/221564404_Solving_One_and_Two-Dimensional_Exponential_Polynomial_Systems/links/5710d07208ae19b18694ee85/Solving-One-and-Two-Dimensional-Exponential-Polynomial-Systems.pdf), it seems I am in luck, where a Sturm's theorem is proved for real analytic functions, including exponential polynomials. However, I am having trouble using the theorem successfully, where my calculation (below) gives the wrong answer. It seems that either I can't use the theorem or I'm making a mistake somewhere.

To be specific, let $P(z)=-110z^2$ and $Q(z)=(1-z)^5-(1-z)^{16}+5z(1-z)^4-16z(1-z)^{15}$ and $k=10$.

Below I have a graph of $\log(\lvert F(z,e^z)\rvert)$, which clearly shows three roots: at 0 and around 0.18 and 0.51 (btw, does anyone know if these are real or rational?)

Plot of log of absolute value of polynomial

I proceed to use Sturm's theorem. My understanding is that I should interpret $F(z,e^z)$ as a classical polynomial in two-variables $F(z,y)$ where $y=e^z$. Then I generate a Sturm sequence as follows. Set the first element $f_1(z,y)=F(z,y)$. Set the second element $f_2(z,y)=\frac{\partial}{\partial y}F(z,y)=kQ(z)y^{k-1}$. The next element $f_3(z,y)$ is the negative polynomial remainder of $f_1$ divided by $f_2$ (as polynomials in $y$), which is $f_3(z,y)=-P(z)$. We are done (the next element is zero) and our Sturm sequence contains three elements. It seems that this implies that the maximum number of roots in $(0,1)$ is two (which is correct).

Set $S(z)=(f_1(z,e^z),f_2(z,e^z),f_3(z,e^z))$. Take $z=0.1,0.9$. We have $S(0.1)\sim(-0.00232472, 9.93218, 1.1)$ and $S(0.9)\sim(-85.3726, 15.1546, 89.1)$, so the signs are $(-,+,+)$ and $(-,+,+)$, each having a single sign change. Therefore the number of roots in $(0.1,0.9)$ is zero. But this is a contradiction because we know there are two roots.

What is going on? How do I (or can I) use Sturm's theorem for this particular exponential polynomial to conclude there are two roots in $(0,1)$?