TY - JOUR

T1 - A near-optimal subdivision algorithm for complex root isolation based on the Pellet test and Newton iteration

AU - Becker, Ruben

AU - Sagraloff, Michael

AU - Sharma, Vikram

AU - Yap, Chee

N1 - Funding Information:
Supported by National Science Foundation Grant #CCF-1423228.
Publisher Copyright:
© 2017 Elsevier Ltd

PY - 2018/5/1

Y1 - 2018/5/1

N2 - We describe a subdivision algorithm for isolating the complex roots of a polynomial F∈C[x]. Given an oracle that provides approximations of each of the coefficients of F to any absolute error bound and given an arbitrary square B in the complex plane containing only simple roots of F, our algorithm returns disjoint isolating disks for the roots of F in B. Our complexity analysis bounds the absolute error to which the coefficients of F have to be provided, the total number of iterations, and the overall bit complexity. It further shows that the complexity of our algorithm is controlled by the geometry of the roots in a near neighborhood of the input square B, namely, the number of roots, their absolute values and pairwise distances. The number of subdivision steps is near-optimal. For the benchmark problem, namely, to isolate all the roots of a polynomial of degree n with integer coefficients of bit size less than τ, our algorithm needs O˜(n3+n2τ) bit operations, which is comparable to the record bound of Pan (2002). It is the first time that such a bound has been achieved using subdivision methods, and independent of divide-and-conquer techniques such as Schönhage's splitting circle technique. Our algorithm uses the quadtree construction of Weyl (1924) with two key ingredients: using Pellet's Theorem (1881) combined with Graeffe iteration, we derive a “soft-test” to count the number of roots in a disk. Using Schröder's modified Newton operator combined with bisection, in a form inspired by the quadratic interval method from Abbot (2006), we achieve quadratic convergence towards root clusters. Relative to the divide-conquer algorithms, our algorithm is quite simple with the potential of being practical. This paper is self-contained: we provide pseudo-code for all subroutines used by our algorithm.

AB - We describe a subdivision algorithm for isolating the complex roots of a polynomial F∈C[x]. Given an oracle that provides approximations of each of the coefficients of F to any absolute error bound and given an arbitrary square B in the complex plane containing only simple roots of F, our algorithm returns disjoint isolating disks for the roots of F in B. Our complexity analysis bounds the absolute error to which the coefficients of F have to be provided, the total number of iterations, and the overall bit complexity. It further shows that the complexity of our algorithm is controlled by the geometry of the roots in a near neighborhood of the input square B, namely, the number of roots, their absolute values and pairwise distances. The number of subdivision steps is near-optimal. For the benchmark problem, namely, to isolate all the roots of a polynomial of degree n with integer coefficients of bit size less than τ, our algorithm needs O˜(n3+n2τ) bit operations, which is comparable to the record bound of Pan (2002). It is the first time that such a bound has been achieved using subdivision methods, and independent of divide-and-conquer techniques such as Schönhage's splitting circle technique. Our algorithm uses the quadtree construction of Weyl (1924) with two key ingredients: using Pellet's Theorem (1881) combined with Graeffe iteration, we derive a “soft-test” to count the number of roots in a disk. Using Schröder's modified Newton operator combined with bisection, in a form inspired by the quadratic interval method from Abbot (2006), we achieve quadratic convergence towards root clusters. Relative to the divide-conquer algorithms, our algorithm is quite simple with the potential of being practical. This paper is self-contained: we provide pseudo-code for all subroutines used by our algorithm.

KW - Approximate arithmetic

KW - Certified computation

KW - Complex roots

KW - Complexity analysis

KW - Root finding

KW - Root isolation

KW - Subdivision methods

UR - http://www.scopus.com/inward/record.url?scp=85018976768&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=85018976768&partnerID=8YFLogxK

U2 - 10.1016/j.jsc.2017.03.009

DO - 10.1016/j.jsc.2017.03.009

M3 - Article

AN - SCOPUS:85018976768

VL - 86

SP - 51

EP - 96

JO - Journal of Symbolic Computation

JF - Journal of Symbolic Computation

SN - 0747-7171

ER -