Descartes rule of sign can be used to isolate the intervals containing the real roots of a real polynomial. The rule bounds the number of roots from above, that is, it is exact only for intervals having zero or one root. In methods like VCA, VAS and similar, it is used to count the number of sign changes to determine the number of roots.

My question is, what to do if the rule reports, say, two sign changes for interval which does not contain any roots? To shift and scale the polynomial is not exactly cheap so I would like to avoid the bisection of the interval until it is small enough.


Unfortunately the answer is: subdivide and go on. The rule-of-signs-predicate is not able to tell whether there are any roots, and if you have no additional means to do so, you have no other option.

However, there are theorems which tell you that this won't happen too often. Short summary of the "easy" cases: If you count the sign variations $v$ of the polynomial which "describes" the interval $[a,b]$, then

  • $v$ will be 0 if no (complex) root of the input polynomial is contained in the disc in the complex plane with diameter $ab$, and
  • $v$ will be 1 if only one (complex) root of the input is contained un the union of the circumcircles of the two equilateral triangles that have $ab$ as one side, assuming that this root is simple.

There are more detailed versions of these theorems, but in a nutshell it boils down to: you will count the right thing unless there is a cluster of complex roots close to the interval (w.r.t. the scale/precision you are currently considering), and you have to "zoom in" to deblur and resolve the situation.

However, if you have reasons to believe that there is a wide range without any roots, note that "subdivide" is not necessarily the same as "bisect". You are free to choose other subdivision methods; this eventually leads to fancier algorithms like Continued Fraction solver (VAS; praised in practice, at least for some benchmarks, but their actual merit is disputed) or combinations of Newton iteration and Descartes (see the recent publications by Michael Sagraloff and his colleagues; disclaimer: I'm working in Michael's group).

  • $\begingroup$ If I "subdivide and go on", are the false-positives going to disappear before reaching "eps-width" interval? I mean, when v is two for some root-less intervals, will the subdivision eventually say "0" for all the siblings of subdivision tree at some depth, or will I have to keep on subdividing until I reach the tiniest allowable interval width and then take (a + b) / 2? $\endgroup$ – Ecir Hana Jul 28 '15 at 8:59
  • $\begingroup$ There ain't no such thing as "false positives" here - it's just "undecidable situations". v=2 could mean "2 real roots" or "2 complex roots" or "a real root of multiplicity 2"; the predicate does not allow you to draw any further conclusion. Whether the situation is resolved before you reach your epsilon is, well, dependent on your epsilon. The canonical worst-case instances are Mignotte-like polynomials of a form similar to x^n +/- (2^L x - 1)^2, which - depending on the sign - have either two simple real or two simple complex roots within a distance of appx. 2^(-n L) next to 1/2^L... $\endgroup$ – akobel Jul 28 '15 at 9:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.