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
SN - 0747-7171
VL - 86
SP - 51
EP - 96
JO - Journal of Symbolic Computation
JF - Journal of Symbolic Computation
ER -