95
Master‘s Thesis in Computer Science Certied Numerical Root Finding submitted by Alexander Kobel on February 14, 2011 Saarland University Faculty of Natural Sciences and Technology I Department of Computer Science Saarbrücken, Germany U N I V E R S I T A S S A R A V I E N S I S Max-Planck-Institute for Informatics Saarbrücken, Germany Advisor and First Reviewer Dr. Michael Sagraloff Supervisor and Second Reviewer Prof. Dr. Kurt Mehlhorn

CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

Master‘s Thesis in Computer Science

CertiVed Numerical Root Finding

submitted by

Alexander Kobel

on February 14, 2011

Saarland UniversityFaculty of Natural Sciences and Technology I

Department of Computer ScienceSaarbrücken, Germany

UN I

V E R S IT AS

SA

R A V I E N SI S

Max-Planck-Institute for InformaticsSaarbrücken, Germany

Advisor and First Reviewer

Dr. Michael Sagraloff

Supervisor and Second Reviewer

Prof. Dr. Kurt Mehlhorn

Page 2: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

Non-Plagiarism StatementHereby I confirm that this thesis is my own workand that I have documented all sources used.

Statement of ConsistencyHereby I confirm that this thesis is identicalto the digital version submitted at the same time.

Declaration of ConsentHerewith I agree that my thesis will be made availablethrough the library of the Computer Science Department.

Saarbrücken, February 14, 2011

Alexander Kobel

Page 3: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

Abstract

Root isolation of univariate polynomials is one of the fundamental problems in computational algebra.It aims to find disjoint regions on the real line or complex plane, each containing a single root of agiven polynomial, such that the union of the regions comprises all roots.

For root solving over the field of complex numbers, numerical methods are the de facto standard.They are known to be reliable, highly efficient, and apply to a broad range of different input types.Unfortunately, most of the existing solvers fail to provide guarantees on the correctness of theiroutput. For those that do, the theoretical superiority is matched by the effort required for an efficientimplementation.

We strongly feel that there is no need to suffer the pain of theoretically optimal algorithms todevelop an efficient library for certified algebraic root finding. As evidence, we present ARCAVOID, ahighly generic and fast numerical Las Vegas-algorithm. It uses the well-established Aberth-Ehrlichsimultaneous root finding iteration. Certificate on the exactness of the results are provided by rigorousapplication of interval arithmetics. Our implementation transparently handles the case of bitstreamcoefficients that can be approximated to any arbitrary precision, but cannot be represented exactly asrational numbers.

While the convergence of the Aberth-Ehrlich method is not proven – and, thus, our approachcannot strictly be considered complete – we are not aware of any instance where it fails. Practicallyspeaking, its runtime is output-sensitive in the geometric configuration of the roots, in particularthe separation of close roots. In contrast, the influence of degree and complexity of the coefficientsbacks out, although it remains perceptible. Our algorithm requires no advanced data structures, andthe implementation does not feature complicated asymptotically fast algorithms. Yet, we provideextensive benchmarks proving that ARCAVOID can compete with sophisticated state-of-the-art rootsolvers, whose intricacy is orders of magnitude higher.

We emphasize the importance of complex root finding even for applications where it may not beconsidered in the first place, namely real algebraic geometry. Traditionally used real root solverscannot deliver information about the global root structure of a polynomial. When exploiting thisinformation, the integration of ARCAVOID into a framework for algebraic plane curve analysis yieldssignificant benefits over existing methods.

i

Page 4: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011
Page 5: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

Acknowledgements

If I remember correctly, the theoretical computer science course, held by Kurt Mehlhorn, has beenthe second lecture I ever attended in my academic studies. After the semester, he offered me a“HiWi” position as student assistant in the Algorithms and Data Structures working group at theMax-Planck-Institute for Informatics. I am grateful for this opportunity, and since then felt affiliatedwith people and work there. Thus, I am glad that you allowed me to renew this bond when youagreed to supervise this thesis.

I am deeply indebted to Michael Sagraloff. Your everlasting belief in my abilities and your invaluableadvise on this thesis as well as on personal matters are a cornerstone of this work.

Whenever a technical problem emerged, Eric Berberich supported me with words and deeds.Without your help and incredible motivation, the implementation as it stands would not have beenpossible.

For the second time, I have the pleasure to mention Pavel Emeliyanenko. As for my Bachelor thesis,you have contributed seemingly small, yet integral, pieces of the implementation, and once again Irely on a wealth of your prior work.

In the rare cases Eric could not answer a question on existing implementations, Michael Hemmerand Michael Kerber, both former members of Kurt Mehlhorn’s working group, offered their support.

I thank Daniel Fries and Tobias Schnur for their helpful remarks on some not-so-early versions ofthis thesis.

I can hardly verbalize how much I appreciate the professional and personal atmosphere at theMax-Planck-Institute. It has been a great pleasure and opportunity to be a member of your team.

iii

Page 6: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011
Page 7: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

Contents

Notation ix

1 Introduction 11.1 Structure of the Thesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2 Computing with Numbers and Polynomials 32.1 Problem Statement and Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.2 (Arbitrary Precision) Floating Point Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . 42.3 Interval Arithmetic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.4 Bitstreams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

3 Established Root Isolation Methods 113.1 History of Polynomial Root Finding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113.2 Generic Subdivision Algorithm for Root Solving . . . . . . . . . . . . . . . . . . . . . . . . 12

3.2.1 Root Bounds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133.3 Traditional Real Root Solvers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3.3.1 Sturmian Chain Root Solver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143.3.2 Descartes Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.3.3 EVAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3.4 Pros and Cons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223.4.1 Theoretical Complexity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223.4.2 Quality of the Predicates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233.4.3 Adaptiveness to Local Root Finding and Root Separation . . . . . . . . . . . . . . 233.4.4 Handling of Inexact Coefficients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233.4.5 Numerical Stability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233.4.6 Exploitation of Sparsity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243.4.7 Ease of Implementability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243.4.8 Practical Complexity and Existing Implementations . . . . . . . . . . . . . . . . . 25

3.5 Traditional Complex Root Solvers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253.5.1 Eigenvalue Iterations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253.5.2 Homotopy Continuation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263.5.3 Optimal Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263.5.4 CEVAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273.5.5 Complex Solvers for Real Root Isolation . . . . . . . . . . . . . . . . . . . . . . . . . 29

3.6 Root Isolation for Polynomials with Multiple (Real) Roots . . . . . . . . . . . . . . . . . . 303.6.1 Known Number of Complex Roots . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303.6.2 Known Number of Real Roots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

4 ARCAVOID 334.1 Outline of ARCAVOID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

4.1.1 Polynomial and Root Neighborhoods . . . . . . . . . . . . . . . . . . . . . . . . . . . 344.1.2 Root Inclusion Certificates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

v

Page 8: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

4.2 Simultaneous Root Approximation Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . 384.2.1 The Newton-Raphson Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394.2.2 The Weierstraß-Durand-Kerner Method . . . . . . . . . . . . . . . . . . . . . . . . . 404.2.3 The Aberth-Ehrlich Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

4.3 Opening: The Choice of a Starting Configuration . . . . . . . . . . . . . . . . . . . . . . . . 424.4 Middle Game: Precision Handling in Numerical Root Finding . . . . . . . . . . . . . . . . 434.5 Endgame: Speed-up Strategies for Ill-conditioned Roots . . . . . . . . . . . . . . . . . . . 44

5 Implementation and Experiments 475.1 Integration of ARCAVOID in the CGAL Framework . . . . . . . . . . . . . . . . . . . . . . . 475.2 Benchmarks for Univariate Solving . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

5.2.1 Contestants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485.3 Results and Interpretation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

6 Applications 596.1 Solving of Bivariate Polynomial Equation Systems . . . . . . . . . . . . . . . . . . . . . . . 59

6.1.1 BISOLVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 606.2 ARCAVOID in BISOLVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 636.3 BISOLVE-based Curve Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

6.3.1 ARCAVOID in Curve Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 666.4 Results and Interpretation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

7 Conclusion and Outlook 717.1 Directions of Further Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

A Appendix 75

B Bibliography 77

vi

Page 9: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

List of Figures

2.1 Representation of a (32 bit) floating point number according to IEEE 754 . . . . . . . . 42.2 Distribution of the dyadic bigfloats of precision 4 (F(4)) on the real axis . . . . . . . . . . 7

3.1 The monomial and Bernstein basis polynomials of degree 4 over the unit interval . . . 193.2 The Descartes method for a polynomial in Bézier curve representation . . . . . . . . . . 20

4.1 Root neighborhoods for different approximations of f = Z15 − 0.95 . . . . . . . . . . . . 354.2 Root neighborhoods for different approximations of f = Z21 − (Z + 1

16)3 (Z − 1+I

32)2 . . 35

4.3 Four steps of the real-valued Newton-Raphson iteration . . . . . . . . . . . . . . . . . . . 394.4 Fields of force for a root approximation in Newton’s, WDK and Aberth’s method . . . . 41

5.1 Benchmark polynomials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

6.1 The projection phase in BISOLVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 616.2 Curve analysis using BISOLVE: projection and lifting . . . . . . . . . . . . . . . . . . . . . . 656.3 Curve analysis using BISOLVE: arc connection . . . . . . . . . . . . . . . . . . . . . . . . . . 66

List of Algorithms

1 GenericSubdivision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 ARCAVOID (Outline) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

vii

Page 10: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011
Page 11: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

Notation

We use the conventions N := {1, 2, 3, . . .} and N0 := {0, 1, 2, 3, . . .}. As usual, the doubly struck lettersZ, Q, R, and C denote the sets of integers, rational, real and complex numbers. F and CF denote thesets of real or Cartesian complex dyadic bigfloat numbers (see definition 2.4 and 2.6). The meaningsof R≥0 := {x ∈ R : x ≥ 0}, F<2 := {x ∈ F : x < 2} and similar variants are obvious.

A superscript asterisk denotes the group of units of a ring; in particular, R∗ := R \ {0} andC∗ := C \ {0}. Although strictly speaking, the dyadic numbers do not form a field, we defineF∗ := F\{0} and CF∗ := CF\{0} as well. This is reasonable because bigfloats are used to approximatevalues in R or C and simulate their characteristics as good as possible.

We denote the real and imaginary part of a complex number z by ℜz and ℑz, respectively, and writeI for the imaginary unit. We say that a complex number z is real if z ∈ R and imaginary if z ∈ C \R.If z = I y for some y ∈ R∗, we call z purely imaginary.

For x ∈ R≥0, we write ln x for the natural logarithm to the base e = exp(1) of x , where ln 0 :=−∞.By logb x , we mean the logarithm ln x/ ln b to the base b. For the special case b = 2 of the dyadiclogarithm, we omit the subscript and write log x := log2 x .

F(p), CF(p) subset of the real or complex dyadic numbers exactly representable with a relative floatingpoint precision of p (that is at most p mantissa bits)

RI, CI the sets of real and complex (closed) intervals

[z, z′] for z, z′ ∈ C: complex box or interval {x + I y :ℜ(z)≤ x ≤ℜ(z′) ∧ ℑ(z)≤ y ≤ ℑ(z′)}• Analogously to R: (z, z′), (z, z′], [z, z′), where (some) inequalities are strict

D(m; r) closed disc in C of radius r around m: {z ∈ C : |z−m| ≤ r}

D◦(m; r) open disc in C of radius r around m: {z ∈ C : |z−m|< r}

p current relative working precision in number of mantissa bits

ix

Page 12: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011
Page 13: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

1 Introduction

In this thesis, we describe the development of a solver for the complex algebraic root isolation problem:

For a polynomial equation

f (Z) = fnZn + fn−1Zn−1 + · · ·+ f2Z2 + f1Z + f0 = 0, where fi ∈ C, fn 6= 0 and n≥ 2,

determine the number r of complex roots and a set (C1, . . . , Cr) of pairwise disjointconnected regions in the complex plane such that each Ci contains exactly one root of f .

Particular interest belongs to the sub-problem of real root isolation of a polynomial with real valuedcoefficients, where the region of interest is restricted to the zeros on the real axis. This is the domainof many well-known methods, based on Sturm’s theorem or Descartes’ Rule of Signs. Those traditionalmethods use subdivision schemes on a certain initial interval known to comprise all real roots of f .After repeated refinement of the interval, an exclusion test will eventually recognize intervals thatcannot contain a root of f . On the other hand, an isolating region will be certified as such by aninclusion predicate if the subdivision is sufficiently fine.

The efficiency of these algorithms, if properly implemented, is excellent. Yet, they do not offerglobal information about the entire vanishing set of the polynomial. Exploiting this information candrastically speed up applications in the field of geometric algorithms and computer algebra. Thus, theinterest in root finders that isolate all complex roots is not merely of theoretical nature.

Unfortunately, the inclusion and exclusion predicates applied on the reals do not generalize wellonto the complex setting. Subdivision solvers along these lines remain proof of concept. Instead,most existing complex root finders rely on numerical methods. They are known for recognized fortheir performance, but have a bad reputation for their stability and reliability of output: Most existingimplementations merely approximate zeros of the polynomial and lack to guarantee the correctnessof their solutions. We refer to such algorithms as uncertified methods.[MPSolve] by Dario Bini and Giuseppe Fiorentino is an exception amongst the numerical solvers.

It is both extremely fast and provides certified output. Yet, it lacks two important features: Firstly,MPSolve cannot handle “bitstream” coefficients that can be refined to any arbitrary finite precision,but not be represented exactly. However, this is a must in the analysis of bivariate equations. Second,the precision handling of MPSolve relies on a theoretical analysis that fixes specific constraints ofthe arithmetic operations performed within the algorithm. In particular, it does not apply whenasymptotically fast sub-algorithms for, say, multi-point polynomial evaluation schemes are used.

Our complex root finder ARCAVOID (for “Approximation, Root Clustering and Verification of IsolatingDiscs”) relaxes those restrictions. We transparently handle several kinds of bitstream inputs, and usean adaptive precision handling that solely relies on the input rather than the exact algorithms usedfor elementary operations. Furthermore, we integrate an endgame strategy for the fast refinement ofill-conditioned root clusters.

ARCAVOID is seamlessly integrated into the Computational Geometry Algorithms Library [CGAL].We show that the – already excellent – existing methods for real algebraic geometry therein can againbe significantly accelerated by our complex solver.

1

Page 14: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

1.1 Structure of the Thesis

We start by giving a concise description of the complex root finding problem in chapter 2. We discussthe possibilities of inputs to root solvers, leading to the notion of bitstream interval approximations torepresent arbitrary real and complex values, including transcendent numbers, in a manner suitablefor algorithm handling. We also give the necessary background on verified computations in arbitraryprecision.

In chapter 3, we explain a selection traditional approaches to real and complex root isolation.In particular, we introduce the three major classes of subdivision solvers, based on Sturm’s theo-rem, Descartes’ Rule of Signs, and the Bolzano principle. For the latter, we also observe a recentgeneralization for complex setting. We discuss the advantages and disadvantages of each approach.

These lead to the desired characteristics of our own root isolation method ARCAVOID, presented inchapter 4. As ARCAVOID is based on simultaneous numerical root iteration schemes, we illuminatethe most renowned methods, each contributing its share to our algorithm design: Newton’s method,the Weierstraß-Durand-Kerner iteration and the Aberth-Ehrlich method. We then turn towards atermination criterion for the root iterations and the conservative, verified computation of inclusionregions. After some explanations about the start-up phase and the precision handling in our solver,we describe a refinement procedure to yield an asymptotic speedup for ill-conditioned roots.

We offer an implementation of ARCAVOID as a prototypical complex root solver package in theComputational Geometry Algorithms Library CGAL. In chapter 5, we sketch the overall layout of thelibrary, and how and why it influences our algorithm design and implementation decisions. We giveextensive benchmarks of our solver against well-established contestants, both in real and complexroot solving, showing that ARCAVOID is, at least, on par with state-of-the-art industrial-grade solverswhose complexity is orders of magnitude higher.

Finally, we show two use cases of ARCAVOID in computational algebraic geometry applications inchapter 6: Bivariate equation solving over the reals and the topological analysis of real algebraicplane curves. Somewhat surprisingly, the fact that complex root isolation provides global informationabout the configuration of roots of a polynomial with real coefficients constitutes a tremendousadvantage in this setting. Experimental results prove a significant gain in performance over existingtechniques.

2

Page 15: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

2 Computing with Numbers and Polynomials

2.1 Problem Statement and Terminology

This thesis deals with algorithms that take as input a vector ( f0, f1, . . . , fn) ∈ Cn+1 of coefficientsrepresenting a polynomial

f (Z) =n∑

i=0

fi Zi = fnZn + fn−1Zn−1 + · · ·+ f2Z2 + f1Z + f0

= fn

n∏

j=1

(Z − ζ j) = fn�

Z − ζ1��

Z − ζ2�

· · ·�

Z − ζn�

.

We denote by n the degree deg f of f , and by ζ j its (complex) roots. We demand that the inputadheres to the following conditions:

1. the degree of f is known, that is its leading coefficient lc f = fn 6= 0 does not vanish and

2. the coefficients can be approximated to any arbitrary finite precision.

We assume deg f ≥ 2 to avoid case distinctions for linear or constant polynomials.Naturally, when discussing the sub-problem of real root isolation, we assume the coefficients to be

real numbers, and we write X to denote the indeterminate in the corresponding ring of polynomials.By root isolation, we mean that the algorithms return a set of isolating regions C ⊂ C of pairwise

disjoint connected regions Ci ⊂ C, i = 1, . . . , r, where r denotes the number of distinct roots of f .The union

C∈C C shall comprise all roots, while each region Ci contains exactly one root of f . Inparticular, if f is squarefree, r = n= deg f .

In the real case, the Ci actually are isolating intervals on the real axis of the form Ci = [a, b]⊂ R,a ≤ b, where the interval boundaries will be rational values. In complex root finding, we theoreticallyallow arbitrary regions of the complex plane. In practice, however, subdivision solvers usually returna set of boxes [z, z′] = [x + I y, x ′ + I y ′], where x ≤ x ′, y ≤ y ′ ∈ Q, while numerical algorithmstypically work on circular discs D(m; r) = {z ∈ C : |z−m| ≤ r} or unions thereof.

The problem of root isolation is intrinsically ill-condition if we allow non-squarefree inputs, that ispolynomials with multiple roots. It is well known that the position of the complex roots continuouslydepends on the coefficients. An arbitrary small variation in the coefficients can split a multiple rootinto several distinct ones, or makes real roots vanish into the complex plane.

While the problem is still solvable for polynomials with exactly known coefficients (say, f ∈ Z[Z]or Q[Z]), it is fundamentally ill-posed for inputs that can be approximated to arbitrary precision butcannot be handled exactly (see the section 2.4 on bitstreams). Thus, unless stated otherwise, weimpose the additional restriction that

3. f is squarefree, that is gcd( f , f ′) ∈ C∗ or, equivalently, ζ j 6= ζk for j 6= k.

We briefly discuss approaches to cope with the non-squarefree case in section 3.6.

3

Page 16: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

2.2 (Arbitrary Precision) Floating Point Numbers

The representation of arbitrarily large integers or rationals (by pairs of integers for numerator anddenominator) imposes no particular difficulties. Fast operations, such as the Schönhage-Strassen algo-rithm for fast integer multiplication are a staple diet of computer algebra lectures and textbooks (see,for example, [vzGG03]). But for operations resembling arithmetic on real numbers, implementationsof large rational numbers do not offer the best performance. Instead, floating point representationsare the method of choice.

Most modern computer architectures have built-in floating point number support according tothe industry standard IEEE 754 [AI08]. Number type libraries providing interfaces for bigfloat types(floating point values with arbitrary large, but per-instance fixed precision) usually conform to thesame ideas. Well-known examples for such libraries include [GMP] and [MPFR], [LEDA] or [NTL].

The rough layout of a floating point number according to IEEE 754 is shown in figure 2.1. Thenumber consists of a sign bit, a signed integer1 exponent, and an unsigned integer mantissa (alsocalled significant), implicitly scaled by 21−p where p denotes the number of bits of the mantissa, suchthat the normalized value lies in the range [0.5, 1). A similar layout is used for different bigfloat types

s e e e e m m m m

sign exponent mantissa

31 30 23 22 0

Figure 2.1: Representation of a (32 bit) floating point number according to IEEE 754

as well: all common approaches store a multi-precision number as (−1)s ·m · 2e, where s is the signbit, m is a mantissa with precision p, and e is an exponent.

Actual implementations differ in details; for example, LEDA allows arbitrary large integers asexponents, while GMP and MPFR only support exponents fitting in a long machine integer type.On recent 64 bit architectures, a long has a range of at least 232, often 264 > 1.844 · 1019 distinctvalues. This exponent range in practice suffices for all applications but heavy number theory. Anotherdifference between implementations is the handling of the large integer mantissa. Some libraries likeLEDA use reference counted mantissae (including the sign bit), others like GMP use plain old data,which is replicated on copies.

Typically, all these considerations neither influence the design decisions for an algorithm, nor dothey drastically affect the performance of an implementation. It is, however, worthwhile to keep themin mind. For example, even with LEDA’s reference counting, the computation of an absolute value of anumber requires a new copy of the mantissa. Despite custom memory management, this overheadincurs a roughly 25 % runtime penalty of the computation of x + |y| compared to a call of x + y orx − y, depending on the (manually inspected) sign.

The more involved the algorithms, the more likely seemingly simple operations in the lower levelsbecome an unnoticed efficiency drain. The actual origins are often not visible to the programmerwithout lots of effort spent on profiling, and even if they can be spotted, resolving them is troublesome.Especially in generic programming, when workarounds and tweaks for library-specific characteristicsare undesired, we aim to have algorithms relying on as few predicates and constructions as simple aspossible. In particular, implementing a seemingly simple asymptotically fast algorithm even for mereinteger multiplication requires substantial effort to do it efficiently. For example, NTL features fastarithmetic for algebraic structures over F2 whose development is worth several man years.

1Actually, for technical reasons (faster comparisons) the exponent is not stored in the usual two’s complement-format forsigned integers. Rather an unsigned integer is used, but is implied a negative bias of half its maximum value.

4

Page 17: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

Alas, in the setting of algebraic root finding, all theoretically fast techniques rely on several non-trivial ingredients: arbitrary precision number arithmetics, fast polynomial multiplication and division,fast Taylor expansion, fast polynomial multi-point evaluation and interval arithmetic. Especiallywhen Fourier transforms come into play, which is an integral part for the currently known optimalalgorithms for all these tasks but interval arithmetic, one has additionally to take care of the reliabilityand precision of the results.2

So, if performance characteristics of implementations, supported operations, and the interfacesdiffer, what is actually reasonable to expect from a number type library? At least, all major projectsprovide certain exactness guarantees for the handling of bigfloats. The natural approach for bigfloatrepresentations in the style of IEEE 754 is to specify the outcome of a basic calculation (such as +, −,·, /, or k

p) with a relative error below the unit in the last place (ULP), that is the computed value is

exact up to the value of the last bit of the mantissa.

Remark 2.1. For the elementary operations, requiring a relative error of at most half an ULP is feasible(and corresponds to the specification of the round to nearest rounding mode in IEEE 754, basicallyamounting to the best possible approximation of the exact result).

Example 2.2. For a general (say, transcendental) function φ consider in binary notation φ(x) =(0.01)2 = (0.1)2, which should be represented as (0.100 · · ·0)2. On the other hand, φ(y) =(0.011 · · ·101)2 is closer to (0.011 · · ·1)2 than to (0.100 · · ·0)2, where both mantissae have thesame length. The (upper bound on the) length of the number of consecutive 1 bits in φ(x) or φ(y) isnot known a priori for a sufficiently complex φ; in particular, deciding φ(x) = φ(y) requires moreknowledge about φ than a simple evaluation rule can provide.

We conclude that it is not sensible to demand the precision within half an ULP in general, sincethe number of (binary) digits necessary for the estimation of the result may be unbounded. Instead,within an relative error of a full ULP, the calculation is feasible. Unsurprisingly, number type librariesusually specify the sharper error bound for simple arithmetics, but the weaker one for the remainingalgorithms.

For an in-depth treatment of the implications of precision bounds and the widespread misinterpreta-tions by programmers, we refer to the explanations by Kahan [Kah97; Kah04] and Lefèvre and Muller[LM03; Mul05] and the more general discussion of computer arithmetic by Brent and Zimmermann[BZ10].

2.3 Interval Arithmetic

Multiprecision floating point computations can provide arbitrary precision, but they lack rigorouserror bounds. Accumulated round-off and cancellation errors in an function evaluation can distort theresult beyond recognition. On the other hand, the same function may behave gentle on other inputs.

Interval arithmetic keeps track of the error, and thus gives certificates about the reliability of theoutcome of an operation: Instead of a single value x as an approximation of the real value x , wework on an interval x ∈ [a, b] ∈ RI containing x , where we denote the set of real intervals by

RI := {[a, b] : a, b ∈ R∪ {−∞,∞}} .

We write diam[a, b] := |b− a| for the diameter or width of an interval [a, b] ∈ RI.2We don’t claim this cannot be done. The RS library [RS] features the best known algorithms, and is implemented in a highly

efficient manner. Still, it’s applicable only for a subset of the problems we aim to solve (real root isolation for polynomials inZ[X ]), and the implementation is specifically tuned for the GMP number types and does not easily generalize to a genericprogramming paradigm.

5

Page 18: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

For each operation ◦ : R×R→ R on the real numbers, the corresponding induced operation onintervals ◦ : RI×RI→ RI yields the set of all possible results for pairwise application on the elementsin the intervals:

I ◦ J :=�

x ◦ y : x ∈ I and y ∈ J

.

In particular,

[a, b] + [c, d] =[a+ c, b+ d],[a, b] · [c, d] =[min{ac, ad, bc, bd}, max{ac, ad, bc, bd}] and

[a, b]/[c, d] =[a, b] · [1/d, 1/c] if 0 /∈ [c, d].

In practice, we have to account for round-off errors. Thus, the boundary values of the outcomeof interval computations are protected. We demand that, for in inexactly calculated operation ◦, thefollowing holds:

I ◦ J ⊃ I ◦ J =�

x ◦ y : x ∈ I and y ∈ J

.

This is accomplished by use of the correct rounding mode, a basic attribute which each self-respectingnumber type library provides.

Finally, we require that, for sufficiently high precision, the computed result of an expression overintervals actually converges to the exact value. This is what we call the concept of a

Definition 2.3 (Box function). An interval-valued function f : RI→ RI is called a box function if, fora sequence of interval I1 ⊃ I2 ⊃ · · · of intervals Ii ∈ RRI , it holds that

limi→∞

f (Ii) = f ( limi→∞

Ii).

We remark that each computation mentioned in this thesis actually can be, and is, implemented interms of box functions. For pointers on how this is actually done, we refer to [Kre+].

2.4 Bitstreams

How do we actually expect the input of a root finder to look like? For demanding problems, machineprecision integers or floating point numbers of two or four words do not suffice.

The situation is fairly obvious for coefficients in Z or Q (or, using Cartesian complex numbers, Z[I ]and Q[I ]). Storing large integers is straightforward in arrays of digits, and a rational is defined by apair of integers. Similar, we can store floating point values to any given accuracy, only limited by themachine memory (see section 2.2):

Definition 2.4 (Dyadic bigfloats). The set F := {(−1)s ·m ·2e : s ∈ {0, 1}, m ∈ N0, e ∈ Z} = {p/q ∈Q :p ∈ Z and q = 2n for some n ∈ N0} is the set of dyadic floating point numbers or bigfloats of arbitrary,but finite, precision. We call a bigfloat (−1)s ·m · 2e ∈ F irreducible if 2 - m, that is the mantissa has notrailing binary zeros.

For a representation x = (−1)s ·m · 2e ∈ F, s is called the sign bit of x , m is the mantissa, and e isthe exponent. The (relative) precision prec(x) of x is the number of bits in the mantissa m, that isprec(x) := dlog m+ 1e. By convention, prec(0) = 0 and prec(x) =∞ for x ∈ R \ F.

We write F(p) := {x ∈ F : prec(x)≤ p} ⊂ F for the subset of bigfloats that can be exactly representedwith an irreducible bigfloat of mantissa length up to p.

6

Page 19: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

Remark 2.5. The vigilant reader may have noticed that irreducibility, and thus the terms mantissa,exponent and precision, are not well-defined. This is a deliberate decision. It is, of course, possible togive a proper definition of bigfloats as equivalence classes of reducible dyadic fractions, in analogy tothe construction of rationals from integer, and derive an canonical isomorphism to F as presentedabove. Yet, we find that the informal definition suffices for our needs and trust the reader to knowwhat we mean by the precision or mantissa length of a reducible bigfloat.

Unless stated otherwise, prec(x) shall denote the precision required to exactly write x in dyadicform, that is irreducible.

−2 −1 0 1 2

Figure 2.2: Distribution of the dyadic bigfloats of precision 4 (F(4)) on the real axis

As a simple extension, we define

Definition 2.6 (Complex bigfloats). The set CF := {x + I y : x , y ∈ F} is the set of complex Cartesiandyadic floating point numbers or, in short, complex bigfloats of arbitrary, but finite precision.

Analogously, CF(p) := {x + I y : x , y ∈ F(p)} is the subset of complex bigfloats that can be exactlyrepresented with irreducible bigfloats of mantissa length up to p.

Alas, this leaves us with the duty of handling irrational coefficients. This is not merely a theoreticalproblem: polynomials with coefficients that themselves are roots of algebraic equations arise, forexample, in the geometric analysis of algebraic curves and surfaces. The only reasonable requirementwe are allowed to ask for is an arbitrary precise refinement of the coefficients – exactly the samekind that we want to return, the very reason why we perform root isolation. Conceptually this isan equivalent to a sequence of nested intervals around the exact coefficients. If then we assume asquarefree polynomial, it suffices to isolate the roots to some error margin depending on the qualityof the coefficient approximations.

The concept of this “refinement on demand” is intuitively expressed in the term of a

Definition 2.7 (Bitstream representation). An (absolute) bitstream representing a number x ∈ R is acomputable function that, given an arbitrary precision p ∈ N, returns a finitely representable valuex ∈ F such that |x − x | ≤ 2−p.

A relative bitstream representing a number x ∈ R is a computable function that, given an arbitraryprecision p ∈ N, returns a finitely representable value x ∈ F such that |x − x | ≤ 2−p|x |.

If the context is clear, we simply use the term approximation of x of (absolute or relative) precision pfor a concrete return value x of a bitstream for x on p.

Eigenwillig stresses: [Eig08]

We have chosen the name “bitstream”, because it concisely captures the basic intuitionthat we can let more and more bits flow into the significand of [ x]. However, [anabsolute] bitstream does not necessarily behave like a fixed sequence of bits that is readincrementally: by its definition, it is perfectly valid for a bitstream representing thenumber 1 to provide the binary approximations 1.02, 1.002, 0.112, 1.012, 0.1112, resp.,in successive invocations for p = 1, 2,2, 2,3.

Note that a bitstream is not required to return values x sharing the same sign of x as long as |x |< 2−p.In particular, we can never conclude that a bitstream actually represents zero!

7

Page 20: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

It comes to no surprise that the bitstream idea also allows to speed up operation on inputs thatactually are in Z[Z] or F[Z]. This is the case if approximations of the coefficients are already sufficientto guarantee the isolating property of root regions, and the algorithm is not required to calculate infull precision. In this situation, it is useful to establish the notion of

Definition 2.8 (Bitstream intervals). Let FI(p) := {[a, b] : a < b where a, b ∈ F(p)} denote the set ofbigfloat intervals of precision p ∈ N.

A bitstream interval representing a number x ∈ R is a computable function that, given an arbitraryprecision p ∈ N, returns an finitely representable interval I = [ x−, x+] ∈ FI(p) containing x , subjectto at least one of the following properties:

1. There exist at most one y ∈ F(p) with x− < y < x+, or

2. diam I = | x+ − x−| ≤ 2−p.

Again, if there is no probability of confusion, we use the term interval approximation of x of precisionp instead of bitstream interval.

Remark 2.9. In intuitive terms, we demand that the interval returned is as tight as possible around xwithin a relative precision p of the bounds unless an absolute approximation of 2−p can be achieved.The first case can occur since the dyadic numbers are not dense in R∗ (see figure 2.2). In the lattercase, no further conditions are set.

Example 2.10. For the sake of readability, we use the decimal system, where the precision is givenwith respect to the radix 10.

1. Let x =p

2/2 ≈ 0.70711 and p = 3. The tight interval approximation I = [0.707,0.708] =[707 ·10−3, 708 ·10−3] of x has interval boundaries with 3-digit mantissae and satisfies diam I =0.001≤ 10−3.

2. Let x = π ≈ 3.14159 and p = 3. The interval approximation I = [3.14,3.15] = [314 · 10−2,315 · 10−2] of x has interval boundaries with 3-digit mantissae. It does not satisfy diam I =0.01≤ 10−3, but there is no decimal number of at most three digits in (3.14, 3.15); thus, I stillis a valid p-bitstream interval approximation for x .

3. Let x = 2 − 53p

4− 3p

6 + 3 4p

5 ≈ 1.91896 · 10−6 and p = 3. The best possible p-intervalapproximation is [191 · 10−8, 192 · 10−8], but any interval I = [a, b] with boundaries in F3 and−1/2 · 10−3 ≤ a < x < b ≤ 1/2 · −10−3 is admissible. Thus, the bitstream interval procedure isnot forced to calculate any relative approximation of x or to decide its sign.

4. Let x = 0 and p > 0 arbitrary. All three bitstream (interval) procedures are expected to return 0or the degenerate interval [0,0]. Yet, the absolute bitstream does not offer the guarantee ofx = 0 to its caller, since every x ′ ∈ [−10−p, 10−p] might yield the same output. In contrast, arelative bitstream is forced to return x = 0.

5. Let ω = cos(2π/5) + I sin(2π/5), x =ℜω5. Then, in fact x = 0 as well and, thus, the intervals[−1/2 · 10−k, 1/2 · 10−k] are valid p-interval approximations for any values p < k. Eitherboundary of the interval may be zero as well; however, note that the degenerate intervalapproximation [0, 0] cannot be given unless the bitstream procedure performs a symbolic proofof x = 0.

In particular, this implies that a relative bitstream for x is required to evaluate the expressionsymbolically! If ω itself is given as a bitstream (interval), this is infeasible and, thus, onlyabsolute bitstreams or bitstream intervals can be applied.

8

Page 21: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

Corollary 2.11. Both absolute and relative bitstreams for a real number x induce a canonical corre-sponding bitstream interval for x.

Proof. x as absolute bitstream approximation of x of precision p+2 implies x ∈ [ x −22−p, x +22−p],where the interval has a width of 21−p. Conservatively rounding the interval boundaries to numbersrepresentable within p mantissa bits yields an interval [ x−, x+] ∈ RI with x− ≤ x − 22−p < x <x + 22−p ≤ x+ as desired.

An analogous argument applies to relative bitstreams.

We conclude this section with the remark that the notion of bitstreams and bitstream intervals canbe trivially generalized to complex numbers in Cartesian representation:

Definition 2.12 (Complex bitstreams and bitstream intervals). A complex (absolute or relative)bitstream representing a number z ∈ C is a tuple of (absolute or relative) bitstreams representing thenumbers ℜz and ℑz. A complex bitstream interval representing a number z ∈ C is a tuple of bitstreamintervals representing the numbers ℜz and ℑz.

In analogy to the real case, we write CI :=�

[x] + I [y] : [x], [y] ∈ RI

for the set of Cartesiancomplex intervals.

9

Page 22: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011
Page 23: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

3 Established Root Isolation Methods

It is instructive for the understanding of a new technique to examine already existing algorithms. Inroot finding, the traditional solvers deal with the problem of real root isolation.

After a recall of the history of fundamental algebra and the clarification of basic notions, we brieflypresent the most important and well-known theorems used in real root solving: the Sturmian chainapproach, Descartes’ Rule of Signs and EVAL. Even if the reader has a decent background knowledgeon the theory of those methods, we suggest to at least have a look at section 3.4. There, we discussthe pros and cons of these approaches and their implications for complex root solving. In particular,we will be concerned with the difficulties of an efficient implementation.

We close the chapter with a short review of classical complex root finding techniques.

3.1 History of Polynomial Root Finding

Polynomials are a remarkably versatile class of functions: In 1885, Karl Weierstraß gave a proof of the

Weierstraß approximation theorem. Each continuous function on a bounded interval can be uniformlyapproximated arbitrarily well by a polynomial.

Marshall Harvey Stone generalized the statement to arbitrary compact Hausdorff spaces in 1937,leading to the famous Stone-Weierstraß theorem; Sergei Nikitovich Mergelyan devised an analogousresult for complex functions in 1951.

While the proofs of the existence of arbitrary approximations were put forward just a few decadesago, the actuality that they do exist has been used for centuries. It thus comes to no surprise thatpolynomials are amongst the best studied objects in mathematics: Polynomials, due to their finitenumber of terms, are a lot easier to handle than arbitrary functions, both in mathematical theory andcomputational practice.

The single most important contribution in the research of polynomial structures is the

Fundamental Theorem of Algebra. The following equivalent statements hold (for polynomials overthe complex numbers):

1. The field of the complex numbers C is algebraically closed.

2. Every non-constant univariate polynomial has a complex root.

3. Every non-constant univariate polynomial has as many complex roots as its degree, counted withmultiplicities.

4. Every non-constant univariate polynomial factors into as many linear polynomials as its degree.

The Fundamental Theorem of Algebra dates back to 1608, when Peter Rothe recognized that thedegree of a non-trivial algebraic equation gives an upper bound on the number of (real) solutions.Later, a number of great mathematicians delved into the subject, including such prominent ones asJean le Rond d’Alembert, Leonhard Euler, Joseph-Louis Lagrange, Pierre-Simon Laplace, and countlessothers. There is no general consent on the question whom the credit of the “modern” wording belongs

11

Page 24: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

to; however, Carl Friedrich Gauß is often mentioned with his doctorate thesis Demonstratio novatheorematis omnem functionem algebraicam rationalem integram unius variabilis in factores reales primivel secundi gradus resolvi posse [A new proof of the theorem that every integral rational algebraicfunction of one variable can be resolved into real factors of the first or second degree] in 1799.According to today’s standards, Gauß’ geometric proof is incomplete due to the use of (then) unprovenproperties of Jordan curves, but he subsequently gave not less than three other valid proofs. The firstto provide a rigorous argument for the general statement was Jean-Robert Argand in his Réflexionssur la nouvelle théorie d’analyse [Reflections on the new theory of analysis] in 1814.

Coincidentally, in the same year when Gauß published his doctorate thesis, Paolo Ruffini failed toshow what is now called the Abel-Ruffini theorem or Abel’s impossibility theorem by just a minor gap:

Abel-Ruffini theorem. There is no general solution for polynomial equations of degree five or higher interms of algebraic radicals (that is a finite number of additions, subtractions, multiplications, divisionsand root extractions).

As can be expected due to the name, Ruffini’s work has been taken up and completed by NielsHenrik Abel in 1824; he uses group theoretic arguments which precede the later Galois theory. Withthe impossibility theorem, the hope for an explicit formula on the zeros of a general polynomial – ascan be given for degrees up to four – is extinguished.

Nevertheless, constructive proofs of the Fundamental Theorem have finally been assembled, andthus the even older question of actually finding the roots of an algebraic equation has been solvedin theory. The first success of this kind by Karl Weierstraß in 1891 integrally employs the iterativenumerical solving method which we nowadays attribute to Emile Durand and Immo Kerner as well.A large part of this thesis relies on and refines the ideas of this Weierstraß-Durand-Kerner (WDK)iteration.

3.2 Generic Subdivision Algorithm for Root Solving

Traditional root finding algorithms rely on subdivision of an initial range of interest, discard regionswhich are guaranteed not to contain a zero, and repeat until the increasingly smaller remaining areascan be verified to each comprise a single root. These areas are called the isolating root regions of aunivariate polynomial f . Depending on the algorithm’s goal, the isolating regions can be intervals,in the real case, or arbitrary regions in the complex plane. The three integral parts of a subdivisionalgorithm thus are

1. an inclusion predicate Incl(A, f ) which holds only if the range A contains exactly one root of f ,

2. an exclusion predicate Excl(A, f ) which holds only if A does not contain a root of f ,

3. and a subdivision rule SD(A, f ), yielding a set SD(A, f ) = A = {A1, . . . , Am} such that A ⊂⋃

A′∈A A′.

The latter condition implies that we do not lose track of regions potentially containing a root.

Remark 3.1. Note that we do not require the inclusion (exclusion) predicate to hold if and only if Acontains a (no) root, but only that we can be sure to do the right thing if we report or discard a rangeand the corresponding test holds. The weakened conditions might impose a higher recursion depthon our algorithm, but guaranteed predicates typically are harder to figure out and more expensive toevaluate. This can often compensate for the larger number of subdivision steps.

Of course, we rely on the predicates to eventually give the “correct” answers for small enoughranges, and a subdivision rule that converges to evanescent regions. Otherwise, the algorithm mightnot terminate.

12

Page 25: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

Using these ingredients, the generic (iterative) subdivision method is given as follows:

Algorithm 1: GenericSubdivisioninput : initial region A0, polynomial foutput: list O of isolating regions for the roots of f

O← ;1

Q← {A0} // queue for regions to be investigated further2

while Q is not empty do3

pop A from Q4

if Incl(A, f ) holds then // inclusion predicate5

append A to O6

else if Excl(A, f ) holds then // exclusion predicate7

discard A8

else9

A← SD(A, f ) // subdivision rule10

append A to Q11

return O12

Remark 3.2. The handling of corner cases (roots lying on the common boundary of some subdividedregions) is a delicate issue in the design of subdivision algorithms. It is, however, easy for the isolationof real roots, when A0 = [a, b]⊂ R, and simply amounts to checking if the endpoints of intervals areroots of f .

We will not discuss different choices of subdivision rules in-depth. The most simple approachis subdivision on the center of A, which bisects (real case) or quarters (complex case) the areainto equally large pieces. More sophisticated algorithms evaluate heuristics on the current area toget subdivision points close to an actual root. A prominent example in real root isolation is thecontinued fraction [Sha07] subdivision rule, which involves root modulus bound computations inan intertwined exclusion and subdivision step. The quadratic interval refinement [Abb06], based onNewton’s iteration, conceptually fits into the subdivision schemes as well, but – as the name suggests –is mainly used to further refine an interval already known to be isolating.

3.2.1 Root Bounds

For a complete solver delivering all complex or real roots of a polynomial, the subdivision procedureneeds to be called with a range guaranteed to enclose all roots. In the complex case, a naïve choicecomes to mind: we might start with just an arbitrary region and isolate all roots therein. If thenumber of roots turns out to be less than the degree n of f we restart in a larger region, say, oftwice the diameter. However, this approach does not generalize to real root isolation, since we donot have an a priori upper bound on the number of real roots. Thus, a better idea is to derive a rootbound M ≥maxi{

�ζi

�} and start with A0 = [−M , M] (or A0 = [−M − I M , M + I M] = {x + I y : |x | ≤M ∧

�y�

�≤ M} in the complex case).Since root bounds will not play a major role in our algorithm presented later on, we will be content

with a brief citation of two popular examples: Cauchy’s bound relies on an elementary and well-knowntheorem, while Fujiwara’s bound is recognizes as one of the sharpest a priori bounds for an agreeablecomputational cost. For an in-depth discussion of the topic, we refer the reader to the exhaustivecollection of different bounds compiled by John M. McNamee [McN07] and the comparative study byPrashant Batra [Bat08].

13

Page 26: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

Theorem 3.3 (Cauchy’s root bound). Let f ∈ C[Z], f (Z) =∑

i fi Zi be a polynomial of degree n. Then,

CB f = 1+1

| fn|maxi<n{| fi |}

is a root bound for f , that is |ζ| ≤ CB f for all ζ ∈ C with f (ζ) = 0.

Proof. Without loss of generality, assume fn = 1. Write M :=max{| fi |}. Then, for each root ζ of f ,0= f (ζ) = ζn +

∑n−1i=0 fiζ

i , and the triangular inequality implies

|ζ|n =�

n−1∑

i=0

fiζi�

�≤n−1∑

i=0

� fi

� |ζ|i ≤n−1∑

i=0

M |ζ|i = Mn−1∑

i=0

|ζ|i .

When |ζ|> 1, multiplication with |ζ| − 1 yields

|ζ|n (|ζ| − 1)≤ M�

|ζ|n − 1�

≤ M |ζ|n ⇔ |ζ| − 1≤ M ⇔ |ζ| ≤ CB f .

The theorem is trivially true for |ζ| ≤ 1, so this completes the proof.

Theorem 3.4 (Fujiwara’s root bound [Fuj16]). Let f ∈ C[Z], f (Z) =∑

i fi Zi be a polynomial of

degree n. Then,

FB f = 2max

(

fn−1

fn

,

fn−2

fn

12

, . . . ,

fn−m

fn

1m

, . . . ,

f1

fn

1n−1

,

f0

2 fn

1n

)

is a root bound for f , that is |ζ| ≤ FB f for all ζ ∈ C with f (ζ) = 0.

Proof. See [Eig08], section 2.4.

3.3 Traditional Real Root Solvers

Due to the importance of root finding as a basic step for algebraic or analytic computations, a countlessnumber of different techniques have been devised. Most of the established methods deal with realroot isolation, that is the computation of isolating intervals of a polynomial with real coefficients. (Inprinciple, real root finding is also feasible for inputs with complex coefficients, but this case is rarelyof interest.)

Of course, we can provide but a small selection of the work on polynomial root finding. Thus, welimit our concentration on three of the most prominent algorithms. In his encyclopedic treatmentof the subject, McNamee [McN07] offers a wealth of information far beyond what we are able topresent.

As already mentioned, we defer the comparison and analysis of the benefits and drawbacks of themethods to section 3.4.

3.3.1 Sturmian Chain Root Solver

The Sturmian chain1 root solver is an archetypical example of a subdivision solver for real rootisolation. It features extremely powerful – in fact, optimal – inclusion and exclusion predicates, iswell recognized for its stability, and reasonably easy to implement.

1There seems to be no general consent on the terms “Sturmian” or just “Sturm”, and “chain” or “sequence”. All variants arefound in the literature.

14

Page 27: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

The following description is loosely based on the corresponding section 2.2.2 in [BPR10].

Definition 3.5 (Sturmian remainder chain). Let f ∈ R[X ] be a squarefree polynomial with realcoefficients. The Sturmian (remainder) chain or Sturm sequence of f is a sequence of real polynomials( f = s0, s1, . . . , sr) with the following properties:

1. If f (x) = 0, then sgn(s1(x)) = sgn( f ′(x)),

2. If si(x) = 0 for 0< i < r, then sgn(si−1(x)) =− sgn(si+1(x)), and

3. sr does not vanish, that is sr ∈ R∗ is a constant non-zero polynomial.

Remark 3.6. The way to obtain a (canonical) Sturm sequence is essentially Euclid’s algorithm on fand its derivative f ′:

s0 := f

s1 := f ′

s2 :=− rem(s0, s1) = s1q0 − s0

s3 :=− rem(s1, s2) = s2q1 − s1

...

sr :=− rem(sr−2, sr−1) = sr−1qr−2 − sr−2

0=− rem(sr−1, sr)

The required properties 1 and 3 are trivially satisfied. To see 2, note that the term siqi−1 − si−1 in therepresentation of si+1 reduces to −si−1 when evaluated on a root of si .

Definition 3.7 (Number of sign variations). 1. The number of sign variations V (a) of a sequencea = (a0, a1, . . . , ar) of non-zero real numbers is defined inductively as

V (a0) := 0, V (a0, . . . , ak) :=

¨

V (a0, . . . , ak−1) + 1 if ak−1ak < 0

V (a0, . . . , ak−1) if ak−1ak > 0.

The number of sign variations V (a) of an arbitrary sequence a of real numbers is defined asV (a), where a denotes the sequence a with its zero entries omitted.

2. The number of sign variations V (S; x) of a sequence of polynomials S = (s0, s1, . . . , sr) with realcoefficients and x ∈ R∪ {−∞,∞} is defined as

V (S; x) := V (s0(x), s1(x), . . . , sr(x)),

where s(±∞) := limx→±∞ sgn s(x).

Theorem 3.8 (Sturm’s theorem). Let S f = ( f = s0, s1, . . . , sr) be a Sturmian chain of a squarefreepolynomial f . Let V (S f ; a, b) := V (S f ; a)− V (S f ; b), and m( f ; a, b) := #{ξ ∈ R : a < ξ≤ b ∧ f (ξ) =0} be the number of distinct real roots of f in the interval (a, b] for −∞≤ a < b ≤∞. Then,

m( f ; a, b) = V (S f ; a, b).

Proof. By the intermediate value theorem, a sign change of a polynomial can only occur at one of itsroots, so the sign variations remain constant in intervals where none of the polynomials in S f vanish.Consequently, V (S f ; a, b) = 0 when si(x) 6= 0 for all a ≤ x ≤ b.

15

Page 28: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

Now assume si(x) = 0 for 0< i < r. Then, by condition 2, a sign change occurs between si−1(x)and si+1(x). Continuity of polynomials guarantees that this sign change propagates on a neighborhoodof x and, thus, cannot affect the total number of sign changes across the chain.

Finally, if f (x) = 0, condition 1 provides that s1(x) 6= 0, and, again, keeps its sign in a neighborhoodof x . On the other hand, f changes its sign, since f is squarefree and, thus, x cannot be a multipleroot. If f decreases at x , s1(x) < 0, and f changes it sign from + to − when crossing x from “left”to “right”; thus, the number of sign variations is diminished by one. Analogously, if f increases at x ,s1(x)> 0, but f changes from − to +; again, one sign variation is lost.

Thus, the total sign variation across S f remains constant but on the roots of f , where it decreasesby one. This proves the theorem.

Remark 3.9. In fact, if f is not squarefree, the condition 3 can be relaxed to sr+1 = 0 or, equivalently,sr = c · gcd( f , f ′) for some c ∈ R∗. In this setting, Sturm’s theorem generalizes as well whenever theinterval boundaries a and b do not coincide with a multiple root of f .

To see this, let g = gcd( f , f ′) and f ∗ = f /g. By deduction of the canonical Sturm sequence,S f ∗ = g ·S f = (gs0, gs1, . . . , gsr). But since, by assumption, g(a) 6= 0 6= g(b), the factors g(a) and g(b)do not affect the number of sign variations in S f ∗ compared to S f . Thus, m( f ; a, b) = m( f ∗; a, b) =V (S f ∗ ; a, b) = V (S f ; a, b).

The Sturmian Theorem as a Predicate for Subdivision SolversSturm’s theorem simultaneously provides an inclusion and exclusion predicate for real root isolationsetting. Once the Sturmian remainder chain is precomputed, deciding whether an interval contains aroot reduces to polynomial evaluation of the polynomials in S f on the endpoints of the interval andchecking their signs.

The Sturm predicate is optimal in the sense that any subdivision that distributes the roots intodisjoint intervals already suffices for the root isolation.

InclSturm�

(a, b], f�

: V (S f ; a, b) = 1

ExclSturm�

(a, b], f�

: V (S f ; a, b) = 0

3.3.2 Descartes Method

There can be a lot of confusion about the proper attribution of an apostrophe when your theoremsturn out to outlast the centuries. Is it the Descartes method or rather the Descartes’ method which usesRené Descartes’ [sic!] Rule of Signs? Probably, Descartes never applied his sign rule in an algorithmicscenario for root isolation. Thus, we felt it’s fair to use his name not as the originator of the algorithm,but to identify all the variants that actually share the use of the Rule of Signs.

If not Descartes, who is accountable for those ideas which gave rise to the undisputedly leadingclass of real root finders? Well, things are not obvious here, either. Collins and Akritas are the first topublish a concise algorithm (with an unusual subdivision scheme loosely resembling the continuedfraction approach) in 1976, called a Descarte’s [sic!] algorithm, in which they attribute the theoryto Uspensky [CA76]. This choice resulted in long discussion, and after more than a decade, Akritaseventually felt obligated to revoke Uspensky’s name in favor of Vincent [Akr86].

Although there is more than a single algorithm founded on the Rule of Signs, we use the singularterm, and stay in the line of the original description by Collins and Akritas. A very comprehensivestudy of the Descartes method can be found in [Eig08], including both theoretical and applied resultsand notes on efficient implementation.

16

Page 29: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

Theorem 3.10 (Descartes’ Rule of Signs). Let f =∑

i fiXi ∈ R[X ] be a polynomial with real coefficients.

Let ν f := V ( f0, f1, . . . , fn) denote the number of sign changes in the coefficient sequence of f , and pdenote the number of strictly positive real roots of f , counted with multiplicity. Then,

ν := ν f ≥ p and ν ≡ p (mod 2).

In particular, ν = 1 ⇔ p = 1 and ν = 0 ⇔ p = 0.

Corollary 3.11. Let ν−f := V ( f0,− f1, f2,− f3, . . . , (−1)n fn) denote the number of sign changes in thecoefficient sequence of f − = f (−X ), and n denote the number of strictly negative real roots of f , countedwith multiplicity. Then,

ν− := ν−f ≥ n and ν− ≡ n (mod 2).

In particular, ν− = 1 ⇔ n= 1 and ν− = 0 ⇔ n= 0.

Proof of Descartes’ Rule of Signs. We will only discuss the special cases ν = 0 and ν = 1. For acomplete proof, see [Eig08], chapter 2.

Without loss of generality, assume f0 > 0.

1. (case ν = 0) Let ν = 0 and assume that there exists a positive root ξ > 0 of f . Since ν = 0, thenon-zero coefficients fi share the same sign. Thus, 0= | f (ξ)|=

i fiξi�

�=∑

i | fi |ξi . But sinceboth ξ > 0 and | f0|> 0, the right hand side is positive, which contradicts the assumption p > 0.

2. (case ν = 1) Let ν = 1 and f0, . . . , fk ≥ 0 and fk+1, . . . , fn ≤ 0 for some 0 < k < n. Then0 = f (ξ) =

i fiξi =∑

i fiξi =∑

i≤k fiξi +∑

i>k fiξi . But this is equivalent to

i≤k fiξi =

−∑

i>k fiξi . The left hand side is a strictly decreasing continuous function on R≥0, starting at

f0 > 0, while the right hand side is strictly increasing from 0.

Thus, the equality has a unique positive real solution at the single point where the two functionsintersect.

Definition and Lemma 3.12 (Möbius transformation). The Möbius transformation f(a,b) of a polyno-mial f of degree n with respect to a non-degenerate open interval (a, b)⊂ R is defined as

f(a,b)(X ) := (X + 1)n · f�

aX + b

X + 1

.

f(a,b) is again a polynomial of degree n, and there is a one-to-one mapping between the positive real rootsof f(a,b) and the roots of f in (a, b).

Proof. It is trivial to see that f(a,b) ∈ R[X ] is a polynomial, since the denominator X + 1 occurs withmultiplicity ≤ n in the expansion of f ((aX + b)/(X + 1)) and, thus, gets cancelled by the (X + 1)n

prefactor. Let f ∗(a,b) = f ((aX + b)/(X + 1)) denote the intermediate result before the normalization.The one-by-one relation of the roots becomes clear by the iterative construction of f(a,b): We

transform f such that the roots in (0,∞) shift to (1,∞), to (0,1), to (0, b− a), and, eventually, to(a, b). The sequence of transformations involved is

φ1 : (0,∞)→ (1,∞), X 7→ X + 1,

φ2 : (1,∞)→ (0, 1), X 7→ 1/X ,

φ3 : (0, 1)→ (0, b− a), X 7→ (b− a)X , and

φ4 : (0, b− a)→ (a, b), X 7→ X + a.

17

Page 30: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

Since each φi is bijective on the corresponding interval, the same holds for φ4 ◦φ3 ◦φ2 ◦φ1 = φ :(0,∞)→ (a, b), X 7→ (b− a)/(X + 1) + a = (aX + b)/(X + 1).

Thus, f (x) = f ∗(a,b)(φ(x)) for x ∈ (0,∞) and f (φ−1(y)) = f ∗(a,b)(y) for y ∈ (a, b); in particular,this holds for the zeros of f and f ∗(a,b). Since (X + 1)n > 0 for x > 0, multiplication by (X + 1)n doesnot affect the position or number of positive roots of f ∗(a,b), which proves the lemma.

Descartes’ Rule of Signs as a Predicate for Subdivision SolversThe Möbius transformations will serve as a tool to apply Descartes’ Rule of Signs for certain intervals.When the sign variation drops to 0 for some f(a,b), we know that f cannot have a root in (a, b), so wediscard the interval. On the other hand, a sign count of 1 for f(a,b) serves as an inclusion predicatesince, then, the Rule of Signs certifies the existence of exactly one root of f in (a, b).

InclDescartes�

(a, b), f�

: ν f(a,b)= 1

ExclDescartes�

(a, b), f�

: ν f(a,b)= 0

Still, we have to spend some thoughts about the termination of this algorithm – will the signcount eventually go that low when the intervals are sufficiently tight around a root? Obreshkoff’scircle theorems comes to help. While useful on their own, they are consequences of more generalstatements. Once again, the reader is referred to [Eig08] for the whole story.

Lemma 3.13 (Obreshkoff’s circle theorem (simplified version)). Let f ∈ RR[X ] be a real polynomial,and (a, b) for a < b be a non-degenerate bounded open real interval.

1. (“One-circle theorem”) Let D ⊂ C be the open disc within the circumcircle of [a, b].

If D does not contain a (complex) root of f , then ν f(a,b)= 0.

2. (“Two-circle theorem”) Let ∆+,∆− ⊂ C be the equilateral triangles in the upper and lower complexplane with [a, b] as one edge, and let D± be the open discs within the circumcircles of ∆±.

If D+ ∪ D− contains exactly one simple root of f , then ν f(a,b)= 1.

Remark 3.14. Note that in the setting of the two-circle theorem the root is guaranteed to be real,since otherwise both the complex root and its complex conjugate will be in the union D+ ∪ D−.

For squarefree polynomials, this result certifies the termination of the subdivision algorithm. Note,however, that it also shows that the Rule of Signs does not induce an optimal set of predicates, contraryto Sturm’s theorem: although an interval can be isolating, the Descartes test may fail to recognize thisfact if the Obreshkoff circles contain additional complex roots.

The Descartes Method for Polynomials in Bernstein BasisThere is such an intuitive graphical explanation of why the Descartes method works, we cannotpossibly deny the reader a brief description. As taught in elementary courses on numerics, themonomial basis for polynomials shows excellent behavior in the proximity of zero. But for largeabsolute values, the evaluation and interpolation problems are unstable; a topic we will address againin section 3.4.5.

Thus, when a polynomial is to be inspected on some specified interval, a representation thatoptimally shows the local behavior is desirable. The Bernstein basis provides exactly this. Nowadays,it is best known for its use in Bézier curves and surfaces, a corner stone of modern vector graphics,typography, or computer aided geometric design (CAGD).

18

Page 31: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

The Bernstein basis polynomials of degree n over a non-degenerate interval [a, b] are given as

B[a,b]n,i (X ) :=

n

i

(X − a)i(b− X )n−i for 0≤ i ≤ n.

It is easily shown that these n+1 polynomials are R-linear independent and, thus, indeed form a basisof the R-vector space R[X ]≤n of polynomials of degree at most n. Thus, any polynomial f ∈ R[X ]≤ncan be written in Bernstein representation as

f (X ) =n∑

i=0

b[a,b]i B[a,b]

n,i (X ),

where the b[a,b]i are the Bernstein coefficient with respect to the underlying interval [a, b].

In contrary to the monomial basis, the Bernstein polynomials feature equidistantly distributed localmaxima in the base interval (see figure 3.1). Thus, the i-th Bernstein coefficient has a strong localimpact on f (x) when x is in the proximity of a+(b−a) · i/n. If x is not nearby, the significance of thei-th basis function diminishes, and so does the contribution of b[a,b]

i to f (x). This characteristic allowsnumerically robust evaluation and interpolation in [a, b]; stability problems mainly arise outside ofthe base interval.

x0

x1

x2

x3

x40.0

0.5

1.0

0 0.2 0.4 0.6 0.8 1x

B[0,1]4,0 (x)

B[0,1]4,1 (x)

B[0,1]4,2 (x)

B[0,1]4,3 (x)

B[0,1]4,4 (x)

0.0

0.5

1.0

0 0.2 0.4 0.6 0.8 1x

Figure 3.1: The monomial and Bernstein basis polynomials of degree 4 over the unit interval

For an excellent comprehensive, yet easy to understand, explanation of the topic, we strongly recom-mend Farin’s classic gem on CAGD [Far02]. In the following, we completely ignore the mathematicaltheory, but only concentrate on the geometric implications of the basis change.

A polynomial f in Bernstein form on some interval I can be imagined by a control polygon P, whosenodes correspond to the coefficients of the basis polynomials in the representation of f (see figure3.2 (b)). The control polygon satisfies three important properties: the X -extremal control points(vertices) interpolate f , the graph of f over I is entirely contained in the convex hull of P, and thecontrol polygon converges to f on I with shrinking interval length.

By the interpolation property it is clear that I must contain a root of f if the outer control pointsare on the opposite sides of the X -axis. In addition, the convex hull property ensures that f cannothave a root in I if P does not cut the X -axis. In fact, the following holds:

Lemma 3.15. The number p of real roots of f in the interior of I is bounded from above by the numberν of crossings of the edges of P with the X -axis. Additionally, p ≡ ν (mod 2).

This resembles Descartes’ Rule of Signs so closely, it may come to no surprise that the ν in lemma3.15 actually equals the νI in the Descartes method (lemmata 3.10 to 3.12).

As an additional give-away, the Bézier curve theory provides us with De Casteljau’s algorithm (figure

19

Page 32: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

(a) (b)

(c) (d)

(e) (f)

A visual explanation of the Descartes method for polynomials in the Bernstein basis (schematic).The pictures on top show a polynomial graph and its Bézier control polygon on real interval. Theinterval comprises a single root and a local extremum very close to, but not touching, the X = 0 axis.The interval is subdivided on several split points using De Casteljau’s algorithm. The subdivisions areshown with the according control polygons (close-ups (c) to (e)). The number of crossings of theedges of the polygons with the X -axis correspond to the sign variations in the Descartes tests. For asufficiently fine (or well-chosen) subdivision, the number of crossings will eventually decrease to theactual number of (simple) roots in the interpolation intervals.The final graph summarizes the initial range of the polynomial along with the necessary subdivisionsfor isolation of the roots.

Figure 3.2: The Descartes method for a polynomial in Bézier curve representation

20

Page 33: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

3.2, (c) to (f)), a simple subdivision scheme to efficiently compute the control polygons of subregionsin a numerically stable way.

3.3.3 EVAL

Although the theorems involved in the Sturmian chain method and the Descartes algorithms looksimple, both involve some amount of non-trivial algebra to derive. The EVAL method is a more naïve,yet useful, approach, resembling the way a human would probably look for roots.

It consists of two ingredients: firstly, we conservatively approximate whether an interval maycontain a zero of the polynomial. If so, we check whether the function is monotonic on the giveninterval, and evaluate the signs at the boundaries of the interval. This comes quite close to the methodpupils get taught in secondary school level mathematics courses.

EVAL uses analytical results rather than algebraical ones. In fact, the method applies to arbitrarycontinuously differentiable functions as well, not just polynomials, provided that we can handle localTaylor expansions at any point.

Definition 3.16 (Taylor test, TK -test (real case)). Let f : R→ R be a continuously differentiable realfunction. Let I = (a, b) = (m− r, m+ r) for −∞< a < b <∞ (or m ∈ R, r > 0) be a non-degenerateopen real interval, and K > 0. The K-Taylor test (or TK -test) for f holds on I if and only if

T fK (m; r) :

� f (m)�

�> K∑

k≥1

f (k)(m)k!

rk.

Lemma 3.17. Let f , I be as above.

1. If T f1 (m; r) holds, then I contains no root of f .

2. If T f ′

1 (m; r) holds, then I contains at most one real root of f , counted with multiplicity.

Proof. 1. Let ζ ∈ I = (m− r, m+ r) be a root of f . Taylor expansion of f at m yields�

� f (m)�

�=�

�0− f (m)�

�=�

� f (ζ)− f (m)�

=

k≥1

f (k)(m)k!

(ζ−m)k�

≤∑

k≥1

f (k)(m)k!

|(ζ−m)|︸ ︷︷ ︸

≤r

k ≤∑

k≥1

f (k)(m)k!

rk,

which contradicts T1(m, r).

2. When T f ′

1 (m; r) holds, f ′ has no real root in I , so f in strictly monotonic on I .

Definition 3.18 (Sign-change test). Let f , I be as above. We say that f passes the sign-change test onI = (a, b) if and only if sgn f (a) =− sgn f (b).

Corollary 3.19. Let f , I be as above. If T f ′p2(m; r) holds and f passes the sign-change test on I , then I

contains exactly one simple real root of f .

Remark 3.20. The corollary intrinsically relies on the Bolzano’s intermediate value theorem. Thisexplains why the class of algorithms using a sign-change predicate are sometimes named Bolzanomethods, in resemblance of the Sturm and Descartes methods.

21

Page 34: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

The Taylor and Sign-Change Tests for Subdivision SolversAs with Descartes’ Rule of Signs, the Taylor tests on f and its derivative and the sign-change test givea set of predicates for a subdivision solver on squarefree polynomials. Subdivision is performed untileither the Taylor test certifies that an interval contains no root, or a simple root is detected with theTaylor test on the derivative and the sign-change test.

InclEVAL�

(m− r, m+ r), f�

: T f ′

1 (m; r) and

f passes the sign-change test on (m− r, m+ r)

ExclEVAL�

(m− r, m+ r), f�

: T f1 (m; r)

While not entirely trivial from the theoretical point of view, the termination of the subdivisionalgorithm is intuitively clear by Taylor’s theorem. Obviously, the EVAL predicates, like the Descartestest, are non-optimal: intervals can be isolating for a root even if f is not monotonic on them. Also,the absolute values of the remainder terms in the Taylor expansion may generously overestimate theactual variation of f .

3.4 Pros and Cons

Each of the presented algorithms has its unique properties regarding efficiency and ease of imple-mentation, and generalizes in a different manner to more complex problems. We will now discuss aselection of these features.

3.4.1 Theoretical Complexity

Certainly, speed is the top criterion in a comparison of several algorithms for the same problem. Aswe will see, a low theoretical complexity does not guarantee efficiency in practice; but, at least, itserves as a rule.

The theoretical worst-case runtime of root solvers is usually given in terms of the benchmarkproblem for integer polynomials f ∈ Z[X ]. It denotes the complexity of the isolation of all (real)roots, depending on the degree n of f and the bit length τ of the largest coefficient (that is, τ =max{dlog | fi |e : 0≤ i ≤ n}). In complete ignorance of the geometry of the roots, in particular the rootseparation, it is known to mispredict the actual runtimes for “easy” instances by orders of magnitude.Yet, it is an indicator for the behavior of the solvers for hard problems.

We use the Landau-tilde notation O (·) where the tilde means omission of (sub-)logarithmic factors.If not stated otherwise, all complexities refer to the worst-case bounds in the number of single bitoperations. For all complexity results, we demand the following ingredients to be available:

• Asymptotically fast integer arithmetic, in particular multiplication in O (τ logτ) bit operationsfor operands of size τ (see [vzGG03; BZ10]). This assumption is very reasonable with theadvent of number type libraries like [GMP], [LEDA], or [NTL].

• Asymptotically fast multi-point evaluation of a polynomial of degree n on n points in O(n log n)arithmetic operations (see [BP94; vzGG03; Arn10]). Although well understood in theory, this ismuch less common in actual implementations. For example, the [Mpfrcx] library offers a fastalgorithm for arbitrary precise floating point inputs but lacks rounding control.

• Asymptotically fast polynomial multiplication and Taylor expansion at fixed points (the so calledTaylor shift) in O (n log n) arithmetic operations (see [BP94; vzGG03; Ger05]). Again, this is arequirement not universally met.

22

Page 35: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

However, independent results [Joh+06] for the currently available implementations of fastTaylor expansion indicate that the crossover point over simple Ruffini-Horner expansion may beas high as n> 1000 or even n> 10000.2

In this setting, all three of the Sturm, Descartes and EVAL methods yield a runtime of O (n4τ2) (see[vzGG03] for Sturm, [Eig08] for Descartes, [SY09] for EVAL). This assumes the traditional bisectionsubdivision rule. Others, like the continued fraction subdivision, show good practical performance,but are less understood in terms of theoretical complexity [Sha07].

3.4.2 Quality of the Predicates

There is no absolute definition of the “quality” of the set of predicates used in the root isolationmethods. Nevertheless, the performance of the chosen predicates is worth to examine, since it has adirect impact on the number of subdivisions required to certify isolating regions.

We already mentioned that Sturm’s theorem provides the definite number of roots for each regionit is applied on, and can thus be considered optimal. In practice, the predicates based on the Rule ofSigns turn out to be very reliable as well. The Taylor test employed in EVAL performs worse, ignoringthe algebraic nature of the real root finding problem.

3.4.3 Adaptiveness to Local Root Finding and Root Separation

The crucial step in the Sturmian root finder is the symbolic computation of the Sturmian remaindersequence. Once this is performed, evaluation on the interval boundaries – and, thus, further subdivi-sion – is cheap. It is trivial to conclude that the Sturm approach performs poorly in “simple” cases, say,only complex roots far off the real axis.

In this situation, the costly initial computation is all in vain compared to Descartes and EVAL. Forthese, the cost of isolation is well distributed over all subdivisions. If a low number of refinementssuffices for their predicates to grasp the root structure, they easily outperform Sturm’s method.

3.4.4 Handling of Inexact CoeXcients

In some sense, all root finding methods are able to cope with (squarefree) inputs consisting ofcoefficients in the bitstream model. It is always possible to rescale a dyadic or rational approximationto the integer domain by multiplication with the common denominator of the coefficients, andconservative rounding and consideration of the round-off error in the bitstream procedure allowsevaluation of the predicates with certified results. If the chosen approximation turns out to beinsufficient for the root isolation, we repeat in higher precision.

Still, Sturm’s method is particularly unsuited for such inputs, since Euklid’s algorithm is forced toperform lots of non-trivial computations in the coefficient ring. If we were to find a some roots withinlow precision, but require a very tight approximation for the splitting of an interval comprising justtwo nearby roots, we still have to do all the hard work of the gcd computation.

Again, Descartes and Bolzano methods benefit from the fact that the cost of refinements only incursa runtime penalty for the regions where it actually is necessary.

3.4.5 Numerical Stability

The numerical stability of the predicate evaluations affects the performance of the root finders in avery similar manner. Here, EVAL takes the lead.

2On the other hand, benchmarks of GMP prove that the threshold values for the (fundamentally identical) fast integermultiplication is significantly lower, so I expect that we have not heard the last of the matter yet.

23

Page 36: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

While the Taylor expansion in the monomial basis is unstable (see the remarks on the Descartesmethod in the Bernstein basis in section 3.3.2), it is essentially unavoidable for all root finders toexamine the local structure around roots to some degree. However, the Möbius transformationsin the Descartes methods imply a highly unstable additional sub-step over EVAL: the inversion inthe mapping φ2 : (1,∞)→ (0,1), X 7→ 1/X (see lemma 3.12, section 3.3.2). The polynomial longdivision in Euclid’s algorithm is just as terrible.

While numerical stability is of minor theoretical impact, in reality it makes the huge differencewhether an algorithm works in machine precision or requires multi-precision number types. The lossin runtime for the latter can vary between a factor of 100 to 1000.

As a side note, the traditional asymptotically fast algorithms for dealing with polynomials tend toshow severe accuracy issues, and suffer from coefficient blow-up in integer arithmetic or require sub-stantially higher intermediate precision (and, thus, computation time) in floating point environments.Köhler and Ziegler aptly conclude their survey [KZ08]:

[...] in spite of its name, “fast” polynomial arithmetic is as slow as the naive algorithms:for practically relevant instances over real numbers, due to the increased intermediateprecision required for reasonable output accuracy. [...]

The big open challenge thus consists in devising some variant of fast polynomial arithmeticwhich is numerically sufficiently mild to yield a net benefit in running time over the naiveO(n2) approach.

3.4.6 Exploitation of Sparsity

In several important applications, inputs consists of sparse polynomials. It is reasonable to expect thatthe algorithms can be easily adapted to profit by this kind of input. Unfortunately, both the Sturmianremainder sequence and each non-trivial Taylor expansion, as required in the Möbius transformationsin Descartes algorithms, completely destroy the sparsity of polynomials.

In contrast, the Taylor test in EVAL is usually performed by an asymptotically fast local Taylorexpansion only for efficiency reasons; however, despite its name, it is not intrinsic to the method. Thus,EVAL is the only contestant to exploit sparsity, at the cost of using theoretically worse sub-algorithms.

3.4.7 Ease of Implementability

It is possible to cope with all the mentioned drawbacks of each method – the only question is the priceto pay. From the algorithmic description, all three root finders share the same twelve lines of pseudocode of a subdivision solver. So, clearly Sturm’s method is the easiest to implement since its inclusionand exclusion predicates are the same?

Alas, devil’s in the details. Let us assume a mathematically oriented, high-level environment – say,a computer algebra system such as [Maple] or [Sage] or numerous others – which offers all the basicbuilding blocks of our solvers. Yet, of course the root finders are missing in this perfect world...

All three participants will work flawlessly for integer polynomials, with just a few dozen lines ofcode in this setting. But the Sturmian chain solver will most certainly put the creativity of the userto a hard test when it comes to inexact inputs. The Rule of Signs is significantly easier to tame, andindeed current efficient implementation are developed with a bitstream setup in mind. Still, of thethree classes of algorithms, the ones bases on the Bolzano principle, like EVAL, are the most pleasantto develop. They apply to a broad range of different needs and scale very agreeable.

24

Page 37: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

3.4.8 Practical Complexity and Existing Implementations

To summarize this preceding section, we give a brief overview about the current state-of-the-art inreal root finding. For a benchmark comparison of a selection of respected real solvers, we refer to thecomprehensive results in [Hem+09].

The Sturmian chain root solvers enjoys great popularity in computer algebra systems where the gcdoperations are fundamental for several other applications. However, for serious applications it simplycannot keep pace with other approaches. Instead, most algebra systems offer additional solvers andleave the Sturmian sequence evaluations for queries on user-given intervals.

The de facto standard algorithm is a Descartes root solver. Currently, it provides the best trade-offbetween efficiency, reliability and implementability. It is the method of choice for most stand-alonesolvers and back-end libraries as well.[Maple] uses the [RS] solver, which is generally perceived to be one of the most reliable and

sophisticated implementations [RZ04]. Internally, RS relies on the [GMP] number type library, andintegrates asymptotically fast sub-algorithms. Its high standard is emphasized by custom memorymanagement and several stages of increasing precision.

The Descartes and Bitstream Descartes [Eig05; Eig08] variants in [CGAL] and the continued fractionsolver in the Mathemagix collection [MMX] can compete on some instances. A promising newcomeramongst the Descartians is Witty’s modification of the Bitstream Descartes algorithm [Wit07], availablein [Sage].

In contrast, EVAL is widely used in low-precision implementations for its good numerical stability.In particular in graphical applications, such as ray tracers, interval arithmetic variants share the samegood reputation as Descartes methods. Here, the instances to solve are typically well-conditionedand one can get over some faulty results. Thus, a moderate instability of the algorithm is acceptablein exchange for extremely high efficiency in machine precision. A notable exception in the field ofcomputer graphics is the Persistence of Vision ray-tracer POV-Ray (www.povray.org) which optionallyoffers a (quite slow) Sturmian solver for the high-quality rendering of algebraic surfaces.3

3.5 Traditional Complex Root Solvers

Considering the major efforts in real root solving, one might expect that similar results are availablefor the problem of complex root isolation. Still, the domain is a surprisingly blank canvas as long aswe talk about practically usable, certified algorithms.

3.5.1 Eigenvalue Iterations

In the theory of linear algebra, the matrix eigenvalue problem for a matrix A is solved by computingthe characteristic polynomial χA(λ) = det(A−λE) and its roots. Now, this is exactly the problem weare concerned with, and quite a number of numerical methods are specifically devised to avoid thedeterminant computation and subsequent polynomial root finding. Instead, simultaneous iterationsdirectly operate on the matrices to approximate the set of eigenvectors and eigenvalues. A classicalapproach for complex root finding is to employ those approved methods on the companion matrices ofpolynomials.

Definition and Lemma 3.21 (Companion matrix). Let f =∑

i fi Zi ∈ C[Z] be a complex polynomial

of degree n. Without loss of generality, let f be monic, that is fn = 1. The companion matrix C f ∈ Cn×n

3Whatever this means. The algorithm is executed within machine precision, as well, and in my experience showed astonishingpoor numerical behavior for a “more accurate” root finder, as stated in the documentation.

25

Page 38: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

of f is defined as

C f :=

0 1 0 · · · · · · 00 0 1 0 · · · 0...

.... . . . . . . . . ...

0 · · · · · · 0 1 00 · · · · · · · · · 0 1− f0 − f1 − f2 · · · − fn−2 − fn−1

Then, (−1)n f is the characteristic polynomial of C f .In particular, the roots of f are exactly the eigenvalues of C f .

Proof. See section A (page 75) in the appendix.

There is a broad range eigenvalue methods that work well for many instances of polynomial rootsolving, such as the power iteration, the QR algorithm, the Arnoldi iteration or the Lanzcos iteration.For details, we suggest the dedicated chapter about matrix methods in [McN07].

However, most eigenvalue solvers have been originally designed to handle dense matrices in acompletely different, numerical linear algebra setting. Thus, they tend not to exploit the specialstructure of the companion matrix problems. While highly optimized implementations are available,they typically come without guarantees on correctness and perform worse on difficult (benchmark)instances compared to dedicated polynomial root solvers. A notable, yet for some years abandoned,exception is Eigensolve [For01].

3.5.2 Homotopy Continuation

We can easily construct an arbitrary number of polynomials of which we trivially know the complexroots, for example a cyclotomic polynomial and the corresponding set of primitive roots of unity.Homotopy methods [Ver99] simulate the continuous deformation of such a polynomial to eventuallyconverge to the actual instance. At the same time, they track the roots by Newton-Raphson-likemethods (see section 4.2.1).

Homotopy continuation allows to exploit special structures of the input, like sparsity or symmetry ofthe coefficients, shows good efficiency, and can be generalized to straight-line programs or multivariatesystems of algebraic equations [SW05].

Yet, the crucial task of choosing the right step sizes of the continuation is difficult, and mostlyheuristic. If the steps are too large, the solver can lose track of the root approximation; on the otherhand, if the increments are too small, the runtime gratuitously increases. Furthermore, at branches ofthe configuration space of the tracking, that is at continuations close to a multiple root, the behaviorof the algorithms is hardly predictable.

3.5.3 Optimal Results

Certified or not, the numerical solvers more than suffice for the daily needs of practical applications,and are already available in well-tuned and reliable implementations. Perhaps this is the reason whyspecific works on polynomial complex root finding remained a mostly theoretic issue.

In this direction, the complex setting allows for fine-grained optimal algorithm. Notable men-tions include splitting circle method by Arnold Schönhage [Sch82] for numerical factorization ofpolynomials. Of course, with a complete complex factorization, the calculation of the roots is straight-forward. Schönhage’s approach requires O (n3τ) arithmetic operations for the complete handling ofa polynomial of degree n with integer coefficients of bitsize τ.

26

Page 39: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

Victor Pan revised this algorithm in 1998 [Pan02], and since then is mentioned in every self-respecting publication on the topic with the Pan-Schönhage method. Its worst-case record bound ofO (n2τ) arithmetic and O (n3τ) bit operations is unmatched so far.

In 1996, Xavier Gourdon [Gou96] developed a proof-of-concept implementation of the splittingcircle algorithm for the [PARI/GP] and [Magma] computer algebra systems. We will comment onsome characteristics of this solver in section 5.2.1.

While Schönhage’s approach dominates the work on iterative numerical methods, subdivisionsolvers have been studied as well. Both Sturm’s theorem [Pin76; Wil78] and Descartes’ Rule of Signs[CK] can be applied on the boundaries of complex regions. Then, Rouché’s theorem and the maximummodulus principle allow statements about the number of roots inside the regions.

3.5.4 CEVAL

A particularly easy concept is employed in CEVAL, the complex equivalent of EVAL. CEVAL is a recentresult by Sagraloff and Yap [SY09]. While the Bolzano principle suffices to exclude complex regions inthe same manner as in EVAL, a substitute for the sign-change test in the complex plane is the essentialinnovation for the complex solver.

Definition 3.22 (Taylor test, TK -test (complex case)). Let f : Z→ Z be a holomorphic function. LetD = D◦(m; r) for m ∈ C and r > 0 be a non-degenerate open complex disc, and K > 0. The complexK-Taylor test (or TK -test) for f holds on D if and only if

T fK (m; r) :

� f (m)�

�> K∑

k≥1

f (k)(m)k!

rk.

Lemma 3.23. Let f , D be as above.

1. If T f1 (m; r) holds, then D contains no root of f .

2. If T f ′p2(m; r) holds, then D contains at most one complex root of f , counted with multiplicity.

Proof. The proof of the first statement is literally identical to the real case (lemma 3.17).For the second statement, we note that the first one proves that no point in D can be a multiple

root of f , since T f ′p2(m; r) implies T f ′

1 (m; r). The reasoning for the remaining part relies on theCauchy-Riemann differential equations and is quite technically involved. The main idea is to showthat inside D not only the modulus | f ′|

D alone is bounded against | f ′(m)|, but the argument arg f ′�

Dis within some range around arg f ′(m) as well. But the assumption of two distinct roots inside Dimplies perpendicular gradients of f at those roots, and thus exceeds the range allowed within a discfor which the

p2-Taylor test holds. For the complete proof, we refer to [SY09], section 4.

For the analogue of the sign-change test, Sagraloff and Yap originally propose the eight point test,which uses a similar argumentation based on the Cauchy-Riemann equations.

InclCEVAL�

D◦(m; r), f�

: T f ′p2(m; r) and

f passes the eight point test on D◦(m; r)

ExclCEVAL�

D◦(m; r), f�

: T f1 (m; r)

27

Page 40: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

Somewhat surprisingly, Sagraloff and Yap were able to prove that the worst-case complexity ofEVAL and CEVAL are identical, so the consideration of complex roots does not increase the asymptoticruntime of O (n4τ2). A first implementation by Kamath [Kam10] is on par with more traditionalmethods when run in machine precision. For more demanding instances, it is unclear whetherCEVAL is capable of competing in practice. As Kamath points out, this might crucially depend on thesubdivision scheme.

An Inclusion Predicate via VeriVcationBefore we discuss some practical implications of the CEVAL method, we point out a different approachto the root inclusion test in the algebraic setting. If f is a squarefree polynomial, and thus of boundeddegree and with a finite number of roots, we can state an easier inclusion predicate by a partialconverse of lemma 3.23. The results also serve as an efficient verification method for the outcome ofnumerical root solvers.

Lemma 3.24. Let f ∈ C[Z] be a polynomial of degree n, and ζi for i = 1, . . . , n its roots, that isf (Z) = fn

i(Z − ζi). Let 1≤ k ≤ n, and z ∈ C such that f (z) 6= 0. Then,

f (k)(z)f (z)

=∑′

i1,...,ik

1

(z− ζi1)(z− ζi2) · · · (z− ζik)

:=∑

1≤i1<i2<···<ik≤n

k!

(z− ζi1)(z− ζi2) · · · (z− ζik),

where∑′

i1,...,ikdenotes the sum over all distinct k-tuples.

Proof. Without loss of generality assume f monic. Applying the product rule for f ′ yields

f ′(z)f (z)

=

∑ni=1

j 6=i(z− ζ j)∏n

j=1(z− ζ j)=

n∑

i=1

1

(z− ζi),

and analogously for f (k)

f (k)(z)f (z)

=

∑′i1,...,ik

j 6=i1,..., j 6=ik(z− ζ j)

∏nj=1(z− ζ j)

=∑′

i1,...,ik

1

(z− ζi1)(z− ζi2) · · · (z− ζik).

Counting the number k! of permutations of distinct values (i1, . . . , ik) proves the claim.

Lemma 3.25 (Taylor test for global verification). Let f be as above, m ∈ C, r > 0.If T1(m, r) does not hold, then D◦(m; nr/ ln2) contains a root of f .

Proof. Without loss of generality assume f monic. Let δ(m) :=min{|m− ζi | : 1≤ i ≤ n} ≥ nr/ ln2.Then,

k≥1

f ′(m)f (m)

rk

k!=∑

k≥1

∑′

i1,...,ik

1

(m− ζi1)(m− ζi2) · · · (m− ζik)

rk

k!

≤∑

k≥1

rk

k!

∑′

i1,...,ik

1�

�m− ζi1

�m− ζi2

� · · ·�

�m− ζik

≤n∑

k=1

rk

k!

∑′

i1,...,ik

1

δk(m)

28

Page 41: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

≤n∑

k=1

rk

k!

n

k

��

ln 2

nr

�k

≤n∑

k=1

rk

k!nk�

ln 2

nr

�k

=n∑

k=1

lnk 2

k!

<−1+∞∑

k=0

lnk 2

k!= eln 2 − 1= 1,

which means that T1(m, r) holds. Conversely, ¬T1(m, r) implies δ(m)< nr/ ln2, so D◦(m; nr/ ln2)contains a roots of f .

We can turn this simple result into an effective inclusion predicate as soon as we count at least ndisjoint root candidate regions separated by an relative radius of n ln 2 times the region’s diameter: Ifthe T1 test does not hold on exactly n of them, we deduce that the enlarged regions in fact constitutea set of isolating discs.

Moreover, for root regions clearly separated from 0 there is no need to actually consider the higherderivatives: Taylor’s approximation theorem guarantees that a linear approximation will eventuallysufficiently describe the function in the proximity of a (simple) root. We use this in a variant of lemma3.25 using the (linearly) truncated Taylor test:

Lemma 3.26 (Truncated Taylor test for global verification). Let f , m, r be as above.If | f (m)|< | f ′(m)|r, then D◦nr(m) contains a root of f .4

Proof. Let δ(m) :=min{|m− ζi | : 1≤ i ≤ n} ≥ nr. Then,

f ′(m)f (m)

r =

n∑

i=1

1

(m− ζi)

r ≤n∑

i=1

1�

�m− ζi

r ≤n∑

i=1

1

δ(m)r ≤ n

1

nrr = 1,

thus | f (m)| ≥ | f ′(m)|r. Conversely, | f (m)|< | f ′(m)|r implies δ(m)< nr, so D◦nr(m) contains a rootof f .

In practice, the additional factor (and, implicitly, higher subdivision depth) of ln 2 in the margin isinsignificant compared to the tremendous speedup gained by omission of the higher-order terms, inparticular when no fast Taylor expansion is available. Still, the conservative evaluation of the exclusionpredicate requires the complete Taylor series.

An important implication of lemma 3.26 is obvious: the truncated Taylor test is an extremelyefficient means for the post-certification of the results of any complex root finder. In a number ofdemanding instances, the time required for verification of successful root isolation proved to be barelymeasurable or, at worst, negligible compared to the complexity of the root solving step. In particular,it is significantly faster than commonly employed methods based on Rouché’s theorem.

3.5.5 Complex Solvers for Real Root Isolation

As a final remark on complex root isolation, we note that the sub-problem of real root finding isindeed solved as well:

Theorem 3.27. Let C1, . . . , Cn−k denote a set of pairwise disjoint isolating regions for the complex rootsof a polynomial f ∈ R[X ], where k = deg gcd( f , f ′). Let C j := {x − I y ∈ C : x + I y ∈ C j} denote thecomplex conjugate of C j . If, for some i = 1, . . . , n− k,

Ci ∩R 6= ; and Ci ∩ C j = ; for all j 6= i,

4This amounts to the converse of the 1-Taylor test on f , truncated for super-linear terms of the Taylor expansion.

29

Page 42: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

then Ci ∩R contains exactly one real root of f .

Proof. For f ∈ R[X ], the imaginary roots of f come in pairs of conjugate roots.

Note that ensuring the second property potentially requires refinement of the root approximationsand the corresponding isolating regions.

3.6 Root Isolation for Polynomials with Multiple (Real) Roots

We close the chapter with some results about root finding of non-squarefree polynomials f =∑

i fiXi =

∏n−kj=1 (X − ζ j)m j ∈ R[X ]. As always, n shall denote the degree of f , and we write k := deg gcd( f , f ′).

Then, f has exactly n− k distinct complex roots, which we denote by ζ j for j = 1, . . . , n− k. Themultiplicity of ζ j as a zero of f is m j ≥ 1. The restriction to real-valued coefficients is deliberate; allthoughts apply to polynomials with complex coefficients as well.

As we already noted in section 2.1, this problem is numerically ill-posed, since a sufficiently smallperturbation of a coefficient splits a root of multiplicity m> 1 into m distinct simple root.5

Without additional information, any solver that determines certified isolating regions for the rootsof f , thus, requires to perform computations on the exact coefficient sequence of f . Still, of thementioned methods, only the approaches based on Sturm’s theorem are applicable without additionalmodifications (see remark 3.9). The price to pay is the exact evaluation of the gcd operations in thecomputation of the Sturmian remainder chain.

For all other algorithms, we have to take precautions to avoid infinite subdivision (or, in the case ofnumerical methods, indefinite refinement) and ensure termination. As a showcase, we consider theDescartes method. If ζ j ∈ R is a multiple real root of f , that is m j > 1, then Descartes’ Rule of Signsyields ν f(a,b)

≥ m j ≥ 2 for each interval (a, b) containing ζ j . Thus, neither inclusion nor exclusionpredicate will ever hold in the vicinity of ζ j . Since we cannot guarantee a priori that all multiple rootsare imaginary, Descartes method is insufficient for the solution of non-squarefree inputs. A similarargument applies to the Bolzano algorithms as well.

The obvious remedy is to compute the squarefree part f /gcd( f , f ′) of f prior to the root isolation.This essentially amounts to the computation of the canonical Sturmian remainder chain, and suffersfrom the very same drawback: The Euclidean algorithm requires that exact arithmetics on thecoefficients of f is available. Even if it is (say, for f ∈ Z[X ]orQ[X ]), the squarefree part is subject tocoefficient swell. The Landau-Mignotte bound shows that the bitlengths of the coefficients of gcd( f , f ′)are asymptotically larger than those of f itself by a factor of n log n (see [vzGG03], chapters 3 and 6).This directly implies a higher computational cost for the subsequent root isolation as well.

A particular issue arises for bitstream polynomials. Since a bitstream can provide only approximateguarantees about the value it represents, it is impossible to decide whether a coefficient sequenceis exact. Thus, root isolation is inherently infeasible for non-squarefree bitstream inputs. The sameholds for bitstream interval polynomials unless the approximation procedure can be proven to yielddegenerate singular intervals for all coefficients at some finite precision. In general, this is not thecase.

3.6.1 Known Number of Complex Roots

However, we can easily adapt the complex root isolation algorithms to terminate in existence ofmultiple roots if the user can provide an oracle procedure for the degree k of gcd( f , f ′) or, equivalently,the number of complex roots. For this task, the oracle may utilize offline information not available to

5As an exceptional border case, if f0 = · · ·= fm−1 = 0 or, equivalently, f (X ) = g(X ) · X m with X - g(X ), then 0 is a root withmultiplicity m of f regardless of perturbations of any coefficient of g.

30

Page 43: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

the mere root finder as well as the current set of candidate areas of the solver. We use a subdivisionscheme in breadth-first search manner until exactly n− k root regions are found that are guaranteedto each contain at least one root. Then, the global information ensures that those set actually capturesall complex zeros.

Note that the oracle does not necessarily have to give the explicit k in advance. For example,Sagraloff, Kerber and Hemmer [SKH09] compute a lower bound on the distances between distinctroots for a polynomial in Z[X ] by modular arithmetic. Simultaneously, diameters and distances of thecandidate sets in the root solver provide a corresponding upper bound. They prove that eventuallythe lower bound will increase above the upper one unless the root boxes actually contain multipleroots, and thus yield a certificate for the successful root isolation. This procedure, while conceptuallymore complicated than the computation of the greatest common divisor, is adaptive to the separationof the roots. In particular, the additional cost for squarefree polynomials is negligible.

3.6.2 Known Number of Real Roots

For real root isolation, the problem is more involved. Even if the number m of real roots is known inadvance, a set of root candidates does not necessarily allow to terminate the algorithm. Again, weconsider the Descartes method:

Example 3.28. Let f (X ) = (X−3)2X 3(X+3)2 and g(X ) = ((X−3)2+ε)(X−ε)X (X+ε)((X+3)2+ε)for ε > 0, ε� 1. Assume that the number m= 3 of real roots of both f and g is known in advance.Then, f vanishes on −3, 0 and 3 with multiplicities 2, 3 and 2, while g has the simple real roots −ε,0 and ε, and

ν f(−4,−2)= ν f(2,4)

= 2 and ν f(−1,1)= 3, but

νg(−4,−2)= νg(2,4)

= 2 and νg(−1,1)= 3 as well.

The number of sign changes for f accurately matches the number of roots in the correspondingintervals, but the Rule of Sign does not allow to distinguish the situation to g. Further subdivision onthe intervals does not change the ν f .

Thus, the number of real roots in general does not suffice as an termination criterion.

Remark 3.29. A complex root isolator is capable to solve the real root isolation sub-problem. Fornon-squarefree inputs, it is sufficient to provide the number m of real roots as a termination criterion.

In contrary to the purely real methods, the complex solver will eventually recognize n− k candidateregions. Of those, m regions are isolating for the real roots; the remaining (n− k)−m comprise theimaginary roots. If necessary, further refinement shrinks the latter until they only contain imaginarypoints. Once exactly m sets touching the real axis are left, we can deduce that the intersections withR gives a set of isolating intervals for the real roots.

31

Page 44: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011
Page 45: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

4 ARCAVOID

To be fair: for a large number of applications, existing root finding methods are more than sufficient.Still, in certain settings we need more than is usually provided. In particular, the handling of bitstreamcoefficients and efficiency even for certified multi-precision computations are recurring issues.

There’s a gleam of hope at the horizon, in defiance of the disillusions in the preceding chapter.Simultaneous root finders are numerical iteration methods, distant relatives to the Eigenvaluealgorithms, but specifically adopted to fit the needs of polynomial root finding.

We will now introduce our complex root finding algorithm ARCAVOID and its predecessor [MPSolve]by Bini and Fiorentino [BF00a] as representants of this class. The term ARCAVOID – besides the fairlyobvious reference on the well-known arcade classic Arcanoid of earlier days of computing, and themore hidden pun that its output are null values, denoted by void in the C programming language andits successors – is an acronym for Approximation, Root Clustering, and Verification of Isolating Discs.1

ARCAVOID is designed to both address the shortcomings of the classical approaches and maintaintheir good characteristics. ARCAVOID shall

• accept a wide class of inputs, in particular bitstreams and bitstream intervals,

• provide certified output,

• observe and exploit the geometry of the roots,

• not internally use significantly higher precision than absolutely necessary (and, therefore,employ numerically stable computations wherever applicable),

• be efficient in theory and practice (but especially the latter), and

• easily allow library and stand-alone implementations.

We do not specifically optimize for sparse inputs or straight-line programs, but remark that thealgorithm is able to exploit both to some degree.

Throughout the rest of the thesis, we denote by C[Z] 3 f (Z) =∑n

i=0 fi Z i = fn

∏ni=0(Z − ζi) the

univariate polynomial of degree n with coefficients fi ∈ C in the standard monomial basis, and byζi ∈ C the complex roots we aim to find. The capital letter Z is used for the indeterminate of the ringof polynomials C[Z]; the small letter z in f (z) stands for an arbitrary, but concrete, substituted value.As all complex root solvers, we require the degree of the input to be known in advance, that is fn 6= 0.

4.1 Outline of ARCAVOID

We address both our first and the fourth goal when we define how the input of ARCAVOID looks like.Regardless of the actual coefficient range of the polynomial – whether exactly representable or not –we work on a Bitstream interval approximation in stages of gradually increasing precision.

The main engine of ARCAVOID is a simultaneous root finding algorithm. Starting from n initial rootcandidates, an iteration scheme is expected to give gradually improving approximations to the roots.We favor the use of the Aberth-Ehrlich method (see section 4.2.3) for its excellent performance inpractice, but different choices can be justified.

1It is pronounced as Ar-ca-void – we will deal with circles, so we do not intend to avoid arcs...

33

Page 46: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

4.1.1 Polynomial and Root Neighborhoods

A naïve iteration scheme for solutions of a polynomial runs indefinitely, hopefully giving betterapproximation after each run. We have to terminate the numerical method from the outside to ensuretermination. Fortunately, the bitstream input model comes with an implicit stop criterion on theapproximation quality of a root:

Definition 4.1 (Polynomial and root neighborhood). Let f ∈ C[Z] be a polynomial with a bitstreaminterval procedure for its coefficients. Let p ∈ N be some integer precision.

1. The polynomial neighborhood or polynomial interval approximation [ f ](p) of precision p isdefined as the set of polynomials whose coefficients lie in p-bitstream interval approximationsof the corresponding coefficients of f :

[ f ](p) :=¦

f =∑

i fi Zi ∈ CI[Z] : fi ∈ [ f ]i

©

,

where the [ f ]i are p-interval approximations of fi .

We canonically identify the set [ f ](p) with a polynomial in CI[Z]. In particular, we write[ f ](p)(z) :=

¦

z ∈ C : f (z) = 0 for some f ∈ [ f ](p)©

⊂ C for the set of values the polynomials in

[ f ](p) take when evaluated on z, and [ f ]′(p) :=¦

f ′ : f ∈ [ f ](p)©

for the derivative of [ f ](p).

2. The root neighborhood RN f (p) of precision p is defined as the union of the vanishing sets of thepolynomials in the corresponding p-polynomial neighborhood of f :

RN f (p) :=¦

z ∈ C : there is an f ∈ [ f ](p) with f (z) = 0©

=[ f ]−1(p)(0) =

¦

z ∈ C : 0 ∈ [ f ](p)(z)©

.

Remark 4.2. By definition, it is obvious that for all precisions p ∈ N, f ∈ [ f ](p) and ζi ∈ RN f (p) for aroots ζi of f .

As soon as a root guess z ∈ C lies in the p-root neighborhood of f , it is not distinguishable fromany possibly better approximation within the working precision p. Thus, we say that the stop criterionfor the refinement of z at precision p is satisfied if z ∈ RN f (p).

ARCAVOID takes a bitstream interval for the squarefree input polynomial f , and returns isolatingregions for f . Since f is squarefree and the position of the roots continuously depends on thecoefficients of f , there is some precision pmin such that RN f (pmin) contains exactly n pairwise disjointconnected components, each isolating for a root of f . Unsurprisingly, we expect ARCAVOID toapproximate f to this very precision (or slightly higher) and detect the isolating regions.

Remark 4.3. It is, by definition, infeasible for any root finding approach to give certified resultswithout demanding the minimum precision. However, note that the definition of pmin is not globallywell-defined, but depends on the output of the bitstream interval procedures per instance.

For example, the approximation interval for an integer x is likely to degenerate to [x , x] as soon asp = prec(x) is reached. If, however, an identical value x ′ = x = φ(α) is defined to be the value ofa function φ involving transcendental expressions, we do not expect that [x , x] is ever recognized,regardless of the working precision (see example 2.10.5 on page 8).

4.1.2 Root Inclusion CertiVcates

The intention of returning isolating discs requires us to give a conservative bound on the extent of aroot neighborhood of f . Thus, we introduce the notion of

34

Page 47: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

−1.2

−0.9

−0.6

−0.3

0.0

0.3

0.6

0.9

1.2

ℑ(z)

−1 −0.5 0 0.5 1ℜ(z)

Figure 4.1: Root neighborhoods for different approximations of f = Z15 − 0.95

−1.2

−0.9

−0.6

−0.3

0.0

0.3

0.6

0.9

1.2

ℑ(z)

−1 −0.5 0 0.5 1ℜ(z)

Figure 4.2: Root neighborhoods for different approximations of f = Z21 − (Z + 116)3 (Z − 1+I

32)2

35

Page 48: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

Definition 4.4 (Root inclusion discs). A root inclusion disc for a complex number z with respect to apolynomial f ∈ C[Z] is a closed disc D ⊂ C in the complex plane such that D contains both z anda root of f . If the sum m ≥ 1 of the multiplicities of the roots in D is known, we say that D is aninclusion disc of multiplicity m for f .

We say that D is a root inclusion disc of z of multiplicity m with respect to an interval polynomial[ f ] ∈ CI[Z] if D comprises z and exactly m roots of each polynomial f ∈ [ f ].

This notion allows us to state the high-level algorithm for ARCAVOID:

Algorithm 2: ARCAVOID (Outline)input : bitstream interval approximation of a squarefree polynomial f of degree noutput: list O of isolating discs for roots

O← ;1

p← 53 // 53: default floating point precision on 32 bit architectures2

f ← some arbitrary polynomial in [ f ](p)3

[F]← [ f ](p) · [1− 2−p, 1+ 2−p] // see remark 4.5 below55

Initialize z = (zi)i for i = 1, . . . , n to some root approximations.6

Active← {zi : i = 1, . . . , n}7

repeat8

repeat9

Compute root inclusion discs Di with respect to [ f ](p) for all zi ∈ Active.10

forall Di of multiplicity one that are “well-separated” from the others do11

// Newton iteration is guaranteed to converge from zi to ζi ∈ Di12

Remove zi from Active.13

Append Di to O.14

RootNBH← ; // approximations that require higher working precision15

repeat16

forall zi ∈ Active do17

Perform a step of the (Gauß-Seidel style) Aberth-Ehrlich iteration for f on zi .18

if 0 ∈ [F](zi) then19

Remove zi from Active.20

Append zi to RootNBH.21

until Active= ; // 0 ∈ [F](zi) for all i22

p← 2p // double working precision23

Active← RootNBH24

until Active= ; // all approximations are in some root neighborhood of f25

if not all root inclusion discs Di are pairwise disjoint then26

Active← O // Aberth-Ehrlich iteration not successful: repeat27

until Active= ; // all roots are found28

return O29

Remark 4.5. In line 5, we widen the interval approximation of f . This seems nonsensical at the firstglance; after all, we stressed the benefit that bitstream intervals allow a more fine-grained estimationof the input. We do actually exploit this additional precision in the numerical iteration and thecomputation of the inclusion discs.

36

Page 49: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

However, even for the case of an exact input (that is singleton coefficient intervals for [ f ](p)) wehave to tolerate some deflection from the precise roots for the stop criterion.

Before we turn to the methods to actually find good root candidates, we discuss the means tocompute inclusion discs on bitstream polynomials. A simple result is equivalent to the truncatedcomplex Taylor test as employed in CEVAL.

Lemma 4.6. Let [ f ] ∈ CI[Z] be an interval approximation of a polynomial f , deg f = n, and z ∈ Csuch that 0 /∈ [ f ]′(z). Then, the disc

D(z; r) = {w ∈ C : |w− z| ≤ r} , where r := n max

[ f ](z)[ f ]′(z)

,

is an inclusion disc for each polynomial in [ f ]; in particular, for f .

Proof. Apply lemma 3.26 (page 29).

As mentioned there, this result is not sufficient to guarantee the success of the root isolation unlessthe discs D(zi; ri) for all root approximations are pairwise disjoint. As a simple counterexample,assume f = [ f ] = Z(Z + 1) and z1,2 = ±ε. Then, for ε � 1, r ≤ 2|ε2 + ε|/|1− 2ε| ≤ 5ε, but theenlarged discs D(z1,2; r) do not contain the root −1.

In particular, as long as there are k intersecting root discs, the lemma does neither allow to boundthe multiplicity of any of the inclusion discs D(zi; ri) below k nor to give a non-trivial lower bound.Since we can withdraw a root approximation from further consideration in the algorithm as soon asthe multiplicity of the corresponding inclusion disc is one, this in an unpleasant restriction. Betterbounds can be derived from Rouché’s theorem or the theory of Gershgorin circles.

We use the following result by Neumaier, based on the latter approach:

Theorem 4.7. Let f ∈ C[Z] be a polynomial of degree n and let z1, . . . , zn ∈ CC be pairwise distinctapproximations to its roots. Define αi := f (zi)/

j 6=i(zi − z j).Then, all roots of f belong to the union D of the discs

Di := D(zi − ri; |ri |), where ri :=n

2·αi

fn.

Moreover, every connected component of D consisting of m of these discs contains exactly m zeros of f ,counted with multiplicity.

Proof. See [Neu03].

Corollary 4.8. Let f , zi be as above, and let [ f ] be some polynomial neighborhood of f .Then, the root neighborhood [ f ]−1(0) is contained in the union D of the discs

Di := D(zi; Ri), where Ri := n ·max

�[ f ](z)�

j 6=i |zi − z j |.

Moreover, every connected component of D consisting of m of these discs contains exactly m zeros of eachpolynomial in [ f ], counted with multiplicity.

Proof. Apply theorem 4.7 on [ f ], and note that D(z− r; |r|)⊂ D(z; 2|r|).

Remark 4.9. The radii of the inclusion discs scale proportionally to n. For a region comprisingk roots, Neumaier proposed an additional refinement step to shrink the radii by a factor n/k by

37

Page 50: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

recursive application of a generalized theorem on the connected components. If the approximationsare sufficiently close to the roots, the revised method overestimates the approximation error by anasymptotic factor of k.

In his analysis [Rum03] of different methods to bound multiple root regions, Rump erroneouslyquantifies the computational cost of the refinements to be insignificant compared to the initialcomputation of the inclusion discs. In our implementation, the additional effort of the refinement didnot compensate for the smaller bounds.

4.2 Simultaneous Root Approximation Methods

The Aberth-Ehrlich iteration is a simultaneous method to approximate the zeros of a univariatepolynomial. Different approaches lead to the formula given below: Louis W. Ehrlich [Ehr67] aims togive a better Newton-like refinement method for all roots with super-quadratic convergence, whileWolfgang Börsch-Supan [BS63] derives a posteriori error bounds on the quality of root approximations.Finally, Oliver Aberth [Abe73] borrows ideas of the Newton-Raphson and the Durand-Kerner methodand unifies their benefits. His modifications both promise faster convergence and try to avoidintermediate approximations to be “caught” in basins of attraction which do not contribute to theglobal solution of the polynomial equation. For now, we explain the motivation of the latter.

All simultaneous root finders base on a certain choice z(0) = (z(0)i )i ∈ Cn of initial candidates (for de-

tails on the selection of the starting configuration, see section 4.3). Subsequently an operator Φ uniqueto the very method is applied iteratively to yield z(1) = Φ(z(0)), z(2) = Φ(z(1)), . . . , z(k+1) = Φ(z(k)),. . . , until the approximations (hopefully) fulfill the required precision for the root approximation.

Definition 4.10. A simultaneous root iteration method for f ∈ C[Z] is defined by an operatorCn→ Cn, specifying the updates on the root approximations in each iteration step. Specifically,

1. the (simultaneous) Newton-Raphson method is given by N f : Cn→ Cn, z 7→ z′, where

N f (z)�

i:= z′i := zi −

f (zi)f ′(zi)

, (4.1)

2. the Weierstraß-Durand-Kerner (WDK) method is given by WDK f : Cn→ Cn, z 7→ z′, where

WDK f (z)�

i:= z′i := zi −

f (zi)

fn

j 6=i

zi − z j

� , (4.2)

3. and the Aberth-Ehrlich method is given by A f : Cn→ Cn, z 7→ z′, where

A f (z)�

i:= z′i := zi −

f (zi)/ f ′(zi)

1− f (zi)/ f ′(zi) ·∑

j 6=i1

zi−z j

. (4.3)

Remark 4.11. Note that the Newton-Raphson method does not consider any of the other n − 1components for the calculation of a single entry, and thus simply amounts to the application of thewell-known one-dimensional iteration z′ = z− f (z)/ f ′(z) to each of the components separately.

Remark 4.12. The operators as stated in definition 4.10 describe Jacobi-style iterations, where thecomponents of the vector z (that is all root approximations) are updated at once with respect toall the previous approximations. All methods can, however, be rewritten in a Gauß-Seidel manner,where a single component is updated in each step; in a stage of n mappings, each approximation is

38

Page 51: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

refined once. More formally, Φ is replaced by Φ(n) ◦Φ(n−1) ◦ · · · ◦Φ(1), where (Φ( j)(z)) j = (Φ(z)) j and(Φ( j)(z))i = zi for all i 6= j.

The Gauß-Seidel variants promise slightly higher convergence rates, since the improvement on eachvalue already contributes to better update estimates for the remaining ones, and can usually performedin-place without additional space for temporaries. On the other hand, Jacobi-like implementationsallow the computation of the correction terms in parallel and do not depend on the order of thecomponents of z (although this can be dealt with, for example, using random permutations of theΦ( j)).

In our implementation, we use the Gauß-Seidel variants.

4.2.1 The Newton-Raphson Method

As noted in remark 4.11, the Newton-Raphson iteration essentially only considers a single rootapproximation. The one-dimensional variant is elementary mathematics: at an interpolation point ofthe function, get the slope and compute the zero of the tangent as the next approximation (see figure4.3).

Convergence of the method is easy to see when the initial approximation z(0) is already in asufficiently small neighborhood of a simple root ζ of f . In this setting, the derivative f ′ stabilizes to avalue close to f ′(ζ) 6= 0. Now consider the Taylor expansion at z(0).

0= f (ζ) = f (z(0)) + f ′(z(0))(ζ− z(0)) +O�

|ζ− z(0)|2�

,

which yields

�ζ− z(1)�

�=

ζ− z(0) −f (z(0))

f ′(z(0))

=1

� f ′(z(0))�

O�

|ζ− z(0)|2�

≈1

� f ′(ζ)�

O�

|ζ− z(0)|2�

=O�

|ζ− z(0)|2�

.

We recognize the well-known fact that the iteration will converge quadratically to the root [Til98].Evenly famous is the unpredictable behavior of the Newton-Raphson method for approximations

outside of the proximity of a root; the iteration might or might not converge, and even if it does,the center of attraction is not necessarily the closest root, but varies chaotically. This behavior isresponsible for the pretty structures of Julia and Fatou set pictures, which gain a lot of attention fromart and popular science, but show how badly the iteration performs if no proper precautions are taken.In summary, Newton’s method for itself is not a practical approach for root solving, but the quadraticconvergence and the ease of evaluation makes it a good refinement algorithm, as soon as the rootregions are determined by another approach.

z(0)z(1)z(2)

z(3)z(4)

Figure 4.3: Four steps of the real-valued Newton-Raphson iteration

39

Page 52: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

As a side note, while the usual iteration rule yields only linear convergence to multiple roots, it ispossible to tune Newton’s method to keep quadratic speed if the multiplicity of the root is known inadvance.

4.2.2 The Weierstraß-Durand-Kerner Method

Even if we were to guarantee that the Newton iteration will converge, we would face the problem thatseveral initial approximations might “get caught” in the same basin of attraction and thus convergeto the same root. The WDK method aims to overcome this hindrance. An algebraic derivation ofthe Durand-Kerner method can be found in [Ker66]; we illustrate the rationale behind in intuitivephysical terms, starting with Newton’s method:

We identify the field complex numbers with vectors in the Euclidean two-dimensional space. Then,Vζ(z) := (z − ζ)/|z − ζ|2 = 1/(z− ζ) defines a vector field, which assigns each to each point z ∈ Cthe vector directed away from ζ, with a length inverse to its distance to ζ. We now overlie the vectorfields corresponding to the complex roots of f , resulting in

Vf (z) := V(ζ1,...,ζn)(z) :=∑

i

Vζi(z) =

i

1/(z− ζi) = ( f ′(z)/ f (z)).

(For the last equation, see lemma 3.24.) In electrostatics, this amounts to the field of unit plus chargeslocated at the roots ζi , affecting a unit negative charge z. In case of multiple roots, each points carriesa charge equal to its multiplicity as a root of f .

Now, a step of Newton’s iteration corresponds to sampling this vector field at some root approxima-tion z and placing the new approximation z′ at the location of a single plus charge that were causingthis particular force if no other charges would be involved. This amounts to the assumption that thereis only one significant term in the sum

i 1/(z− ζi), which is indeed reasonable for z near a simpleroot. Repeating the sampling gives the Newton-Raphson method.

Without proper precautions taken, it is as likely as not that a selection of n initial root guessesconverge to the same root ζ. In the Durand-Kerner iteration, being a simultaneous method, we canavoid this obstacle: We consider the sampled field as originating from n fixed plus charges, not justone. Namely, in the correction for some component, each of the n− 1 remaining approximationsis taken as a root, and thus contributing to the field. We then shift the root guess to the calculatedposition of the missing n-th plus charge.

This approach turns out to be reliable in practice, if protected from overflows: When the fixedquasi-roots are in some distance from the component to be updated, the local force field is dominatedby the nearby roots of the original polynomial, and the update is attracted to them. If, however, oneof the other root approximations is very close, the position of the virtual n-th root contributing to thefield is quite arbitrary. The result of the iteration will be similarly unpredictable, and can lead to faroff intermediate approximations.

Thus, a typical run in the WDK method consists of a number of small refinements, followed by asudden explosion of the root approximations, often exceeding the root range by several orders ofmagnitude. Afterwards, the root guesses route to their center of gravity, and are “pocketed” to theactual roots from the outside. This is not an issue in multi-precision floating point environments (seesection 2.2), but a naïve implementation using machine precision floats or even doubles rarelymakes it through the blow-up phase for degrees in the lower two-digit range.

Remark 4.13. When the approximations are sufficiently near to the actual roots of the polynomial, thecorrection term in the Weierstraß-Durand-Kerner iteration converges to the derivative of f . Thus, thebehavior will eventually be identical to the Newton-Raphson method and yield quadratic convergencefor simple roots as well.

40

Page 53: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

−2

−1

0

1

2ℑ(

z)

−2 −1 0 1 2ℜ(z)

−2

−1

0

1

2

ℑ(z)

−2 −1 0 1 2ℜ(z)

−2

−1

0

1

2

ℑ(z)

−2 −1 0 1 2ℜ(z)

top left: Newton-Raphson method, top right: Weier-straß-Durand-Kerner method, bottom left: Aberth-Ehrlich methodThe roots of f (Z) = (Z3 − 2)(Z + (4− I )/10)2 areshown in red, the roots of f ′ in orange; the greencrosses denote the positions of some n−1 differentroot approximations.Vectors are scaled by factor 1/5, and additionallyshortened if significantly larger than the samplinggrid size.The Newton method shows distinctive turbulencearound zeroes of the derivative, and ignores theposition of the other guesses. The WDK iterationstrongly points towards the root which is missingin the remaining approximations.Aberth’s method combines the features: it bothattracts to the closest root (as Newton) and repelsfrom other approximations (as WDK).

Figure 4.4: Fields of force for a root approximation in Newton’s, WDK and Aberth’s method

4.2.3 The Aberth-Ehrlich Method

Aberth [Abe73] draws the following conclusions from the physical interpretation of Newton’s method:Instead of independently tracing the motions of minus charges in the field of force given by positivecharges at the roots, it is advisable to account for their reciprocal electrostatic interaction as well.

Consequently, Aberth adds repelling forces between the distinct root guesses. While the zeros ofthe input are stagnation points of the iterations, the other approximations now act as poles. Therepulsion of negative charges among each other reliably resolves collisions of approximations evenwhen there actually are m> 1 very close roots (or a single root of multiplicity m). In this situation,the root guesses tend to converge uniformly spread on a circle with decreasing radius; however, theconvergence rate is only linear.

41

Page 54: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

The Aberth-Ehrlich method is exceptionally reliable and performant in practice. Besides thefundamentally unavoidable polynomial evaluation, overflow issues may arise in the situation that tworoots are very close. This is a very rare circumstance: the repulsive forces between the approximationstend to prevent this beforehand, and an explosion as in the WDK iteration is seldom observed. Also,the attraction to the closest root keeps the average number of iterations lower than for WDK. A“hole-in-one”, where the direction of the root tracing does not vary significantly during the iteration,is not entirely unlikely.

Remark 4.14. It can be shown that the Aberth-Ehrlich iteration for some approximation zi is theequivalent of Newton’s method on the rational function

F(Z) :=f (Z)

j 6=i(Z − z j).

When the root guesses z j ≈ ζ j for j 6= i converge to the actual roots of f , the denominator approx-imately corresponds to f ′(zi). Looking at the Taylor expansion of f at ζi , we see that the Newtoncorrection for F not only compensates the linear terms, but the quadratic residuals as well. At theprice of a higher computational cost per iteration, Aberth’s method is, thus, cubically convergent tosimple roots [Til98].

4.3 Opening: The Choice of a Starting ConVguration

The performance of all simultaneous numerical methods crucially depends on a good choice of theinitial approximations z(0) = (z(0)i )i . We cannot expect to pick an “optimal” selection in the very closeproximity of the roots: this actually is what root isolation is all about. But cheap heuristics can providea significant decrease in the number of iterations required to achieve a root guess configuration in theroot neighborhood for the initial working precision.

Our method of choice is due to Bini, and significantly contributes to the outstanding performanceof his implementation [MPSolve].

Theorem 4.15. Let f =∑

i fi Zi ∈ C[Z] be a polynomial of degree n, f0 6= 0 6= fn. The equation

| fk|X k −∑

i 6=k

| fi |X i = 0,

by Descartes’ Rule of Signs, has exactly one positive real solution s0 for k = 0 and exactly one positive realsolution tn for k = n. Moreover, for 1≤ k < n, it has either none or two positive solutions sk < tk.

Let 0 = k1 < k2 < · · · < kq = n be all values of k for which there is a positive solution, and definet0 := 0 and sn := ∞. Let t0 < s0 = sk1

< t k2< sk2

< · · · < t kq−1< skq−1

< t kq= tn < sn. Then, any

polynomial g ∈ C[Z] of degree n

g(Z) =n∑

i=0

gi Zi , where |gi |= | fi | for i = 0, . . . , n,

has exactly k j+1 − k j complex roots in the closed annulus A j := D(0; t k j+1) \ D◦(0; sk j

) = {z ∈ C : sk j≤

|z| ≤ t k j+1} of radii sk j

and t k j+1for j = 1, . . . , q− 1, and no roots in the open annulus of radii t k j

and sk j

for j = 1, . . . , q.

Proof. See [Bin96], theorem 5.

42

Page 55: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

Determining the exact values sk and tk again requires root solving on simpler polynomial instances.But as Bini points out, since we are only interested in rough guesses for initial configurations, we donot need to exactly solve the equations:

Theorem 4.16. Let f =∑

i fi Zi ∈ C[Z] be a polynomial of degree n, f0 6= 0 6= fn. Let 0 = k1 < k2 <

· · · < kq = n denote the X -coordinates of the vertices of the convex hull of the set {(i, log | fi |) : i =0, . . . , n}. Then, for j = 1, . . . , q− 1,

uk j:=�

� fk j/ fk j+1

1k j+1−k j ∈A j .

In particular, the k j+1 − k j equispaced points

z(0)k j+i = uk j+1exp

��

k j+1 − k ji+

nj+σ

I

for i = 1, . . . , k j+1 − k j and random σ ∈ [−π,π]

on the circles of radius uk jlie in the root annuli of f (Z) as given in theorem 4.15.

Proof. See [Bin96], theorem 6.

The proposed method is incurs very little overhead: Since the points (i, log | fi |) are canonicallysorted on their first component, on the convex hull computation can be easily done in linear time usingthe Graham scan algorithm. Moreover, numerical precision is not an issue since the outcome of thealgorithm only serves as initial approximation for the subsequent root iteration. However, the benefitsare dramatic. In experiments on random polynomials of degrees up to 200, we compared Bini’sstarting configurations against the trivial choice of the n-th roots of unity. Both the Durand-Kerner andthe Aberth-Ehrlich iterations require but a fifth of the number of iterations to yield approximations inthe machine precision root neighborhoods (p = 53).

4.4 Middle Game: Precision Handling in Numerical Root Finding

ARCAVOID works on bitstream input not only to handle inexact input. The concept of polynomial androot neighborhoods implicitly gives bounds for the required working precision and, thus, the cost ofarithmetics in the stages of the algorithm. But how large do we actually have to choose the precisionof intermediate results to avoid superfluous work while getting accurate results? Again, we borrowresults from Bini and Fiorentino’s work on MPSolve [BF00a; BF00b].

Assume that an operation ◦ ∈ {+,−, ·,/, kp} is performed with a maximum relative error of µ = 2−p

on floating point operands of precision p, that is x e◦ y = (1+ δ)(x ◦ y) for some δ < µ for allx , y ∈ F(p) (see 2.2). Then, we have the following results:

Lemma 4.17. Let x = x1 + I x2, y = y1 + I y2 ∈ CF(p) be complex numbers with x + y = z = z1 + I z2,x y = w = w1 + I w2. Let z = x + y, w = x · y be the values obtained by evaluating the complex additionor multiplication in floating point arithmetic with precision p. Then,

z = (1+δ)z, where |δ|< µ,

w = (1+ ε)w, where |ε|< 2p

2µ+p

2µ2

for classical complex arithmetic and

w = (1+ ε)w, where |ε|<p

13µ+O(µ2)

43

Page 56: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

for fast complex arithmetic (Gauß-Karatsuba multiplication using 3 real multiplications and 5 realadditions).

Proof. See page 76 in the appendix.

Corollary 4.18. Let f (z) := fl( f (z)) denote the value computed by applying the Ruffini-Horner rule forz ∈ CF(p) on f ∈ CF(p)[Z] in floating point arithmetic at precision p. Then,

f (z) = fl��

· · ·��

fnz+ fn−1�

z+ fn−2�

z+ · · ·�

z+ f0�

=n∑

i=0

fi(1+δi) z i , where |δi |< ((2p

2+ 1) i+ 1)µ+O(µ2)

for classical complex arithmetic and

f (z) =n∑

i=0

fi(1+δi) z i , where |δi |< ((p

13+ 1) i+ 1)µ+O(µ2)

for fast complex arithmetic.

Proof. Apply lemma 4.17 for each multiplication and addition in the Ruffini-Horner evaluationscheme.

Bini and Fiorentino now deduce the following strong result:

Corollary 4.19. The backwards stability of the Ruffini-Horner rule implies�

� f (z)− f (z)�

�< µ(2p

2 n+ 1)�

�s(|z|)�

� or�

� f (z)− f (z)�

�< µ(p

13 n+ 1)�

�s(|z|)�

for classical and fast complex arithmetic, respectively, where s(X ) :=∑

i | fi |X i .In particular, an intermediate working precision of at most log

3(2p

2 n+ 1)�

p or log�

3(p

13 n+ 1)�

p,respectively, suffices to decide whether z lies in the p-relative root neighborhood of f .

Proof. See [BF00a], theorems 6 and 8.

The authors of MPSolve further pursuit the estimates of the rounding and cancellation errorsincurred by polynomial evaluation, and deduce certified bounds on the root inclusion discs. Instead,we only note that the factor [1−2−p, 1+2−p] for the expansion of the coefficient interval is sufficientto detect approximations inside the root neighborhood as such within the current working precision,since all interval boundaries in the evaluation of [F](zi) are affected by round-off in the same scale.

We emphasize that, in our approach, the precision handling is only necessary for performancereasons. The correctness of the output is ensured regardless of the intermediate precisions by thethorough use of conservative interval arithmetic. In particular, our algorithm does not depend on theimplementation of polynomial evaluation schemes. In contrast, a completely new analysis and rewriteof the code base has to be done for the integration of asymptotically fast algorithms in MPSolve.

4.5 Endgame: Speed-up Strategies for Ill-conditioned Roots

Finally, ARCAVOID integrates a strategy to gain significant speed-up for multiple or very close roots.For an explanation of the situation, see figure 4.2, depicting the root neighborhoods of

f [Z] = Z21− (Z +1

16)3 (Z −

1+ I

32)2.

44

Page 57: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

The vanishing set of f consists of 16 well-conditioned zeros near the unit circle and two clusters ofroots around 1/16 (with 3 zeros) and (1+ I)/32 (with 2 zeros). The former do not require highprecision to be isolated, while the latter require a substantial number of refinement steps. But thelocal view around the clusters actually amounts to a polynomial of degree 3 or 2, respectively.

Michael Sagraloff recently recognized that in this case of a well-separated root region, consisting ofk roots around c ∈ C, it actually suffices to perform the root isolation on the local polynomial g(Z− c),where we only consider the coefficient up to degree k [Sag10]. He describes an estimation to controlthe perturbation implied by the round-off error in the shift operation to c and the truncation of thelocalized polynomial.

We follow an easier approach, employing the truncated polynomial for the numerical iterationsonly. If, at the precision increment stage of the algorithm, we find that the circumcircle D(c, r) ofa connected component of k < n root inclusion discs does not contain the origin, we compute thelocalized polynomial g at c and apply the initial root guess procedure as given in section 4.3 to yieldapproximations z′1, . . . , z′k to the roots of g. If we find that some of the initial guesses are outside ofD := D(0, r), we conclude that the separation of the root cluster is not sufficient with respect to theremaining roots of f .

Otherwise, we apply the Aberth-Ehrlich iteration for the approximations z′1, . . . , z′k on g. Once theroots fall in the root neighborhood of g with respect to the current working precision, we apply thebackshift z′i 7→ z′i + c = zi and compute the inclusion discs for the new root candidates zi directly on f .

With this simple approach, we yield a tremendous gain in efficiency while maintaining a globalcertificate on the solutions.

45

Page 58: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011
Page 59: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

5 Implementation and Experiments

We provide an implementation of ARCAVOID integrated into the Computational Geometry Algo-rithms Library [CGAL]. It is aimed towards the development of a framework for complex algebraiccomputations in addition to the existing real valued algebra.

The CGAL library represents the state of the art in exact geometric algorithms. While originallyaddressed to linear geometry, a strong trend towards nonlinear algebraic geometry. CGAL relies onthe generic programming paradigm to allow a modular exchange of algorithms, data structures andnumber types that conform to certain requirements, depending on the environment.

In CGAL, those requirements are collected by concepts, and a specific implementation of a conceptis called a model. As an example, the concepts for number types closely resemble the well-knownmathematical structures of groups, rings and fields. A number type library such as [GMP] or [LEDA]provides models for rings (Z, namely arbitrarily large integers) or fields (Q). Additionally, models canprovide information about the specifics of an implementation. For example, a rational field assertsthat the computations are performed in an exact way, but that the model does not offer (arbitrary)square roots.

A traits or kernel class collects a number of models required for a certain algorithm. In the caseof a root solver for approximate input, the kernel class is required to provide a coefficient numbertype and bitstream or bitstream interval approximations of univariate polynomials. Thus, we canencapsulate the algorithm from how a particular caller implements the bitstream approximation anddeals with the output.

CGAL is written in C++, where the concepts can be implemented by means of template parameters.Thus, the selection of different models is entirely done at compile time and does not impair theperformance of the applications.

5.1 Integration of ARCAVOID in the CGAL Framework

ARCAVOID constitutes the first implementation of explicit complex arithmetic in CGAL. We decidedto extend the existing hierarchy of number types by the Complex_embeddable concept. Naturally,we provide a model as well, in form of the Cartesian_complex class. Its components again areparametrized to accept any implementation of the existing Real_embeddable concept.

The interface is designed to be as general as possible. For example, we took precautions thatit is possible to seamlessly integrate polar representation of complex numbers, which may be themethod of choice for trigonometric applications. As well, we extended the notion of Intervals –again, a component of CGAL’s type hierarchy – to fit to the complex plane. A complex interval ofCartesian_complexes is given by a complex of intervals. In contrary, the similar approach in polarrepresentation might denote an complex annulus {z ∈ C : r1 ≤ |m − z| ≤ r2} with radii r1 andr2 around some center m. By the generic programming, a user of the concept can apply the samepredicates and operations on either model. Of course, the embedding of real numbers into thecomplex plane requires no intervention from the user as well.

For ARCAVOID itself, we introduced Complex_root_solvers, based on the proven Real_root_solverconcept. In terms of CGAL, this allows the programmer to ask for the boundaries of isolating regions

47

Page 60: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

for either complex or real roots. Using the ideas of remark 3.29 and theorem 3.27, ARCAVOID tooprovides an interface as a Real_root_solver.

The price to pay for a generic environment is the initial setup. The entire contribution of ourcode to the CGAL project amounts to about ten thousand lines of code. Of those, less than 2000are actually concerned with ARCAVOID. The lions share consists in posing the new concepts andsatisfying the existing interface requirements. Besides, a generic interface offers next to no facilitiesfor pre-allocation and reuse of memory, as it is realized in all solvers with hard-coded data types.

Our implementation strictly follows the description given in chapter 4. Additionally, the initialround of iterations is performed in machine precision double floating point arithmetic, yielding amajor speedup for well-separated roots. The inclusion discs are conservatively computed using CGAL’sInterval_nt implementation by Sylvain Pion and Michael Hemmer. A very similar implementationis available independently of CGAL in the numeric/interval package of the [Boost] C++ library.

5.2 Benchmarks for Univariate Solving

In this section, we will provide a representative set of benchmarks for our complex solver. It seemsnatural to choose a selection contestants out of the well-renowned leaders in mathematical, numericaland algebraical software, such as [Maple] or Mathematica [WR88]. However, we feel that this wouldnot be a fair and sensible comparison. The major players in this field feature far less specializedalgorithms; in particular, none can offer a fine-grained precision handling as necessary for efficientroot isolation.

On the one hand, the algorithms employed are of numerical, uncertified nature. Of course onehas to look hard for wrong results, but still this does not fit to our expectations. On the other hand,however, the complex root finders work with a global, user-defined precision to approximate allroots. This has to be paid for within the refinement iterations and entails an inherent disadvantagecompared to our adaptive technique.

Bini and Fiorentino decided to still compete against them, and found their MPSolve implementationfaster on each experiment by orders of magnitude. To the best of our knowledge and experiments,this situation has not changed significantly in the last decade; we thus refer to their experiments andresults in [BF00a].

5.2.1 Contestants

Instead, we decided to include real root isolators in our comparisons. This is mostly due to the factthat real solving is the predominant problem in recent algebraic geometry. However, the complexsolutions may still contribute to the overall algorithms (see chapter 6).

Still, the complex solvers in the selection were determined to isolate all complex roots. Thus, wehave to keep in mind that the results given below apply to a different problem statement.

All mentioned third-party programs use the arbitrary precision number types offered by the [GMP]library, and so do we. Additionally, ARCAVOID relies on its descendants [MPFR] (bigfloats) and [MPFI](bigfloat intervals) for the multi-precision floating point computations.

Complex Solvers• [MPSolve], by Dario Bini and Giuseppe Fiorentino, is the de facto benchmark in complex root

finding. The implementation of 2002 is unrivaled so far. MPSolve is the natural candidate for acomparison since the design of ARCAVOID is fundamentally similar.

MPSolve computes certified approximations of the roots of a polynomial with real or complexvalued coefficients in given relative precision. In particular, it does not apply to absolute

48

Page 61: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

bitstream inputs, which is an important restriction in the solving of equations with algebraic ortranscendental coefficients. Instead of interval arithmetic, MPSolve uses relative error boundson the floating point calculations. The approach used does not easily generalize to an absolutebitstream or bitstream interval setting.

The implementation requires a user-defined maximum working precision. If root isolationcannot be accomplished within this limit, the program returns the current set of inclusion discsand aborts. Bini and Fiorentino prepared for the possibility of a restart with higher precisionfrom this stage, but this feature is not yet available (and it may be doubted that it ever will be).We, thus, run the comparisons with an extremely high limit. Since MPSolve internally keepstrack of the actual required precision, this does not affect the runtime.

MPSolve features special handling of sparse polynomials. This yields a major speedup, but isout of reach for bitstream inputs. We did not use activate this setting in our comparisons.

MPSolve is written in low-level C. As ARCAVOID, MPSolve is optimized to solve the polynomialequation in a machine precision initial stage. Additionally, in the case of overflows in thecalculation, a double with exponent type is integrated to allow fast fixed-precision computationsin an essentially arbitrary large range.

• [Sage] is a recent computer algebra system, developed by a growing open source communityaround William Stein. It connects to a large number of freely available as well as commercialmathematical applications.

Due to Carl Witty, Sage provides an interface to Xavier Gourdon’s implementation [Gou96] ofthe asymptotically optimal Pan-Schönhage splitting circle algorithm in [PARI/GP]. In particular,Witty encapsulates the precision and memory management of PARI/GP: By default, Gourdon’salgorithm uses a fixed user-defined precision throughout the whole algorithm. Thus, conver-gence is not guaranteed for a precision too low, while otherwise the runtime seriously increases.In consequence, Witty certifies the results of the solver and increases the precision until theoutput is correct.

Sage is written in a combination of Python and C; PARI/GP is developed in C.

Real Solvers• The Descartes solver is a straightforward implementation of the classical Descartes method in

CGAL. The implementation due to Michael Hemmer is applicable for polynomials with integeror rational coefficients.

In addition to the plain Descartes version, CGAL offers the Bitstream Descartes by ArnoEigenwillig [Eig08]. It is the default option for real root solving and accepts a wide rangeof inputs representable as absolute bitstreams. Our concept of input is largely based on theBitstream Descartes’ traits classes. The Rule of Signs is applied in the Bernstein basis.

• A third option available as an algebraic kernel is the [RS] solver by Fabrice Rouillier. RS is acommercial-grade solver used for the real root isolation in Maple, and can be accessed as anexternal library in CGAL.

It features asymptotically fast algorithms for polynomial multi-point evaluation and the Taylorshift operation in the Möbius transformations. In contrast to the internal solvers of CGAL, RSdoes not follow the generic programming paradigm but is hard-coded for polynomials overGMP integers. This facilitates an extremely efficient memory management.

As ARCAVOID an MPSolve, RS performs an initial stage root isolation stage at machine precision.If undecided candidates remain, the precision is increased in fixed steps. If a certain precision isnot sufficient, the algorithm falls back to exact arithmetic.

49

Page 62: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

• Finally, Witty not only contributed the PARI/GP adapter for Sage, but also integrated a variantof Eigenwillig’s Bitstream Descartes [Wit07]. He primarily extends the existing method by theuse of interval arithmetic in the conversion to the Bernstein basis, potentially yielding betterbounds on the approximation quality in practice.

5.3 Results and Interpretation

Now we turn to the actual results of our experiments. We used a 3.0 GHz dual-core Intel PentiumIV CPU with 2 MB of L2 cache and 1 GB of RAM. The measurements were performed under DebianLinux. All programs were compiled and run in 64-bit mode.

All numbers given represent the time required for a complete isolation of all real or complexroots, respectively. We used the timers for the actual user time, as provided by the correspondingapplications. MPSolve does not offer profiling options, so we used the Linux time command. Inparticular, startup time is not included but for MPSolve. All runtimes are best-of-one, with a randomchoice of the polynomial where applicable. Throughout a dataset, all solvers were run on the sameinstances.

For ARCAVOID and MPSolve, results in italics denote instances where the solver was able to completethe root isolation within machine precision.

For the least common denominator of the solvers, we canonicalized all polynomials into Z[X ]. Thebitsize τ, that is the bit length of the largest coefficient emerging in f , is given in the table of results,and directly impacts the runtime of a solver that is not bitstreamed. We did not perform the classicaltest cases of well-conditioned polynomials with blown-up coefficients, since all solvers but the classicDescartes employ an more-or-less adaptive floating point precision management.

Throughout all experiments performed, the theoretically optimal complex solver in Sage andPARI/GP performs poorly due to its miserable precision management. We take this as a sign that thereis a need for algorithms that can be understood easily and implemented reasonably well. Obviously,the Pan-Schönhage splitting circle algorithm does not belong to this class.

Truncated Exponential Series (Table 5.1)Our first dataset consists of the truncated Maclaurin expansions

f (X ) =n∑

i=0

X i

i!

of exp(X ) up to some degree n. Those polynomials have a characteristic collection of ill-conditionedroots along a curve. f has exactly one real root if n is odd, and none otherwise.

It, thus, comes to no surprise that the Descartes solvers easily detect the configuration. The highruntime of the Sage Bitstream Descartes on the lower degrees might be an artifact of the choice ofsubdivision points.

MPSolve does a tremendous job in the low precision double with exponent phase, and isolates asubstantial number of roots before falling back to multi-precision arithmetic. ARCAVOID is slowerby a factor of about 10, partly due to the complete fail of the initial machine precision stage due tooverflows.

Gaussian Integer Grid (Table 5.2)The Gaussian grid is a particular hard case for numerical solvers. It generalizes the well-knowncatastrophic polynomial X (X − 1)(X − 2) · · · (X − 20) by Wilkinson to the complex plane. As in the

50

Page 63: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

real setting, the roots far away from 0 are extremely ill-conditioned in the monomial basis.

fk(X ) =k∏

i=−k

=k∏

j=−k

(X + i+ I j)

Again, the real solvers show a reasonably good to excellent performance. To some degree this isexpected because the most ill-conditioned roots, dominating the precision requirement, are imaginary.

Amongst the complex solvers, ARCAVOID takes the lead. MPSolve lacked to recognize some rootinclusion discs as isolating in its multiprecision stage for k > 3. Thus, it iterates to the user-definedlimit precision, which we set at about 1000 decimal digits. We strongly feel that this indicatesa fundamental flaw of Bini and Fiorentino’s approach on root neighborhood and inclusion discevaluation: a slightly different handling of round-off in some number type implementation can renderthe entire perturbation error analysis useless. Instead, the interval arithmetic provides guaranteedresults, without exposing the intricacies of the floating point model to the algorithm designer.

Mignotte polynomials (Table 5.3)One of the classical benchmark instances for root finders are the polynomials named after MauriceMignotte. Mignotte polynomials are of the following sparse structure:

f (X ) = X n − (aX − 1)2

for some large random a ∈ Z. Mignotte polynomials exhibit an extremely small root separation, closeto the theoretical root bound possible for polynomials of the given bitsize of the coefficients, for tworoots near to 1/a. The remaining n− 2 roots are well-separated near the unit circle.

No root finder should encounter particular difficulties in isolating the well-separated outer roots.With a proper adaptive precision handling, the splitting of the root cluster near 1/a is possible withouttoo much effort, as well.

While the impact of degree and iteration depth required is recognizable, ARCAVOID’s endgamestrategy pays out for the ill-conditioned roots. The detection of the cluster is accomplished in lowprecision and, due to the shift operation, no iterations of the numerical method are required until theprecision required for the splitting of the nearby roots is done. The total cost is dominated by theverification of the root inclusion disc radii in the final isolation step.

MPSolve features a similar speed-up strategy, but performs the numerical iteration on the full-degreepolynomial. The real solver in Sage profits from a clever choice of subdivision points; the classicalschemes in the (Bitstream) Descartes and RS are far behind.

Product of Mignotte-like Polynomials (Table 5.4)To see how the algorithms deal with higher cluster multiplicity, we considered polynomials of the form

f (X ) = (X n/2 − 2(aX − 1)2) · (X n/2 − 3(aX − 1)2),

for random a ∈ Z. As Eigenwillig [Eig08] points out, those polynomials have three distinct rootsclose to the theoretical root bound as well as one additional in a smaller neighborhood. Again, theremaining roots are well-conditioned.

As expected, the results are similar to the aforementioned dataset, with a slightly larger winningmargin for ARCAVOID.

Farahmand-type Polynomials (Table 5.5)Our third dataset represents the class of well-conditioned polynomials as they arise in many practicalapplications. Farahmand et al. [FGM08] give a scheme to create random polynomials with a number

51

Page 64: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

of real roots that is asymptotically higher than for a uniformly random choice of coefficients:

f (X ) =n∑

i=0

ai

n

k

�12 X i

pi+ 1

,

where the ai are independent standard normal random variables. In our setting, we truncatedthe random variables at some precision and scaled the entire polynomial to Z[X ]. All roots arewell-separated.

It is remarkable that MPSolve can compete to the real solvers even in a case where the requiredworkload is evenly distributed between real and complex roots. The runtimes of ARCAVOID arereasonable until overflows occur in the initial stage of root approximation (note that a mantissaprecision of 53 bit is sufficient to complete each of the instances). As soon as multi-precision arithmeticis used, the runtime increases by a factor of about 50. This clearly indicates the lack of a double withexponent type in the current state of ARCAVOID, rather than a conceptual mistake.

Resultants of Random Bivariate Polynomials (Table 5.6)A final dataset was chosen with geometric applications in mind. We randomly distributed points ona two-dimensional integer grid and took them as control points of two Bézier curves with implicitequations f (X , Y ) = 0 and g(X , Y ) = 0. The resultant polynomial res( f , g, Y ) ∈ Z[X ] (see definition6.1) vanishes exactly on those X -values where the curves intersect.

In a typical computer aided design application, one typically sees either a very low or very numberof intersections. The random instance is slightly biased towards complex roots. The example shownin figure 5.1 is somewhat atypical in that it has a fairly small root region (and, thus, can reasonablybe plotted). In almost all other cases, the resultants exhibited a few roots with very large modulus(|ζ|> 1000), while most stay in the range up to 2.

Again, MPSolve immensely profits from the double with exponent stage. Multi-precision arithmeticis only required for a few roots far off.

Table 5.1: Truncated Taylor expansion of exp

Instance Complex solvers Real solvers

n τ Arcavoid MPSolve Sage (C) Sage (R) RS BitDesc Desc

25 84 0.01 0.00 0.10 0.02 0.00 0.00 0.0050 215 0.04 0.01 0.53 0.66 0.00 0.01 0.0175 364 0.51 0.06 1.73 0.97 0.01 0.03 0.01

100 525 1.21 0.15 3.66 1.52 0.01 0.03 0.02125 696 3.82 0.36 9.50 0.06 0.02 0.04 0.03150 873 7.10 0.67 23.95 0.06 0.01 0.25 0.06175 1057 10.33 1.04 40.84 0.07 0.06 0.29 0.07200 1246 14.37 1.60 88.50 0.09 0.02 0.15 0.11

52

Page 65: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

−30

−20

−10

0

10

20

30

−25 0 25 50Truncated exponential series

−4

−2

0

2

4

−4 −2 0 2 4Wilkinson grid

−4

−3

−2

−10

1

2

3

4

−4 −3 −2 −1 0 1 2 3 4Mignotte polynomial

−1.2−0.9−0.6−0.3

0.00.30.60.91.2

−1 −0.5 0 0.5 1Product of Mignotte-like polynomials

−6

−4

−2

0

2

4

6

−3 −2 −1 0 1 2 3 4Farahmand-type polynomial

−4

−3

−2

−1

0

1

2

3

4

−5 −4 −3 −2 −1 0 1Resultant of random bivariate polynomials

Figure 5.1: Benchmark polynomials

53

Page 66: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

Table 5.2: Gaussian integer grid

Instance Complex solvers Real solvers

n τ Arcavoid MPSolve Sage (C) Sage (R) RS BitDesc Desc

25 22 0.01 0.00 0.08 0.06 0.00 0.00 0.0049 65 0.02 0.11 0.19 0.07 0.00 0.02 0.0181 135 0.03 2.06 0.53 2.07 0.01 0.05 0.03

121 235 0.07 13.49 1.21 2.82 0.01 0.14 0.11169 369 1.21 20.98 8.18 3.93 0.03 0.34 0.23225 537 10.02 38.00 42.82 6.12 0.09 0.82 0.93289 741 27.62 71.76 164.62 7.42 0.09 4.99 1.73361 983 43.80 102.72 >180 8.88 0.18 10.59 3.86

Table 5.3: Mignotte polynomials

Instance Complex solvers Real solvers

n τ Arcavoid MPSolve Sage (C) Sage (R) RS BitDesc Desc

60 7 0.05 0.01 2.80 1.34 0.08 0.29 0.2760 47 0.09 0.03 15.15 1.48 3.31 6.44 5.6560 95 0.14 0.08 31.08 1.70 15.07 17.84 20.2260 196 0.24 0.26 105.82 2.19 58.52 70.81 >180

80 7 0.08 0.01 8.59 2.09 0.19 0.87 0.8480 47 0.13 0.14 42.54 2.33 14.89 18.75 20.8980 95 0.18 0.39 145.90 2.62 57.38 71.47 >18080 196 0.31 1.27 >180 3.49 >180 >180 >180

100 7 0.10 0.01 13.24 2.58 0.35 2.04 2.09100 47 0.22 0.15 86.49 2.88 44.75 57.15 60.97100 95 0.44 0.50 >180 3.24 >180 >180 >180100 196 0.96 1.53 >180 4.39 >180 >180 >180

120 7 0.11 0.03 27.66 2.65 0.66 4.22 4.46120 47 0.28 0.18 >180 2.99 110.98 134.11 >180120 95 0.47 0.52 >180 3.45 >180 >180 >180120 196 1.10 1.62 >180 4.93 >180 >180 >180

140 7 0.14 0.04 73.46 3.12 1.07 8.60 8.76140 47 0.33 0.16 >180 3.54 >180 >180 >180140 95 0.54 0.49 >180 4.10 >180 >180 >180140 196 1.15 6.40 >180 5.88 >180 >180 >180

160 7 0.54 0.05 102.76 3.89 1.64 15.88 16.16160 47 0.71 0.83 >180 4.55 >180 >180 >180160 95 0.93 2.55 >180 5.59 >180 >180 >180160 196 1.60 7.26 >180 9.11 >180 >180 >180

54

Page 67: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

Table 5.3: Mignotte polynomials (continued)

Instance Complex solvers Real solvers

n τ Arcavoid MPSolve Sage (C) Sage (R) RS BitDesc Desc

180 7 1.47 0.05 >180 3.96 2.31 27.42 27.33180 47 1.90 0.86 >180 4.68 >180 >180 >180180 95 2.83 2.67 >180 5.92 >180 >180 >180180 196 5.06 8.20 >180 9.98 >180 >180 >180

200 7 2.28 0.09 >180 4.71 3.19 43.69 44.62200 47 2.73 0.99 >180 5.59 >180 >180 >180200 95 3.78 3.06 >180 6.92 >180 >180 >180200 196 6.56 9.03 >180 11.65 >180 >180 >180

Table 5.4: Product of Mignotte-like polynomials

Instance Complex solvers Real solvers

n τ Arcavoid MPSolve Sage (C) Sage (R) RS BitDesc Desc

60 15 0.07 0.01 2.65 1.35 0.06 0.23 0.2060 92 0.11 0.04 8.91 1.48 0.93 3.34 3.5660 196 0.24 0.12 81.48 1.42 9.99 14.76 15.6260 399 0.46 0.37 >180 1.51 40.92 51.46 58.78

80 15 0.10 0.01 5.03 2.08 0.15 0.58 0.5480 82 0.22 0.06 27.06 2.26 6.39 11.33 12.3080 198 0.30 0.19 101.62 2.17 38.48 51.96 59.2580 396 0.57 0.53 >180 2.33 155.19 >180 >180

100 16 0.15 0.03 12.79 2.59 0.31 1.62 1.51100 98 0.29 0.24 84.75 2.88 25.40 37.57 42.62100 202 0.46 0.64 >180 2.72 119.36 157.15 >180100 402 0.80 1.82 >180 2.89 >180 >180 >180

120 22 0.17 0.06 32.71 2.66 0.86 5.57 5.77120 98 0.45 0.26 170.14 2.98 66.59 95.32 102.54120 195 0.86 0.75 >180 2.78 >180 >180 >180120 399 1.91 2.17 >180 3.01 >180 >180 >180

140 17 0.21 0.06 66.78 3.15 0.90 6.49 7.09140 96 0.53 0.29 >180 3.49 143.35 >180 >180140 199 1.00 1.06 >180 3.29 >180 >180 >180140 394 2.24 2.45 >180 3.51 >180 >180 >180

160 17 0.74 0.07 90.06 3.92 1.43 10.90 11.34160 99 0.91 0.36 >180 4.37 >180 >180 >180160 198 1.41 1.06 >180 4.16 >180 >180 >180160 400 2.78 3.25 >180 4.57 >180 >180 >180

55

Page 68: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

Table 5.4: Product of Mignotte-like polynomials (continued)

Instance Complex solvers Real solvers

n τ Arcavoid MPSolve Sage (C) Sage (R) RS BitDesc Desc

180 17 1.56 0.09 137.23 3.94 1.95 21.96 21.76180 96 1.90 0.39 >180 4.51 >180 >180 >180180 192 2.66 1.09 >180 4.22 >180 >180 >180180 397 4.48 3.00 >180 4.68 >180 >180 >180

200 19 2.55 0.10 >180 4.73 2.71 36.27 35.67200 97 2.74 1.24 >180 5.32 >180 >180 >180200 197 3.49 3.73 >180 5.05 >180 >180 >180200 401 5.47 10.48 >180 5.58 >180 >180 >180

Table 5.5: Farahmand-type polynomials

Instance Complex solvers Real solvers

n τ Arcavoid MPSolve Sage (C) Sage (R) RS BitDesc Desc

60 40 0.04 0.01 1.38 1.78 0.02 0.09 0.0360 81 0.04 0.00 1.58 1.88 0.01 0.08 0.03

80 50 0.05 0.00 1.88 2.06 0.03 0.12 0.0480 94 0.04 0.00 1.86 2.07 0.03 0.12 0.03

100 60 0.05 0.01 3.35 2.59 0.04 0.15 0.08100 100 0.06 0.01 2.99 2.58 0.08 0.25 0.09

120 69 0.07 0.01 7.89 2.60 0.07 0.30 0.09120 112 2.08 0.01 6.64 2.62 0.11 0.30 0.18

140 80 2.68 0.02 13.80 3.10 0.06 0.40 0.13140 120 0.08 0.02 11.43 3.14 0.14 0.46 0.24

160 90 3.60 0.02 18.04 3.88 0.09 0.52 0.20160 129 3.78 0.02 17.47 3.90 0.13 0.56 0.20

180 100 4.72 0.02 39.73 4.03 0.16 0.95 0.36180 142 4.97 0.03 27.16 3.98 0.16 0.94 0.29

200 110 5.61 0.04 41.05 4.79 0.21 1.18 0.42200 153 10.21 0.06 66.27 6.59 0.35 1.91 0.77

56

Page 69: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

Table 5.6: Resultants

Instance Complex solvers Real solvers

n τ Arcavoid MPSolve Sage (C) Sage (R) RS BitDesc Desc

60 37 0.05 0.00 2.59 1.88 0.01 0.09 0.0360 78 0.04 0.00 2.22 1.86 0.02 0.12 0.0660 139 0.04 0.01 1.99 1.84 0.03 0.09 0.0360 288 0.03 0.01 2.10 0.15 0.02 0.08 0.04

80 58 0.06 0.01 3.87 2.79 0.05 0.21 0.1080 102 0.05 0.01 3.53 2.79 0.02 0.22 0.0880 186 0.06 0.01 3.24 2.82 0.04 0.21 0.0780 358 0.07 0.01 3.96 2.85 0.08 0.23 0.10

100 65 0.08 0.02 6.89 3.45 0.03 0.27 0.07100 131 0.93 0.11 11.39 3.48 0.05 0.36 0.14100 239 0.70 0.02 10.91 3.39 0.09 0.40 0.23100 450 0.11 0.02 10.65 3.59 0.11 0.36 0.16

120 76 2.73 0.19 18.62 3.53 0.08 0.51 0.14120 167 4.39 0.02 18.55 3.64 0.06 0.57 0.20120 285 3.79 0.03 14.11 3.64 0.08 0.43 0.20120 518 0.22 0.04 16.82 3.57 0.12 0.74 0.30

140 77 1.32 0.03 23.37 4.24 0.09 0.69 0.26138 105 7.09 0.03 30.42 4.35 0.14 0.73 0.37140 186 7.23 0.20 26.40 4.28 0.14 0.87 0.37140 345 5.59 0.04 23.34 4.32 0.16 0.86 0.38

160 80 7.27 0.04 37.13 0.30 0.10 1.31 0.39160 88 9.91 0.04 42.61 5.46 0.19 1.41 0.57160 144 7.23 0.04 42.53 5.43 0.14 1.64 0.56160 251 7.34 0.04 38.02 5.30 0.19 1.25 0.53

180 122 13.03 0.35 75.45 5.48 0.16 1.17 0.45180 241 13.50 0.65 72.47 5.44 0.16 1.52 0.53180 417 5.84 0.43 112.82 5.31 0.35 1.63 0.40180 771 10.13 0.38 47.92 4.53 0.28 1.16 0.77

200 120 8.15 0.26 50.30 4.67 0.09 1.31 0.36200 250 8.77 0.26 77.08 4.66 0.06 0.96 0.28200 465 9.32 0.65 55.89 4.72 0.20 1.21 0.42200 867 10.55 0.59 >180 4.73 0.11 1.22 0.59

(For ARCAVOID and MPSolve, results in italics denote instances where the solver was able tocomplete the root isolation within machine precision.)

57

Page 70: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011
Page 71: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

6 Applications

Complex root finding is an interesting problem on its own, with a wealth of applications in appliednatural sciences. However the fact that a polynomial factors completely over the complex numbershelps in problems restricted to real solutions as well. We will discuss the showcase of solving bivariatealgebraic equation systems over the reals and, subsequently, the topological correct analysis of realalgebraic plane curves. ARCAVOID turns out to give a significant improvement over traditionalapproaches.

6.1 Solving of Bivariate Polynomial Equation Systems

In our first application, we are concerned with systems of equations

f (X , Y ) =∑

i+ j≤m

fi jXiY j = 0,

g(X , Y ) =∑

i+ j≤n

gi jXiY j = 0,

where f and g are bivariate polynomials of total degree m and n in Z[X , Y ] with integer coefficients.We also write

f (X , Y ) =mX∑

i=0

f (X )i X i =mY∑

i=0

f (Y )i Y i , g(X , Y ) =mX∑

i=0

g(X )i X i =mY∑

i=0

g(Y )i Y i ,

where the f (X )i , g(X )i ∈ Z[X ] and f (X )i , g(X )i ∈ Z[Y ] are polynomials in X and Y , respectively.

We assume that gcd( f , g) = 1, that is f and g have no common non-trivial factors. Thus, thecommon vanishing set VC := {(x , y) ∈ C2 : f (x , y) = g(x , y) = 0} of f and g, by Bézout’s theorem,is zero-dimensional and consists of at most m · n distinct points.

In the bivariate solving problem, in close resemblance to the univariate (complex) root isolation,we seek to compute isolating boxes Bk ⊂ R2 such that the union of all Bk comprises all real solutions

VR := VC ∩R2 =¦

(x , y) ∈ R2 : f (x , y) = g(x , y) = 0©

.

Additionally, we demand that each Bk is isolating for exactly one solution.

In geometric terms, this means that we want to find the intersection points of two real algebraicplane curves C f and Cg , implicitly given as the vanishing loci of f and g:

C f :=¦

(x , y) ∈ R2 : f (x , y) = 0©

, Cg :=¦

(x , y) ∈ R2 : g(x , y) = 0©

.

A simultaneous solution of the system amounts to a point on both curves.

59

Page 72: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

6.1.1 BISOLVE

We integrated our numerical solver in a recent algorithm by Berberich, Emeliyanenko and Sagraloff[BES10], called BISOLVE. As ARCAVOID, it is implemented as a prototypical package of CGAL. Acomplete description of BISOLVE is beyond the scope of this thesis. For details, we refer to the originalresearch article [BES10] and the textbooks by Basu, Pollack and Roy [BPR10] and von zur Gathenand Gerhard [vzGG03] for further explanations on the projection method.

Projection PhaseThe algorithm runs in three stages. Firstly, the complex solution set VC is projected onto the X - andY -axes, to yield

V (X )C :=�

x ∈ C : there is y ∈ C with f (x , y) = g(x , y) = 0

and

V (Y )C :=�

y ∈ C : there is x ∈ C with f (x , y) = g(x , y) = 0

.

This is accomplished by computing the

Definition 6.1 (Resultant). Let f , g ∈ Z[X , Y ] be bivariate polynomials with Y -degrees mY and nY ,respectively. The resultant res( f , g, Y ) of f and g with respect to the variable Y is the determinant ofthe (mY + nY )× (mY + nY ) Sylvester matrix

S(Y )( f , g) :=

f (Y )mYf (Y )mY−1 · · · f (Y )0

f (Y )mY· · · · · · f (Y )0. . .

. . .

f (Y )mY· · · · · · f (Y )0

g(Y )nY· · · g(Y )0

g(Y )nY· · · g(Y )0. . .

. . .. . .

. . .

g(Y )nY· · · g(Y )0

.

Theorem 6.2. For f , g ∈ Z[X , Y ], R(Y ) := res( f , g, Y ) is a polynomial in Z[X ]. Its roots are exactly theprojections V (Y )C as defined above.

Moreover, the multiplicity mult(R(Y ),α) of a root α of R(Y ) is the sum of the intersection multiplicitiesInt( f , g, (α,β)) of all solutions (α,β) of the system f = g = 0 with X -coordinate α.

Herein, the intersection multiplicity Int( f , g, (α,β)) of a solution p = (α,β) of the polynomial systemf = g = 0 is defined as the dimension of the localization of C[X , Y ]/( f , g) at (α,β), considered as aC-vector space.

We proceed by computing a squarefree factorization R(Y )(X ) =∏

i r ii (X ) of R(Y ) using Yun’s

algorithm (see [vzGG03], chapter 14), which essentially performs greatest common divisor operationson R(Y ) and its derivatives in an iterative manner. The outputs ri are pairwise coprime, and, for somek ∈ {1, . . . , mY + nY = deg R(Y )}, it holds that ri = 1 for all i ≥ k. Afterwards, we independently applya real root isolation method on the (squarefree) factors ri to determine isolating intervals I(αi, j)⊂ Rfor the roots αi, j of ri . From the factorization, we conclude that αi, j is a root of multiplicity i of R(Y ).

Obviously, the solutions VC of the system f = g = 0 are contained in the cross product V (X )C ×V (Y )C .If we restrict our view to the real solutions, then VR ⊂ V (X )R × V (Y )R as well, where V (X )R := V (X )C ∩R

60

Page 73: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

and V (Y )R := V (Y )C ∩R denote the real roots of the resultants in Y - and X -direction.

Two curves f and g intersect in fivepoints. The shaded regions show the pro-jections of isolating intervals for the resul-tants in X - and Y -direction. The darkerboxes are the candidate boxes for simul-taneous roots of f and f that do not con-tribute to the global solution. We willverify that only the red boxes actually con-tain solutions of the equation system.

Figure 6.1: The projection phase in BISOLVE

Separation PhaseThe cross product of the isolating intervals for the real roots of R(Y ) and R(X ) provides us with a set ofboxes containing VR. Yet, we have to certify which of the boxes actually contain a real solution of theequation system f = g = 0.

We prepare for this validation in what we call the separation phase. Using a generalized version ofthe K-Taylor test (see definition 3.22), we refine the isolating intervals I(αi, j) for the roots of R(Y )

until the circumcircles of the enlarged intervals of diameter 8 diam I(αi, j) enclose no complex root ofR(Y ) but αi, j .

Then, we have the following result:

Lemma 6.3. The complex disc D(αi, j) := D�

mi, j , diam I(αi, j)�

, where mi, j denotes the center of theinterval I(αi, j), isolates αi, j from all other complex roots of R(Y ), and, for any z on the boundary ∂ D(αi, j)of D(αi, j), it holds that

�R(Y )(z)�

�> LB(αi, j) := 2i−deg R(Y )�

�R(Y )�

mi, j − diam I(αi, j)�

� .

We repeat the procedure for each real root α of R(Y ) and β of R(X ). In turn, we have refined isolatingintervals I(α) and I(β), with the corresponding isolating discs D(α), D(β), and lower bounds LB(α)and LB(β) on the absolute values of R(Y ) and R(X ) on the boundaries of D(α) and D(β), respectively.

Validation PhaseFinally, we can concentrate on the verification whether a candidate box actually comprises a real root.

Theorem 6.4. Let α and β be arbitrary real roots of R(Y ) and R(X ), respectively. Then,

1. the polydisc ∆(α,β) := D(α)× D(β)⊂ C2 contains at most one (complex) solution of f = g = 0.If ∆(α,β) contains a solution, then this solution is real valued and equals (α,β).

2. For an arbitrary point (zX , zY ) ∈ C2 on the boundary of ∆(α,β), it holds that�

�R(Y )(zX )�

�> LB(α) if zX ∈ ∂ D(α), and�

�R(X )(zY )�

�> LB(β) if zY ∈ ∂ D(β).

Proof. The first claim follows from the construction of D(α) and D(β). Assume that ∆(α,β) containstwo distinct solutions of f = g = 0. Then, they would differ in at least one variable. But since bothdiscs are isolating for a root of the corresponding resultant polynomial, this is impossible.

61

Page 74: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

If, however, ∆(α,β) contains a simultaneous solution, it must be real since, otherwise, ∆(α,β)would also contain the complex conjugate solution. This is because with f and g, the resultants R(Y )

and R(X ) have real valued coefficients as well.The second statement follows immediately from the definition of ∆(α,β), LB(α) and LB(β) and

lemma 6.3.

Thus, it is sufficient to test the existence of any simultaneous solution in the candidate boxesB(α,β) := I(α)× I(β). Again, we use a combination of inclusion and exclusion predicates.

The latter is simply evaluating f and g on the boxes, using interval arithmetic: If either f (B(α,β))or g(B(α,β)) does not contain zero, then (α,β) cannot be a global solution. Vice versa, when weshrink the box size around in further root refinement steps and (α,β) is not a solution, then either0 /∈ f (B(α,β)) or 0 /∈ g(B(α,β)) will eventually hold.

Finally, we give an adaptive inclusion predicate to ensure that a candidate (α,β) solves f = g = 0.We first give a representation of the resultant polynomial R(Y ) in terms of f and g, resembling Bézout’sidentity of the greatest common divisor:

R(Y )(X ) = u(Y )(X , Y ) · f (X , Y ) + v(Y )(X , Y ) · g(X , Y ),

where u(Y ) and v(Y ) ∈ Z[X , Y ]. The crucial observation is that u(Y ) and v(Y ) can be expressed asdeterminants of matrices U (Y ) and V (Y ) similar to the Sylvester matrix. In particular, the specialstructure of those matrices allows to apply Hadamard’s bound for the determinant of a matrix withoutactually computing the polynomials u(Y ) and v(Y ) explicitly. Instead, we compute the upper boundsfor the small number of recurring entries of U (Y ) and V (Y ) using interval arithmetic on a rectangularbox in C2 containing ∆(α,β). Then, Hadamard’s inequality yields upper bounds UB(α,β , u(Y )) for|u(Y )| on ∆(α,β). In the same manner, we compute bounds for the absolute value of v(Y ) and thecorresponding polynomials u(X ) and v(X ) in the decomposition of R(X ).

Theorem 6.5. If there exists an (zX , zY ) ∈∆(α,β) with

UB(α,β , u(Y )) · | f (zX , zY )|+ UB(α,β , v(Y )) · |g(zX , zY )|< LB(α) and

UB(α,β , u(X )) · | f (zX , zY )|+ UB(α,β , v(X )) · |g(zX , zY )|< LB(β),

then ∆(α,β) contains a solution of f = g = 0 and, thus, f (α,β) = g(α,β) = 0.

Berberich et al. point out that

the upper bounds UB(α,β , u(Y )), UB(α,β , v(Y )), UB(α,β , u(X )) and UB(α,β , v(Y )) [sic!]are far from being optimal. Nevertheless, our inclusion predicate is still efficient sincewe can approximate the potential solution (α,β) with quadratic convergence due to QIR[Quadratic interval refinement].

GPU Resultant ComputationA unique feature of BISOLVE is the computation of resultants on graphics hardware. While it does notdominate the asymptotic complexity, it is a crucial step where algorithms have to actually “pay theprice” that the worst-case bounds imply.

Pavel Emeliyanenko [Eme10a; Eme10b] integrated a modular approach for resultant computationon bivariate polynomials into [CGAL]. It is hardly possible to give the well-deserved credit for theimplementation in a few words. Emeliyanenko exploits the massively parallel Fermi architectureby NVIDIA, the successor of CUDA, to compute the resultants in a small prime modular field. Theresult over Z[X , Y ] is then recovered through polynomial interpolation and lifting, using the Chineseremainder theorem. Benchmarks show that the computations on the graphics processing unit

62

Page 75: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

outperform the asymptotically fast CPU-based algorithms in [Maple] by a factor in the high two-digitor low three-digit range.

FiltersThe implementation by Berberich et al. features several additional filters to avoid superfluous predicateevaluations on the candidate boxes.

One technique is called the Bitstream Descartes filter, after Eigenwillig’s variant of the Descartesmethod for (absolute) bitstream polynomials in Bernstein basis [Eig08] as sketched in section 3.3.2.Instead of considering the interval-based validation for candidate boxes, we directly use a real rootisolator on the fiber polynomials f (α, Y ) and g(α, Y ) in R[Y ].

Note that the coefficients of those polynomials are applicable for the bitstream model: α can beapproximated as necessary, using quadratic interval refinement on the corresponding isolating intervalI(α). Conservative interval arithmetic yields bounds on the approximation of the coefficients f (Y )i (α)of f (α, Y ) and g(Y )i (α) of g(α, Y ). We improve the quality of I(α) as necessary for the bitstream.

We cannot ensure that the Bitstream Descartes method terminates on the fiber, since f (α, Y ) org(α, Y ) may not be squarefree. Instead, we simultaneously apply the solver on both fiber polynomials,and discard active intervals that are not common to both instances. If, then, the Y -interval of acandidate box B(α,β) does not overlap with at least one of the active intervals in the Bitstreamsolvers, the box can be discarded as well. Finally, we terminate the filter if all active intervals areentirely contained in the Y -intervals of a candidate box.

Another approach is of combinatorial nature, and, thus, very cheap to evaluate. From the squarefreefactorization of the resultant polynomial R(Y ), we already know the multiplicity mult(R(Y ),α) of aroot α of R(Y ). By theorem 6.2, mult(R(Y ),α) equals the sum of the intersection multiplicities of allsolutions of the polynomial equation system over the fiber X = α. Obviously, mult(R(Y ),α) gives anupper bound on the number of solutions with X -coordinate α, since each solution contributes at leastonce to the multiplicity of α as a root of R(Y ). Thus, if we encounter exactly mult(R(Y ),α) certifiedsolutions, we discard the remaining candidates on the fiber of α. Moreover, if mult(R(Y ),α) is odd andonly one candidate is left by the interval-based exclusion predicate, it already is a real solution. Thisis because R(Y ) has real valued coefficients and, thus, has complex conjugate pairs of imaginary roots.

If the curves are in generic position, that is no two intersections share the same X -coordinate, andthe intersection multiplicity of each simultaneous root of the curves is odd, those two combinatorialfilters already suffice to certify all root boxes. In this situation, it is not necessary to evaluate theexpensive inclusion predicate based on Hadamard’s bound.

The aforementioned filters are not necessarily sufficient to identify the configuration of simultaneoussolutions of the equation system. In particular, they will fail if there exist covertical solutions alongthe fiber, or if the curves C f and Cg intersect tangentially. In this case, we try to apply the filters in thehorizontal direction as well before falling back to the default inclusion predicate.

6.2 ARCAVOID in BISOLVE

Naturally, by theorem 3.27, we can replace the Bitstream Descartes solver in the corresponding filterof BISOLVE by ARCAVOID. As we have seen in the preceding chapter on benchmarks, we outperformthe Bitstream Descartes in several complicated instances. Yet, for instances that are reasonable tohandle within a bivariate solver, the Bitstream Descartes is extremely efficient. So we cannot expect asignificant benefit?

Yes, we can, since ARCAVOID additionally delivers global information about the complex roots. TheBitstream Descartes filter only can be used to reject candidate boxes, unless the combinatorial filtercomes to help.

63

Page 76: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

In a complex solver, however, we already know the total number of roots by the degrees of the fiberpolynomials. During the root isolation, we keep track of the overlaps of complex root inclusion discsof f and g over α. If we find that there is only one overlap, and this overlap is inside a candidate box,we can conclude that this must indeed be the unique root responsible for the root of the resultant.Note that this decision is correct regardless of the multiplicity of the root, since the candidate boxesare known to each contain exactly one root of f = g = 0; thus, a solution inside a box must be unique.

6.3 BISOLVE-based Curve Analysis

We already mentioned the geometric meaning of the solutions of bivariate equation systems asintersections of plane algebraic curves. In the special case g = fY , that is the derivative of f withrespect to Y , the solutions of f = fY = 0 are a superset of the singular (real) points of C = VR( f ),which comprise all points (x , y) ∈ R2 such that

f (x , y) = fX (x , y) = fY (x , y) = 0.

Based on this observation, we can extend BISOLVE to perform algebraic curve analysis. Here, theinput consists of but one planar algebraic curve

C = VR( f ) =¦

(x , y) ∈ R2 : f (x , y) = 0©

,

where, again, f ∈ Z[X , Y ]. The task is to give a planar graph GC with vertices V on C that is isotopicto the curve, that is there exists a continuous mapping Φ : [0,1]× C→ R2 such that

Φ(0,C) = C, Φ(1,C) = GC and

Φ(t0, ·) : C→ Φ(t0,C) constitutes a homeomorphism for each t0 ∈ [0, 1].

The algorithm presented here continues and refines the work on BISOLVE, due to Michael Sagraloff,following a classical cylindrical algebraic decomposition approach. We provide an implementation injoint work with Eric Berberich [BKS1X].

Projection PhaseFirst and foremost, we have to determine the X -critical points (α,β) ∈ C where C has vertical tangentsor is singular. This exactly amounts to find the simultaneous roots of the system

f (α,β) = fY (α,β) = 0,

which we accomplish using BISOLVE on f and its derivative.In between of two consecutive X -critical values α and α′, the implicit function theorem ensures

that C is delineable over J = (α,α′), that is C�

J×R decomposes into a certain number mJ of disjointfunction graphs or arcs.

Lifting PhaseIn the lifting phase, we determine the vertex set V of GC . It consists of the union of the pointson C above the X -critical values α and some non-critical values ξ in between. The correspondingY -coordinates are given as the roots of the fiber polynomials f (α, Y ) and f (ξ, Y ).

From theorem 6.2 in the preceding section we know that the fiber polynomials f (ξ, Y ) over anon-critical value ξ ∈ J are squarefree, since the resultant res( f , fY , Y ) has no roots in J . Thus, wecan easily lift the curve over the non-critical fibers, that is compute the points q j = (ξ, yξ, j) ∈ C forj = 1, . . . , mξ for arbitrary rational values ξ ∈ J , where mξ denotes the number of arcs of C over

64

Page 77: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

The figure on the left shows a curve C with two X -extremal points and one singular point (red dots).In the projection phase, these points are projected onto the X -axis (red crosses) and rational pointsseparating the X -critical values are inserted (blue crosses). In the lifting phase, the fibers at thecritical values (red crosses) and at the rational points in between (blue crosses) are computed. In theconnection phase, each pair of lifted points connected by an arc of C is determined and a correspondingline segment is inserted. The right figure shows the final graph that is isotopic to C.

(Courtesy: Michael Sagraloff)

Figure 6.2: Curve analysis using BISOLVE: projection and lifting

X = ξ.The lifting phase is more involved for the fibers over an X -critical value α because f (α, Y ) has

irrational coefficients and, in particular, multiple roots. We proceed as follows: We first use BISOLVE todetermine all solutions pi = (α,βi) for i = 1, . . . , l, of f = fY = 0 with X -coordinate α. Then, for eachof those points, we compute

ki :=min

¨

k : fY k(α,βi) =∂ k f

∂ Y k(α,βi) 6= 0

«

≥ 2

by iteratively calling BISOLVE for fY = fY 2 = 0, fY 2 = fY 3 = 0 and so on. We then sort the solutionsalong the fiber x = α, to eventually obtain disjoint intervals I1, . . . , Il with corresponding multiplicitiesk1, . . . , kl such that β j is a k j-fold root in I j of f (α, y). We further refine until we can guarantee thatfY k j (α, Y ) does not vanish at I j . Due to the mean value theorem, this implies that I j cannot containany root but β j of f (α, Y ).

It remains to compute the ordinary roots of f (α, Y ). We apply the Bitstream Descartes solverand restrict our attention to the complement R \

j I j of the union of the I j , as any root insidemust actually be the β j . All remaining roots have multiplicity one, so the Descartes method finallyterminates. This concludes the lifting phase, and leaves us with the vertex set V of GC .

Connection PhaseFinally, we combine the information obtained over critical and intermediate fibers to delineate thecurve C. Let us consider a fixed X -critical value α, and let A j for j = 1, . . . , mJ be the j-th arc of Cabove J = (α,α′) with respect to vertical ordering.

To its left, A j is either connected to (α,±∞) in the case of a vertical asymptote or to one of thecritical points pi . In the latter case, we have to determine the point to which an arc A j is connected.

• In the generic case there exists exactly one real x-critical point pi0 above α. Then, we connectall arcs below pi0 from bottom up: A1, . . . , Ai0−1 must be adjacent to p1, . . . , pi0−1, respectively,since each non-critical point is passed by exactly one arc. By the same argument, we connectpmα , pmα−1, . . . , pi0+1 to AmI

, . . . , AmI−mα+i0+1 from the top.

The remaining arcs Ai0 , . . . , AmI−mα+i0 in between are all connected to the X -critical point pi0 .

• In the non-generic case, we have to determine the situation around several non-critical points;this case is not covered by mere combinatorial arguments. Instead, we determine rational

65

Page 78: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

The left figure shows the generic case when there exists only one X -critical point (p3) above α. Thebottom-up method connects A1 to p1 and A2 to p2; the remaining arcs have to pass p3.In the second figure, the fiber over α contains two critical points p2 and p3. The red horizontalline segments show the arbitrary choice of the subdivision values t i . The initial isolating intervalI(α) = (a, b) for α is not sufficient to determine the connections for all arcs since A1, A2, A3 intersectthe segments I × {t i}.On the right, the refined isolating interval I ′(α) induces boxes I ′(α)× (t i , t i+1) small enough thatno arc crosses the horizontal boundaries. By examination of the Y -coordinates of the intersectionsbetween the arcs and the fiber over the right-hand boundary of I ′(α) (red crosses), we can match arcsand critical points. (Courtesy: Michael Sagraloff)

Figure 6.3: Curve analysis using BISOLVE: arc connection

values in t1 < yα,1 < t2 < · · ·< yα,mα < tmα+1 in between of the isolating intervals for the realroots of the fiber polynomial f (α, Y ). Thus, the points pi := (α, t i) separate the pis from eachother.

Now, for an isolating interval I of α, the horizontal line segments I×{t i} subdivide the boundingregion I ×R for the fiber into distinct open boxes I × (t i , t i+1). If an arc A j does not cross eitherof the line segments I × {t i} or I × {t i+1} we know that A j must be connected to the uniquepoint pi of C in between of pi and pi+1 since it cannot leave the corresponding open rectangle.

It remains to refine the isolating interval I = (a, b) of α until, eventually, none of the arcscrosses any segment I ×{t i}. This can be verified using interval arithmetic on f : as soon as wecan guarantee 0 /∈ f (I ×{t i}), we know that no arc passes the i-th segment. Then, the roots off (b, Y ) determine the buckets each arc belongs to (see figure 6.3).

6.3.1 ARCAVOID in Curve Analysis

In addition to the Bitstream Descartes lifting for the X -critical fibers explained above, we integratedour numerical complex solver ARCAVOID on the fiber polynomials. It acts as an additional filter which,if it succeeds, avoids the costly calls of BISOLVE for the iterated derivatives of f .

We reuse the information about the complex roots along the fiber in an additional filter step, usinga theorem due to Bernard Teissier [Tei73; GP00]:

Lemma 6.6 (Teissier). For an X -critical point p = (α,β) of C = V( f ), it holds that

mult( f (α, Y ),β) = Int( f , fY , p)− Int( fX , fY , p) + 1,

where Int( fX , fY , p) is the intersection multiplicity of the curves V( fX ) and V( fY ) at p.

66

Page 79: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

If deg f (α, Y )< degY f (that is C has a vertical asymptote at α) or gcd( fX , fY ) 6= 1 (that is fX and fYshare a common component), we apply the aforementioned lifting. Otherwise, we have the followingresult:

Corollary 6.7. Let deg f (α, Y ) = degY f an gcd( fX , fY ) = 1. Let R := res( f , fY , Y ) and Q :=res( fX , fY , Y ) denote the resultants of f or fX and fY with respect to Y. Then,

mα :=#�

distinct complex roots of f (α, Y )

= deg f − deg gcd( f (α, Y ), fY (α, Y ))≤ m∗α :=deg f −mult(R,α) +mult(Q,α).

Proof. By Teissier’s lemma,

mα =∑

β∈C: f (α,β)=0

(mult( f (α, Y ),β)− 1)

= deg f −∑

β∈C: f (α,β) is X -critical

Int( f , fY , (α,β))− Int( fX , fY , (α,β))�

Since f has no vertical asymptote at α, mult(R,α) equals the sum of intersection multiplicities of fand fY in the corresponding fiber:

= deg f −mult(R,α) +∑

β∈C: f (α,β) is X -critical

Int( fX , fY , (α,β))

≤ deg f −mult(R,α) +∑

β∈C

Int( fX , fY , (α,β))

= deg f −mult(R,α) +mult(Q,α).

The last equality is analogous to the one for R.

Note that we already know mult(R,α) from the squarefree factorization of R in BISOLVE. mult(Q,α),in turn, can be determined by another squarefree factorization of Q and checking whether α is a rootof one of the factors.

If the curve is in generic position, the inequality in Teissier’s lemma becomes an equality because,then, each intersection point of fX and fY above α is singular on C as well. Thus, one can expect tousually find exactly m∗α complex solutions of f (α, Y ) = 0.

We can thus apply ARCAVOID on the fiber polynomial f (α, Y ) with increasing precision. Throughoutthe algorithm, for the number of connected components of (complex) inclusion discs m, it must holdm≤ mα ≤ m∗α at any time. If, at some point, m= m∗α, we have a certificate that ARCAVOID isolatedall complex roots of the fiber polynomial. In particular, we can deduce isolating intervals for the realroots of f (α, Y ).

Otherwise, m = mα eventually, but we do not know in advance whether mα < m∗α. Thus, wedecide to increase the precision until the number of iterations performed in ARCAVOID hits a boundheuristically based on the degree of f . In this case, we assume the non-generic position of f andapply the deterministic lifting using BISOLVE and the Bitstream Descartes solver as given above.

As a final remark before the experiments, the filter based on Teissier’s lemma works in the hugemajority of situations. Assuming that the Aberth-Ehrlich iteration converges, then the filter applies ifwe perform enough refinement steps in the solver and

1. C has no vertical tangent at α,

2. fX and fY do not share a common component and

3. each intersection point of fX and fY above α is a singular point of C.

67

Page 80: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

If shearing of the curve is allowed (that is the mapping y 7→ y and x 7→ x + s y for some s ∈Q), thenat most O(n4) different shearing factors lead to non-generic positions. Thus, if we repeatedly both tryanother shearing and increase the maximum precision and number of iterations in the numerical partof ARCAVOID, the filter will eventually succeed for all curves where fX and fY do not share a commoncomponent.

6.4 Results and Interpretation

Now we turn to the actual results of our experiments. The measurements were performed on a 2.8GHz eight-core Intel Xeon W3530 processor with 8 MB of L2 cache, running Linux. For the GPU partsof the algorithm, we used the NVIDIA GeForce GTX480 Fermi Core graphics processor. As for ourstand-alone tests, we measured user time in seconds by the profiling tools provided by CGAL.

BisolveWe compared the combinations of BISOLVE with and without ARCAVOID’s complex numerical rootfinding to the default implementation of a bivariate solver in CGAL. The latter, due to Michael Kerber[Ker06], relies on the extensive computation of Sturm-Habicht (or signed subresultant) sequencesfor non-generic inputs. Currently, the interface in CGAL does not yet provide a stable way to transferthose computations to the GPU as is done for the resultants. Thus, the figures between the BISOLVE

and CGAL implementations are to be taken with a pinch of salt.We ran both the plain BISOLVE and the attached curve analysis on two kinds of instances. In cases

where two curves f and g are given, we apply BISOLVE in the straightforward way to compute thereal solution set of f = g = 0. The curve analysis, in this case, is performed on f and g separately;in particular, the BISOLVE instances are run on f and fY or g and gY , respectively. For a single curvegiven, we apply BISOLVE on f and fY .

We use two data sets for our experiments. The first, random set consists of pairs of curves withrandomly chosen coefficients. Since, in contrast to the numerical root finding, BISOLVE integrally relieson symbolic operations largely affected by the bitlength of the input’s coefficients, we additionallymultiplied each curve by a power of two 2k for k ∈ {128,512,2048} and increased the constantcoefficient by one. This does affect the vanishing set of the equation system by just a minimalperturbation.

The second set of examples is specific in that it contains particularly challenging inputs for differentsolvers: Covertical solutions (cov_sol_20, tryme), many candidate boxes to decide (spiral29_24),clustered solutions (L6_circles) or vertical components (hard_one). For details, see the appendix of[BES10]; some of the curves are taken from Labs’ challenges for real algebraic plane curve visualization[Lab10].

ARCAVOID rarely gives a significant gain for the random polynomials in BISOLVE (table 6.1); here,the predominant part is the root isolation on the resultant polynomial and the subsequent refinementof bitstream approximations of the fiber polynomials. The additional filter shows its strength whenit comes to slightly degenerate configurations, especially many low-degree singularities (curve24,ten_circles).

In the curve analysis, however, Teissier’s lemma pays off tremendously. In the generic case, thecurve analysis is basically for free once BISOLVE is completed. The filter does not incur noticeablyoverhead even if it is not successful for the curve to be analyzed, yields a speed-up by a factor of about3 to 8 in the generic case, and is able to cope with a considerable number of intricacies of curves.

68

Page 81: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

Table 6.1: Benchmarks: BISOLVE

with GPU resultant without GPU resultant

Instance Y -deg #sols ARCA BISOLVE CGAL ARCA BISOLVE CGAL

random 6,6 19 0.23 0.25 0.76 0.31 0.34 0.85—shift 128 19 0.30 0.28 0.98 0.45 0.43 1.10—shift 512 19 0.53 0.49 1.79 1.01 0.95 2.15—shift 2048 19 2.37 2.07 6.77 5.42 5.10 8.48

random 9,9 42 0.93 1.07 3.05 1.25 1.41 3.62—shift 128 42 1.18 1.09 4.00 1.93 1.80 4.75—shift 512 42 2.23 1.68 7.19 5.13 4.57 11.23—shift 2048 42 9.67 6.37 27.91 30.13 26.78 55.02

random 12,12 32 1.18 1.61 6.24 1.96 2.39 7.82—shift 128 32 1.71 1.76 6.10 3.68 3.69 11.07—shift 512 32 4.82 4.72 12.63 13.30 13.15 35.76—shift 2048 32 40.97 39.50 >60 >60 >60 >60

13_sings_9 9 35 1.89 3.08 9.68 2.96 4.09 10.86L4_circles 16 17 1.04 2.31 35.84 2.40 3.68 32.33L6_circles 6 18 4.17 6.68 >300 25.51 27.76 >300SA_2_4_eps 17 6 0.66 0.56 260.84 7.21 7.08 >300challenge_12 30 99 12.81 13.29 >300 30.06 30.63 >300cov_sol_20 20 8 10.26 13.27 >300 27.36 30.36 >300curve24 24 28 13.10 21.31 170.06 41.40 49.53 >300curve_issac 15 18 1.42 4.11 11.66 2.77 5.53 13.56cusps_and_flexes 9 20 1.26 1.76 107.31 2.27 2.78 108.54deg16_7_curves 16,7 23 1.61 2.98 46.59 2.34 3.73 66.38dfold_10_6 18 21 2.27 6.29 119.98 27.71 31.53 >300grid_deg_10 10 20 1.89 2.06 9.23 4.52 4.68 12.46hard_one 27,6 46 7.10 10.37 >300 8.63 11.89 >300huge_cusp 8 24 23.48 25.43 131.24 38.03 39.86 148.20spiral29_24 29,24 51 29.54 46.03 131.54 80.22 96.40 257.13swinnerston_dyer 40 63 7.96 28.69 >300 38.71 59.55 >300ten_circles 20 45 2.02 9.96 84.98 5.46 13.38 128.55tryme 34,24 20 32.14 34.54 >300 109.49 111.73 >300

69

Page 82: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

Table 6.2: Benchmarks: BISOLVE-based curve analysis

with GPU resultant

Instance Y -deg #critical ARCAVOID-Teissier BISOLVE CGAL

random 6,6 26 0.03 0.24 0.10—shift 128 26 0.05 0.18 0.10—shift 512 26 0.09 0.30 0.19—shift 2048 26 0.36 1.01 0.66

random 9,9 22 0.06 0.49 0.22—shift 128 22 0.09 0.42 0.24—shift 512 22 0.18 0.52 0.50—shift 2048 22 0.78 1.92 2.29

random 12,12 30 0.17 1.11 0.63—shift 128 30 0.24 0.96 0.79—shift 512 30 0.51 1.38 1.89—shift 2048 30 2.78 5.67 10.00

13_sings_9 9 35 0.69 5.82 2.33L4_circles 16 17 5.33 12.65 6.22L6_circles 6 18 109.16 110.63 190.72SA_2_4_eps 17 6 0.30 2.33 66.95challenge_12 30 99 188.38 >400 >400cov_sol_20 20 8 14.85 16.90 67.57curve24 24 28 11.74 19.65 72.07curve_issac 15 18 2.39 6.47 2.64cusps_and_flexes 9 20 0.50 5.38 1.90deg16_7_curves 16,7 19 9.90 10.63 19.51dfold_10_6 18 21 0.64 failure 84.82grid_deg_10 10 20 0.63 2.03 1.88hard_one 27,6 32 8.32 >400 >400huge_cusp 8 24 8.82 40.45 20.20spiral29_24 29,24 34 7.89 14.21 56.12swinnerston_dyer 40 63 >400 >400 >400ten_circles 20 45 14.09 24.36 22.71

70

Page 83: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

7 Conclusion and Outlook

A broad range of applications in computer graphics, geometry, robotics or computer aided design,to mention a few, crucially relies on the task of root solving. We have shown that rigorous use ofinterval arithmetic and adaptive precision handling allows to implement a certified numerical complexroot isolator that can compete to far more complicated solutions. In particular, we remark that thefeasibility of complex solving allows to achieve significant advantage over real root isolators – even insituations where it is not straightforward to think about complex roots.

7.1 Directions of Further Work

We consider ARCAVOID work in progress. While first impressions and comparisons to existing solversshow the potential of the method, we do not yet use the all the opportunities. We aim to optimizeand extend in the following directions.

Computations in Machine PrecisionThe comparisons with MPSolve clearly show the huge gain in speed when machine precision compu-tations are sufficient for the isolation of roots. As a first step we, thus, seek to integrate a numbertype combining fast double floating point operations with a higher exponent range to avoid under-and overflows in the numerical iteration. It is very reasonable to expect that this will bring a majorspeed-up for all instances where the 53-bit precision is sufficient for verified solving.

Several number type libraries, in particular [NTL], offer another data type which cannot be fit wellinto the usual dyadic floating point scheme: extended doubles or quadruple floats. This type is tobe understood as the sum of two double values. It allows, for example, to represent 21000 + 2−1000 tobe represented with just two machine precision floats; instead, the corresponding bigfloat requires amantissa length of 2001 bits. Quadruples cannot be handled within ordinary perturbation and round-off error analysis since the are not a bit uniformly distributed over the real axis; as the performanceof MPSolve showed on the Wilkinson grid polynomials, this is not even straightforward for classicalbigfloats. However, protected interval arithmetic allows to use them in validated algorithms.

Asymptotically Fast AlgorithmsIn section 3.4.5, we already mentioned that traditional asymptotically fast algorithms show poorrobustness when performed in fixed precision. This is an active field of research. Recently, Jorisvan der Hoeven [Hoe08] devised a scheme to allow numerically stable multiplication of univariatepolynomials. Polynomial multiplication is an integral step for a number of important operations:division, greatest common divisor, Taylor shifts and multi-point evaluation.

In particular, the latter is appealing: The cost of an iteration of the Aberth-Ehrlich method, currentlydone in the naïve way, is feasible within O(n log n) arithmetic operations instead of O(n2) usingsimultaneous multi-point evaluation schemes. Again, we remark that our algorithm will not require anew analysis and hard-coding of round-off and cancellation errors, since interval arithmetics protectthe certificates for the output.

Better Use of Interval ArithmeticWe cannot deny: interval arithmetic requires more computations and, thus, runtime than plainevaluation at a value. For the sake of the two preceding statements, we do not intend to abandon it.

71

Page 84: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

Yet, there are more sophisticated ways of handling intervals.ARCAVOID internally works on complex circular regions. Thus, it is natural to consider a centered

interval representation around a complex value z not by a box interval [x + I y, x ′ + I y ′] withx ≤ ℜz ≤ x ′ and y ≤ ℑz ≤ y ′, but by a disc interval D(z; r) for r > 0. This circular [Hen71] ormidpoint-radius arithmetic [Rum99] not only allows for tighter bounds on the actual value, butrequires less computational effort both for general complex interval arithmetic and the evaluation ofdisc-oriented predicates. Unfortunately, CGAL does not yet provide the necessary concepts and modelsfor such an approach.

A Complete AlgorithmIn the current state, our algorithm cannot be considered complete due to the lack of a convergenceguarantee for the initial stages of the Aberth-Ehrlich method. While this never turned out to bean issue in practice, it would be nice to have a deterministic termination criterion. We imagine animplementation of CEVAL to be a suitable fallback method in case the root inclusion region does notshrink by some constant factor λ > 1 throughout a stage of the algorithm.

In this case, it seems advisable to adapt the inclusion predicate to match our (certified) results.On the other hand, ARCAVOID can potentially profit from the cheap validation filter provided by thetruncated Taylor test.

Handling of Multiple RootsAt the current state of implementation, ARCAVOID is able to isolate the roots of squarefree polynomials.Furthermore, if provided the degree k of gcd( f , f ′) (or, for real root isolation, the number m of realzeros), termination is guaranteed as well (assuming, as usual, that the numerical iteration succeeds).

Still, the computation of those numbers requires symbolic operations on the input polynomial to beperformed before ARCAVOID starts its work. In particular, the effort is spent in vain if it turns outthat the polynomial has no multiple (real) roots. We thus favor the use of an adaptive bound on themultiplicity of roots based on modular computations, in the style of Sagraloff, Kerber and Hemmer[SKH09].

Optimized Endgame StrategyOur speed-up strategy for root clusters as described in section 4.5 relies on the fact that approximateTaylor expansion at a point does not perturb the roots of the polynomial “too much”. The latter isactually well-defined, as Sagraloff shows [Sag10]. Thus, it is an unnecessary simplification to performthe computation of root inclusion discs with respect to all root inclusion of the input polynomial. Alocalized variant, working on the truncated Taylor expansion and respecting the approximation error,yields certified results as well. In this case, we expect the cost of computation of the inclusion regionsto drop from O(k · n) to O(k2) multi-precision operations, where k denotes the number of roots inthe local cluster.

Additionally, the root structure within the root cluster is unlikely to require the same intermediateprecision required for the Taylor shift. In the end, a recursive call of ARCAVOID, including the doubleprecision stage (or extended machine precision, see above), promises the best results. This feature isparticularly interesting when root refinement of multiple or near-multiple roots is required, a situationthat arises when we have to push the root inclusion radii below a precomputed root separation boundor handle Mignotte-like instances.

Parallelization and GPU IntegrationThe overwhelming performance of algorithms for modular symbolic computations on recent graphicshardware raises the question whether a similar achievement is possible for ARCAVOID. In theory, allexpensive steps in the algorithm – the numerical iteration, the computation of inclusion discs, theTaylor shifts for localization – can be divided onto n parallel processes.

Unfortunately, graphics hardware is not quite laid out for arbitrary precision computations or, at the

72

Page 85: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

very least, specified round-off handling as necessary for protected interval computations on machineprecision. To the best of our knowledge, none of the mass market GPUs guarantee to meet therequirements of IEEE 754. However, with the advent of parallel computing in scientific applications,we expect a change soon – double precision support is already available on modern chip sets.

Still, highly parallelized implementations tend to show entirely different performance characteristicsthan what traditional complexity theory covers. We will have to see the algorithm in action beforefurther comments on its behaviour. With the current programming techniques and tools, however,one thing is certain: If an algorithm is too complex, an efficient GPU realization is next to impossible.We are convinced that its simplicity makes ARCAVOID take a strong position in this respect.

ApplicationsFinally, we look forward for further integration of our numerical solver into geometric and algebraicapplications. We are currently working on adapting the existing CGAL algebraic curve arrangementcomputations to be usable within BISOLVE. Algebraic surface analysis is the natural next step, buta number of interesting and demanding problems are in robotics, bioinformatics and, of course,mathematics and physics. We are confident that ARCAVOID will satisfy a broad range of needs.

73

Page 86: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011
Page 87: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

A Appendix

Proof of lemma 3.21 (page 25). The characteristic polynomial χC f(λ), by definition, is given as the

determinant

χC f(λ) =

−λ 1 0 · · · · · · 00 −λ 1 0 · · · 0...

.... . . . . . . . . ...

0 · · · · · · −λ 1 00 · · · · · · · · · −λ 1− f0 − f1 − f2 · · · − fn−2 − fn−1 −λ

.

We now iteratively perform Gaussian elimination, adding the λi−1-th multiple of the i-th column tothe first, to yield

χC f(λ) =

0 1 0 · · · · · · 0−λ2 −λ 1 0 · · · 0

......

. . . . . . . . . ...0 · · · · · · −λ 1 00 · · · · · · · · · −λ 1

− f0 − f1λ − f1 − f2 · · · − fn−2 − fn−1 −λ

...

=

0 1 0 · · · · · · 00 −λ 1 0 · · · 0...

.... . . . . . . . . ...

0 · · · · · · −λ 1 0−λn−2 · · · · · · · · · −λ 1−∑n−2

i=0 fiλi − f1 − f2 · · · − fn−2 − fn−1 −λ

=

0 1 0 · · · · · · 00 −λ 1 0 · · · 0...

.... . . . . . . . . ...

0 · · · · · · −λ 1 00 · · · · · · · · · −λ 1

− f (λ) − f1 − f2 · · · − fn−2 − fn−1 −λ

.

Multiplication of the matrix by −1 changes the determinant by (−1)n, thus Laplace expansion by thefirst column shows χC f

(λ) = f (λ).

75

Page 88: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

Proof of lemma 4.17 (page 43). We assume a representation of complex numbers in Cartesian coor-dinates. Then, composition of real and imaginary part is not affected by round-off errors, and wehave

z = x1 e+ y1 + I (x2 e+ y2)= (1+δ1)(x1 + y1) + I (1+δ2)(x2 + y2),

where |δ1|, |δ2|< µ. Thus,

|z− z|=�

�δ1(x1 + y1) + Iδ2(x2 + y2)�

δ21ℜ

2z+δ22 ℑ

2z <p

µ2ℜ2z+µ2 ℑ2z = µ |z| ,

which, substituting δ = z−zz∈ C, yields |δ|< µ and proves the first inequality.

For the multiplication,

w =�

(x1e· y1) e− (x2e· y2)�

+ I�

(x1e· y2) e+ (x2e· y1)�

= (1+δ3)�

(1+δ1)x1 y1 − (1+δ2)x2 y2�

+ I (1+δ6)�

(1+δ4)x1 y2 + (1+δ5)x2 y1�

,

where |δi |< µ for all i. It follows

|ℜ(w−w)|=�

�(δ1 +δ3 +δ1δ3)x1 y1 − (δ2 +δ3 +δ2δ3)x2 y2

≤�

�(δ1 +δ3 +δ1δ3)x1 y1

�+�

�(δ2 +δ3 +δ2δ3)x2 y2

< (2µ+µ2)�

|x1 y1|+ |x2 y2|�

, and analogously

|ℑ(w−w)|< (2µ+µ2)�

|x1 y2|+ |x2 y1|�

.

By the inequality of arithmetic and geometric means, 2�

�x1 x2

�≤ |x1|2 + |x2|2 = |x |2, and

|w−w|2

(2µ+µ2)2= |x1 y1|2 + |x2 y2|2 + |x1 y2|2 + |x2 y1|2 + 4|x1 x2 y1 y2|

= |w|2 + 2|x1 x2| · 2|y1 y2| ≤ |w|2 + |x |2|y|2 = 2|w|2.

Thus, |w−w|< (2p

2µ+p

2µ2) |w| , which shows the second inequality.The claim for the Gauß-Karatsuba style multiplication follows analogously.

76

Page 89: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

B Bibliography

General References

[BES10] Eric Berberich, Pavel Emeliyanenko, and Michael Sagraloff. An Elimination Method forSolving Bivariate Polynomial Systems: Eliminating the Usual Drawbacks. Oct. 7, 2010.arXiv: 1010.1386v1. (See pp. 60, 68).

[BKS1X] Eric Berberich, Alexander Kobel, and Michael Sagraloff. “Hybrid Methods for ComputingArrangements of Algebraic Curves”. In preparation. 201X. (See p. 64).

[BPR10] Saugata Basu, Richard Pollack, and Marie-Françoise Roy. Algorithms in Real AlgebraicGeometry (Algorithms and Computation in Mathematics). 2nd ed. Secaucus, NJ, USA:Springer-Verlag New York, 2010. ISBN: 3-540-33098-4. URL: http://www.math.purdue.edu/~sbasu/. (See pp. 15, 60).

[Eme10a] Pavel Emeliyanenko. “A complete modular resultant algorithm targeted for realizationon graphics hardware”. In: Proceedings of the 4th International Workshop on Paralleland Symbolic Computation (Grenoble, France, 2010). PASCO ’10. New York, NY, USA:ACM, 2010, pp. 35–43. ISBN: 978-1-4503-0067-4. DOI: 10.1145/1837210.1837219.(See p. 62).

[Eme10b] Pavel Emeliyanenko. “Modular Resultant Algorithm for Graphics Processors”. In: Algo-rithms and Architectures for Parallel Processing. Ed. by Ching-Hsien Hsu et al. Vol. 6081.Lecture Notes in Computer Science. Springer Berlin / Heidelberg, 2010, pp. 427–440.DOI: 10.1007/978-3-642-13119-6_37. (See p. 62).

[Far02] Gerald Farin. Curves and Surfaces for CAGD. A Practical Guide. 5th edition. San Francisco,CA, USA: Morgan Kaufmann Publishers, 2002. ISBN: 1-55860-737-4. (See p. 19).

[FGM08] K. Farahmand, A. Grigorash, and B. McGuiness. “On Different Classes of AlgebraicPolynomials with Random Coefficients”. In: Journal of Applied Mathematics and StochasticAnalysis (2008). DOI: 10.1155/2008/189675. (See p. 51).

[GP00] Janusz Gwozdziewicz and Arkadiusz Ploski. Formulae For The Singularities At Infinity OfPlane Algebraic Curves. 2000. CiteSeerX: 10.1.1.32.7036. (See p. 66).

[Ker06] Michael Kerber. “Analysis of Real Algebraic Plane Curves”. MA thesis. Saarbrücken:Universität des Saarlandes, 2006. URL: http://www.mpi-inf.mpg.de/~mkerber/mkerber_diplom.pdf. (See p. 68).

[Ker09] Michael Kerber. “Geometric Algorithms for Algebraic Curves and Surfaces”. PhD thesis.Saarbrücken: Universität des Saarlandes, 2009. URL: http://www.mpi-inf.mpg.de/~mkerber/kerber_diss.pdf.

[Lab10] Oliver Labs. “A List of Challenges for Real Algebraic Plane Curve Visualization Software”.In: Nonlinear Computational Geometry. Ed. by Ioannis Z. Emiris, Frank Sottile, andThorsten Theobald. Vol. 151. The IMA Volumes in Mathematics and its Applications.Springer New York, 2010, pp. 137–164. ISBN: 978-1-4419-0999-2. DOI: 10.1007/978-1-4419-0999-2_6. (See p. 68).

77

Page 90: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

[Mar66] Morris Marden. Geometry of Polynomials. 2nd edition. Mathematical Surveys 3. Provi-dence, Rhode Island: American Mathematical Society, 1966. ISBN: 978-0-8218-1503-8.

[McN07] John Michael McNamee. Numerical Methods for Roots of Polynomials, Part 1. Ed. byCharles K. Chui and Luc Wuytack. Preprint. Vol. 14. Studies in Computational Math-ematics. Amsterdam, NED: Elsevier, 2007. ISBN: 978-0-444-52729-5. (See pp. 13, 14,26).

[Tei73] Bernard Teissier. “Cycles évanescents, sections planes et conditions de Whitney”. French.In: Singularités à Cargèse. Asterisque 7–8. Paris, France: Société Mathématique de France,1973, pp. 285–362. (See p. 66).

Real Root Isolation

[Abb06] John Abbott. Quadratic Interval Refinement for Real Roots. July 8, 2006. URL: http://www.dima.unige.it/~abbott/publications/RefineInterval.pdf. (See p. 13).

[Akr86] Alkiviadis G. Akritas. “There is no ‘Uspensky’s method.’” In: 5th ACM symposium onSymbolic and algebraic computation (Waterloo, Ontario, Canada, 1986). SYMSAC ’86.New York, NY, USA: ACM, 1986, pp. 88–90. ISBN: 0-89791-199-7. DOI: 10.1145/32439.32457. (See p. 16).

[CA76] George E. Collins and Alkiviadis G. Akritas. “Polynomial real root isolation usingDescarte’s rule of signs”. In: 3rd ACM symposium on Symbolic and algebraic compu-tation (Yorktown Heights, New York, United States, 1976). SYMSAC ’76. New York, NY,USA: ACM, 1976, pp. 272–275. DOI: 10.1145/800205.806346. (See p. 16).

[Eig05] Arno Eigenwillig. “On Multiple Roots in Descartes’ Rule and Their Distance to Roots ofHigher Derivatives”. In: Journal of Computational and Applied Mathematics 200 (2005),pp. 226–230. CiteSeerX: 10.1.1.90.4992. (See p. 25).

[Eig08] Arno Eigenwillig. “Real Root Isolation for Exact and Approximate Polynomials UsingDescartes’ Rule of Signs”. PhD thesis. Saarbrücken: Universität des Saarlandes, 2008.URL: http://www.mpi-inf.mpg.de/~arno/files/arno_thesis_2008.pdf. (Seepp. 7, 14, 16–18, 23, 25, 49, 51, 63).

[Hem+09] Michael Hemmer et al. “Experimental evaluation and cross-benchmarking of univariatereal solvers”. In: Conference on Symbolic numeric computation (Kyoto, Japan, 2009).SNC ’09. New York, NY, USA: ACM, 2009, pp. 45–54. ISBN: 978-1-60558-664-9. DOI:10.1145/1577190.1577202. (See p. 25).

[Joh+06] Jeremy R. Johnson et al. “High-performance implementations of the Descartes method”.In: ISSAC: International symposium on Symbolic and algebraic computation (Genoa,Italy, 2006). New York, NY, USA: Association for Computing Machinery, May 2006,pp. 154–161. ISBN: 1-59593-276-3. DOI: 10.1145/1145768.1145797. (See p. 23).

[MS09] Kurt Mehlhorn and Michael Sagraloff. “Isolating real roots of real polynomials”. In:ISSAC: International symposium on Symbolic and algebraic computation (Seoul, Republicof Korea, 2009). New York, NY, USA: ACM, 2009, pp. 247–254. ISBN: 978-1-60558-609-0.DOI: 10.1145/1576702.1576737.

[MS10] Kurt Mehlhorn and Michael Sagraloff. A Deterministic Descartes Algorithm for RealPolynomials. Accepted for ISSAC ’09: International symposium on Symbolic and algebraiccomputation. Jan. 2010. URL: http://www.mpi-inf.mpg.de/~msagralo/bitstream.pdf.

78

Page 91: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

[Pan+07] Victor Y. Pan et al. “Real root-finding”. In: SNC: International workshop on Symbolic-numeric computation (London, Ontario, Canada, 2007). New York, NY, USA: Associationfor Computing Machinery, 2007, pp. 161–169. ISBN: 978-1-59593-744-5. DOI: 10.1145/1277500.1277524.

[RZ04] Fabrice Rouillier and Paul Zimmermann. “Efficient isolation of polynomial’s real roots”.In: Journal of Computational and Applied Mathematics 162.1 (Proceedings of the interna-tional conference on linear algebra and arithmetic 2004), pp. 33–50. ISSN: 0377-0427.DOI: 10.1016/j.cam.2003.08.015. (See p. 25).

[Sag10] Michael Sagraloff. Root Isolation for Bitstream Polynomials with Adaptive Precision De-mand. 2010. CiteSeerX: 10.1.1.156.5593. (See pp. 45, 72).

[Sha07] Vikram Sharma. “Complexity of real root isolation using continued fractions”. In: Inter-national symposium on Symbolic and algebraic computation (Waterloo, Ontario, Canada,2007). ISSAC ’07. New York, NY, USA: ACM, 2007, pp. 339–346. ISBN: 978-1-59593-743-8. DOI: 10.1145/1277548.1277594. (See pp. 13, 23).

[Wit07] Carl Witty. Fast Real Root Isolation. July 16, 2007. URL: http://www.sagemath.org:9001/days4schedule?action=AttachFile&do=get&target=witty.pdf. (See pp. 25,50).

Complex Root Isolation

[CK] George E. Collins and Werner Krandick. “An Efficient Algorithm for Infallible PolynomialComplex Root Isolation”. In: ISSAC: International symposium on Symbolic and algebraiccomputation (Berkeley, California, United States, 1992). ISSAC ’92. New York, NY, USA:ACM, pp. 189–194. ISBN: 0-89791-489-9. DOI: 10.1145/143242.143308. (See p. 27).

[Gou96] Xavier Gourdon. “Combinatoire, Algorithmique et Géométrie des Polynômes”. French.PhD thesis. Paris, France: École Polytechnique, 1996. URL: http://algo.inria.fr/gourdon/thesis.html. (See pp. 27, 49).

[Kam10] Narayan Kamath. “Subdivision Algorithms for Complex Root Isolation: Empirical Com-parisons”. MA thesis. Kellogg College, University of Oxford, May 30, 2010. (See p. 28).

[Pan02] Victor Y. Pan. “Univariate polynomials: nearly optimal algorithms for numerical factor-ization and root-finding”. In: Journal of Symbolic Computation 33 (5 2002), pp. 701–733.ISSN: 0747-7171. DOI: 10.1006/jsco.2002.0531. (See p. 27).

[Pin76] James R. Pinkert. “An Exact Method for Finding the Roots of a Complex Polynomial”. In:ACM Transactions on Mathematical Software 2 (4 1976), pp. 351–363. ISSN: 0098-3500.DOI: 10.1145/355705.355710. (See p. 27).

[Sch82] Arnold Schönhage. The fundamental theorem of algebra in terms of computational complex-ity. Preliminary report. Tübingen, Germany, 1982. URL: http://www.informatik.uni-bonn.de/~schoe/fdthmrep.ps.gz. (See p. 26).

[SW05] Andrew J. Sommese and Charles W. Wampler II. The Numerical Solution of Systems ofPolynomials. Arising in Engineering And Science. Singapore: World Scientific PublishingCompany, 2005. ISBN: 9-812-56184-6. (See p. 26).

[SY09] Michael Sagraloff and Chee K. Yap. An Efficient and Exact Subdivision Algorithm forIsolating Complex Roots of a Polynomial and its Complexity Analysis. Oct. 2009. CiteSeerX:10.1.1.156.3280. (See pp. 23, 27).

79

Page 92: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

[Ver99] Jan Verschelde. “Algorithm 795: PHCpack: a general-purpose solver for polynomialsystems by homotopy continuation”. In: ACM Transactions on Mathematical Software 25(2 1999), pp. 251–276. ISSN: 0098-3500. DOI: 10.1145/317275.317286. (See p. 26).

[Wil78] Herbert S. Wilf. “A Global Bisection Algorithm for Computing the Zeros of Polynomials inthe Complex Plane”. In: Journal of the ACM 25 (3 1978), pp. 415–420. ISSN: 0004-5411.DOI: 10.1145/322077.322084. (See p. 27).

Simultaneous Root Finding

[Abe73] Oliver Aberth. “Iteration Method for Finding all Zeros of a Polynomial Simultaneously”.In: Mathematics of Computation 27.122 (Apr. 1973), pp. 339–344. ISSN: 0025-5718(print), 1088-6842 (online). DOI: 10.2307/2005621. (See pp. 38, 41).

[BF00a] Dario Andrea Bini and Giuseppe Fiorentino. “Design, analysis, and implementationof a multiprecision polynomial rootfinder”. In: Numerical Algorithms 23 (2–3 2000),pp. 127–173. ISSN: 1017-1398. DOI: 10.1023/A:1019199917103. (See pp. 33, 43, 44,48).

[BF00b] Dario Andrea Bini and Giuseppe Fiorentino. Progress on the implementation of Aberth’smethod. Pisa, Italy, 2000. CiteSeerX: 10.1.1.36.4059. (See p. 43).

[BGP04] Dario Andrea Bini, Luca Gemignani, and Victor Y. Pan. “Inverse power and Durand-Kerner iterations for univariate polynomial root-finding”. In: Computers & Mathematicswith Applications 47.2–3 (2004). Paper version, pp. 447–459. ISSN: 0898-1221. DOI:10.1016/S0898-1221(04)90037-5.

[Bin96] Dario Andrea Bini. “Numerical computation of polynomial zeros by means of Aberth’smethod”. In: Numerical Algorithms 13.2 (Feb. 1996), pp. 179–200. ISSN: 1017-1398(print), 1572-9265 (online). DOI: 10.1007/BF02207694. (See pp. 42, 43).

[BS63] Wolfgang Börsch-Supan. “A posteriori error bounds for the zeros of polynomials”. In:Numerische Mathematik 5 (1 1963), pp. 380–398. ISSN: 0029-599X. DOI: 10.1007/BF01385904. (See p. 38).

[Ehr67] Louis W. Ehrlich. “A modified Newton method for polynomials”. In: Communications ofthe ACM 10 (2 1967), pp. 107–108. ISSN: 0001-0782. DOI: 10.1145/363067.363115.(See p. 38).

[For01] Steven Fortune. Eigensolve. 2001–2002. URL: http://ect.bell-labs.com/who/sjf/eigensolve.html. (See p. 26).

[Ker66] Immo Kerner. “Ein Gesamtschrittverfahren zur Berechnung der Nullstellen von Poly-nomen”. German. In: Numerische Mathematik 8 (3 1966), pp. 290–294. ISSN: 0029-599X.DOI: 10.1007/BF02162564. (See p. 40).

[PCT95] Miodrag S. Petkovic, Carsten Carstensen, and Miroslav Trajkovíc. “Weierstrass formulaand zero-finding methods”. In: Numerische Mathematik 69 (3 1995), pp. 353–372. ISSN:0029-599X. DOI: 10.1007/s002110050097.

[Til98] Paolo Tilli. “Convergence conditions of some methods for the simultaneous computationof polynomial zeros”. In: Calcolo 35 (1 1998), pp. 3–15. ISSN: 0008-0624. DOI: 10.1007/s100920050005. (See pp. 39, 42).

80

Page 93: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

Root Clustering

[Neu03] Arnold Neumaier. “Enclosing clusters of zeros of polynomials”. In: Journal of Compu-tational and Applied Mathematics 156 (2 2003), pp. 389–401. ISSN: 0377-0427. DOI:10.1016/S0377-0427(03)00380-7. (See p. 37).

[RO09] Siegfried M. Rump and Shin’Ichi Oishi. Verified Computation of a Disc containing exactlyk roots of a univariate nonlinear function. To appear. 2009. URL: http://www.ti3.tu-harburg.de/paper/rump/RuOi09a.pdf.

[Rum03] Siegfried M. Rump. “Ten methods to bound multiple roots of polynomials”. In: Journalof Computational and Applied Mathematics 156 (2 2003), pp. 403–432. ISSN: 0377-0427.DOI: 10.1016/S0377-0427(03)00381-9. (See p. 38).

Root Separation and Root Modulus Bounds

[Bat08] Prashant Batra. “On a property of the near optimal root-bound”. In: Journal of Computa-tional and Applied Mathematics 167 (2 2008), pp. 489–491. DOI: 10.1016/j.cam.2003.10.019. URL: http://www.tu-harburg.de/ti6/mitarbeiter/pb/publications/SluisOptBound02.pdf. (See p. 13).

[ESY06] Arno Eigenwillig, Vikram Sharma, and Chee K. Yap. “Almost tight recursion tree boundsfor the Descartes method”. In: ISSAC: International symposium on Symbolic and algebraiccomputation (Genoa, Italy, 2006). New York, NY, USA: Association for ComputingMachinery, 2006, pp. 71–78. ISBN: 1-59593-276-3. DOI: 10.1145/1145768.1145786.

[Fuj16] Matsusaburô Fujiwara. “Über die obere Schranke des absoluten Betrages der Wurzelneiner algebraischen Gleichung”. German. In: Tôhoku Mathematical Journal. 1st ser. 10(1916), pp. 167–171. (See p. 14).

[Mos86] Ronald G. Mosier. “Root Neighborhoods of a Polynomial”. In: Mathematics of Computa-tion 47.175 (1986), pp. 265–273. ISSN: 0025-5718. DOI: 10.2307/2008093.

[SKH09] Michael Sagraloff, Michael Kerber, and Michael Hemmer. Certified Complex Root Isolationvia Adaptive Root Separation. preprint. 2009. CiteSeerX: 10.1.1.155.5351. (See pp. 31,72).

Computer Algebra and Arithmetics

[AI08] American National Standards Institute and Institute of Electrical and Electronics En-gineers. 754-2008 IEEE Standard for Floating-Point Arithmetic. 2008. DOI: 10.1109/IEEESTD.2008.4610935. (See p. 4).

[Arn10] Jörg Arndt. Matters Computational. Ideas, Algorithms, Source Code. To appear, Sept. 7,2010. URL: http://www.jjj.de/fxt/#fxtbook. (See p. 22).

[BP94] Dario Andrea Bini and Victor Y. Pan. Polynomial and Matrix Computations. Vol. 1:Fundamental Algorithms. Boston: Birkhäuser, 1994. ISBN: 0-817-63786-9. (See p. 22).

[BZ10] Richard P. Brent and Paul Zimmermann. Modern Computer Arithmetic. To appear, Sept. 17,2010. URL: http://www.loria.fr/~zimmerma/mca/pub226.html. (See pp. 5, 22).

[Ger05] Jürgen Gerhard. “Modular Algorithms in Symbolic Summation and Symbolic Integra-tion”. In: vol. 3218. Springer Berlin / Heidelberg, Germany, 2005. DOI: 10.1007/b104035. (See p. 22).

81

Page 94: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

[Hen71] Peter Henrici. “Circular arithmetic and the determination of polynomial zeros”. In:Conference on Applications of Numerical Analysis. Ed. by John Morris. Vol. 228. LectureNotes in Mathematics. Springer Berlin / Heidelberg, 1971, pp. 86–92. DOI: 10.1007/BFb0069450. (See p. 72).

[Hoe08] Joris van der Hoeven. Making fast multiplication of polynomials numerically stable.Tech. rep. 2008-02. Orsay, France: Université Paris-Sud, Dec. 9, 2008. URL: http://www.texmacs.org/joris/stablemult/stablemult-abs.html. (See p. 71).

[Kah04] William Kahan. A Logarithm Too Clever by Half. 2004. URL: http://www.cs.berkeley.edu/~wkahan/LOG10HAF.TXT. (See p. 5).

[Kah97] William Kahan. Lecture notes on the Status of IEEE Standard 754 for Binary Floating-PointArithmetic. Oct. 1, 1997. URL: http://http.cs.berkeley.edu/~wkahan/ieee754status/IEEE754.PDF. (See p. 5).

[Kre+] Vladik Kreinovich et al. Interval Computations. URL: http://www.cs.utep.edu/interval-comp/. (See p. 6).

[KZ08] Sven Köhler and Martin Ziegler. “On the Stability of Fast Polynomial Arithmetic”. In:8th Conference on Real Numbers and Computers (Santiago di Compostela, Spain, 2008).July 1, 2008, pp. 147–156. CiteSeerX: 10.1.1.154.7840. (See p. 24).

[LM03] Vincent Lefèvre and Jean Michel Muller. The Table Maker’s Dilemma: our search forworst cases. Oct. 28, 2003. URL: http://perso.ens-lyon.fr/jean-michel.muller/Intro-to-TMD.htm. (See p. 5).

[Mul05] Jean Michel Muller. On the definition of ulp(x). Montbonnet Saint Ismier, France, 2005.URL: http://hal.inria.fr/docs/00/07/05/03/PDF/RR-5504.pdf. (See p. 5).

[Rum99] Siegfried M. Rump. “Fast and Parallel Interval Arithmetic”. In: BIT Numerical Mathematics39 (3 1999), pp. 534–554. ISSN: 0006-3835. DOI: 10.1023/A:1022374804152. (Seep. 72).

[vzGG03] Joachim von zur Gathen and Jürgen Gerhard. Modern Computer Algebra. 2nd edition.Cambridge, UK: Cambridge University Press, 2003. ISBN: 0-521-82646-2. (See pp. 4, 22,23, 30, 60).

Computer Algebra Systems and Implementations of Root Solvers

[Boost] Beman Dawes, David Abrahams, et al. Boost C++ libraries. Version 1.45.0. Since 1998.URL: http://www.boost.org/. (See p. 48).

[CGAL] CGAL: Computational Geometry Algorithms Library. Since 1996. URL: http://www.cgal.org/. (See pp. 1, 25, 47, 62).

[Magma] Wieb Bosma, John Cannon, and Catherine Playoust. The Magma algebra system. Ver-sion 2.15-7. Sidney, Since 1993. URL: http://magma.maths.usyd.edu.au/. (Seep. 27).

[Maple] Waterloo Maple Inc. Maple. Version 14. Since 1980. URL: http://www.maplesoft.com/products/maple/. (See pp. 24, 25, 48, 63).

[MMX] Joris van der Hoeven et al. Mathemagix. Since 2002. URL: http://www.mathemagix.org/. (See p. 25).

[MPSolve] Dario Andrea Bini and Giuseppe Fiorentino. MPSolve. Version 2.2. Pisa, Italy, May 2001.URL: http://www.dm.unipi.it/cluster-pages/mpsolve/. (See pp. 1, 33, 42, 48).

82

Page 95: CertiVed Numerical Root Finding - Max Planck Societyakobel/publications/Kobel... · 2012-06-28 · CertiVed Numerical Root Finding submitted by Alexander Kobel on February 14, 2011

[PARI/GP] The PARI group: Henry Cohen, Karim Belabas, et al. PARI/GP. Version 2.3.5. Bordeaux,France, Since 1987. URL: http://pari.math.u-bordeaux.fr/. (See pp. 27, 49).

[RS] Fabrice Rouillier. RS library. Version 3.0.133. Since 2000. URL: http://www.loria.fr/equipes/vegas/rs/. (See pp. 5, 25, 49).

[Sage] William Stein et al. Sage. Version 4.6.1. Since 2005. URL: http://www.sagemath.org/.(See pp. 24, 25, 49).

[WR88] Wolfram Research. Mathematica. Version 8.0.0. Since 1988. URL: http://www.wolfram.com/products/mathematica/. (See p. 48).

Number Type Libraries

[GMP] Torbjörn Granlund et al. GNU Multiple Precision Library. Since 1991. URL: http://www.gmplib.org/. (See pp. 4, 22, 25, 47, 48).

[LEDA] Algorithmic Solutions Software GmbH. LEDA Library of Efficient Data types and Algo-rithms. Saarbrücken, Since 1988. URL: http://www.algorithmic-solutions.com/leda/. (See pp. 4, 22, 47).

[MPFI] Nathalie Revol. MPFI: a multiple precision interval arithmetic library. Since 2002. URL:http://perso.ens-lyon.fr/nathalie.revol/software.html. (See p. 48).

[MPFR] INRIA et al. Multiple Precision Floating-point Reliable library. Since 2000. URL: http://www.mpfr.org/. (See pp. 4, 48).

[Mpfrcx] Andreas Enge, Philippe Théveny, and Paul Zimmermann. Mpfrcx library for arithmeticof univariate polynomials. Since 2007. URL: http://www.multiprecision.org/. (Seep. 22).

[NTL] Victor Shoup et al. A Library for doing Number Theory. Since 1990. URL: http://www.shoup.net/ntl/. (See pp. 4, 22, 71).

Further Sources

Besides the mentioned references, the following sources on the Internet have been consulted exten-sively during the writing of this thesis:

• MathWorld (Wolfram Research): http://mathworld.wolfram.com/

• Wikipedia: http://de.wikipedia.org/ and http://en.wikipedia.org/

• LEO German–English dictionary (LEO GmbH, TU Munich): http://dict.leo.org/

The figures have been created using the freely available open source packages and applications

• TikZ package for LATEX (http://sourceforge.net/projects/pgf/),

• Asymptote (http://asymptote.sourceforge.net/),

• gnuplot (http://www.gnuplot.info/) and

• Inkscape (http://inkscape.org/).

83