On the Complexity of the Descartes Method when using Approximate Arithmetic Michael Sagraloff MPI for Informatics, Saarbrücken, Germany Abstract In this paper, we introduce a variant of the Descartes method to isolate the real roots of a square-free polynomial F(x) = ∑ni=0 Ai xi with arbitrary real coefficients. It is assumed that each coefficient of F can be approximated to any specified error bound. Our algorithm uses approximate arithmetic only, nevertheless, it is certified, complete and deterministic. We further provide a bound on the complexity of our method which exclusively depends on the geometry of the roots and not on the complexity of the coefficients of F. For the special case, where F is a polynomial of degree n with integer coefficients of maximal bitsize τ, our bound on the bit complexity writes as Õ(n3 τ 2 ). Compared to the complexity of the classical Descartes method from Collins and Akritas (based on ideas dating back to Vincent), which uses exact rational arithmetic, this constitutes an improvement by a factor of n. The improvement mainly stems from the fact that the maximal precision that is needed for isolating the roots of F is by a factor n lower than the precision needed when using exact arithmetic. Key words: Root isolation, Descartes method, subdivision methods, numerical computation, complexity bounds, approximate coefficients 1. Introduction Computing the roots of a univariate polynomial can be considered as one of the fundamental problems in computational algebra, and numerous approaches have been proposed in the last decades to solve this problem. In this paper, we focus on the problem of isolating the real roots of a square-free polynomial F ∈ R[x] with arbitrary real coefficients. More precisely, given approximations of the coefficients of F to an arbitrary precision, we aim to compute disjoint intervals J1 , . . . , Jm such that each Ji contains exactly one root of F and such that their union contains all real roots of F. For polynomials with integer coefficients, the so-called Descartes method (or Email address: msagralo@mpi-inf.mpg.de (Michael Sagraloff). Preprint submitted to Elsevier 20 January 2014 ”Vincent-Collins-Akritas” method) 1 , first introduced by Collins and Akritas [10], constitutes one of the simplest and most efficient algorithms. In order to better understand the contribution of this paper, we briefly review the algorithm: It starts with an interval I containing all real roots of F and recursively proceeds as follows: For an interval I = (a, b) ⊂ I , Descartes’ Rule of Sign is used to test I for roots of F. If it yields that the number m of roots contained in I equals zero, I is discarded. If it yields that m = 1, then I is stored as an isolating interval. In all other cases, I is subdivided into two equally sized subintervals I` := (a, m(I)) and Ir := (m(I), b), where m(I) denotes the midpoint of I. For a polynomial F of degree n with integer coefficients of bit-size τ, the Descartes method induces a recursion tree of size O(n(τ + log n)), where the latter bound has shown to be optimal [15]. For Descartes’ Rule of Signs, we need to compute the polynomial 2 ax + b n . (1.1) FI,rev (x) := (x + 1) · F x+1 Using asymptotically fast Taylor shifts [16, 45, 39], the cost for this computation is bounded by Õ(n2 (log+ max(|a|, |b|) + log+ |b − a|−1 )) = Õ(n3 τ) (1.2) + bit operations, 3 where we define log (x) := log max(2, |x|) ≥ 1 for all x ∈ C and log := log2 . The bound in (1.2) follows from the fact that we have to perform Õ(n) arithmetic operations and that FI,rev has rational coefficients of bit-size O(n(log+ max(|a|, |b|) + log+ |b − a|−1 )) = Õ(n2 τ). Multiplication of the bound on the recursion tree and the bound (1.2) on the bit complexity for the computations at each node yields the bound Õ(n4 τ 2 ) on the overall bit complexity of the Descartes method. The advantages of the Descartes method are its simplicity and that the size of the recursion tree adapts well to the geometric locations of the roots, that is, the recursion tree becomes large if and only if some of the roots are clustered. A disadvantage of the Descartes method is that the exact computation of the polynomials FI,rev needs a precision of Θ̃(n2 τ) in the worst case, whereas separating the roots from each other needs only Õ(nτ) bits. In fact, the binary representation of the endpoints of all isolating intervals returned by the algorithm needs no more than Õ(nτ) bits. This brings up the question whether approximate computation of the polynomials FI,rev yields any improvement with respect to the precision demand during the computation and, thus, also with respect to the bit complexity of the Descartes method. This question has been addressed in a series of previous papers: Johnson and Krandick [19] introduced a hybrid method that uses interval arithmetic based on floating point computation (up to a certain fixed precision) to compute the polynomials FI,rev . This allows to determine the signs of the coefficients of FI,rev (and, thus, to use Descartes’ Rule of Signs) for most of the considered intervals within the subdivision process by using approximate arithmetic, whereas, for the remaining intervals, the method falls back to exact computation. Hence, floating point arithmetic is used as a filter 1 There exist numerous discussions (e.g. [1]) about whether ”Descartes method” is the correct term since Descartes did not introduce any algorithm to isolate the roots but (only) a method to estimate the number of positive roots of a univariate polynomial (i.e. Descartes’ Rule of Signs). However, because of the fact that the algorithm from Collins and Akritas (based on ideas dating back to Vincent) exclusively uses this rule as inclusion and exclusion predicate, it is reasonable to name the algorithm after Descartes without using the possessive ”s” following his name. 2 Descartes’ Rule of Sign states that the number m of roots contained in I is upper bounded by the number v of sign changes in the coefficient sequence of FI,rev and that v ≡ m mod 2. For more details, we refer to Section 2.6. 3 According to Cauchy’s Root Bound (see e.g. [47]), we can assume that I ⊂ (−1 − 2τ , 1 + 2τ ), and thus max(1, |a|, |b|) ≤ 1 + 2τ . In addition, Descartes method does not subdivide intervals of size less than half of the minimal distance between two distinct roots of F (i.e. the separation σF of F), and log max(1, σF ) = O(n(τ + log n)); see Section 2.6 for details. 2 which allows to decrease the precision demand for most intervals, however, no improvement is achieved with respect to worst case bit complexity. Rouillier and Zimmermann [34] modified the latter approach by arbitrarily increasing the working precision at each stage of the algorithm. It is currently one of the fastest algorithms in practice (e.g. the univariate solver in M APLE is based upon this method), however, no result on the needed precision demand and its computational complexity is known, and we expect that, without further modifications, there is no improvement upon the bound Õ(n4 τ 2 ) in the worst case. There also exist ”approximate versions” of the Descartes methods for which complexity results are known: In [14], Eigenwillig et al. proposed a randomized algorithm which is similar to the one from Rouillier and Zimmermann in the sense that it computes interval approximations of the polynomials FI,rev ; in fact, the method works with the Bernstein representation and not with the monomial representation of F. However, the main difference is that the subdivision points are randomly chosen in order to avoid unnecessarily large working precisions. The algorithms from [25, 35] are both deterministic, and they both start with a specific rational approximation F̃ of F for which isolating intervals are computed. Eventually, the isolating intervals for F are obtained by enlarging the isolating intervals for F̃. It has been shown that, for integer polynomials, all of the latter methods (i.e. [14, 25, 35]) need Õ(n4 τ 2 ) bit operations to isolate all real roots. In summary, there exists no theoretical proof for the improved efficiency of an ”approximate” Descartes method as observed in practice. Main Results. A main contribution of this paper is to close the above described gap between theory and practice by introducing a modified Descartes method, denoted RI SOLATE, which combines the Descartes and the Bolzano method [9, 38, 46]. More precisely, for discarding intervals that do not contain any root, our method mainly uses Descartes’ Rule of Signs, whereas an interval is confirmed to be isolating via a sign-change test at the endpoints of the interval and Rouché’s Theorem. RI SOLATE succeeds under guarantee (i.e. the method returns an exact result for any given F) with a working precision bounded by Õ(nτ) in the worst case and the size on the recursion tree is bounded by Õ(nτ). This eventually yields the improved bound Õ(n3 τ 2 ) for isolating all real roots of F. Before we give more details, we briefly sketch how this improvement is possible: For an interval I = (a, b), let FI (x) := F(a + (b − a) · x). (x + 1)n · FI (1/(x + 1)). Hence, from point 4 , we can directly compute an (1.3) Then, it holds that FI,rev (x) = an approximation F̃I of FI to L + n bits after the binary approximation F̃I,rev (x) of FI,rev (x) to L bits after the binary point (see Lemma 1 (c)). Thus, in essence, we can restrict to the computation of sufficiently good approximations of the polynomials FI . In Section 2.3, we show that, for an arbitrary approximation of F to ρ0 = Õ(nτ) bits after the binary point, corresponding roots of F and its approximation are almost at the same location with respect to their separations; see Theorem 3 and Appendix 6.2 for a more precise result. We conclude that, for isolating the roots of F, it should also suffice to consider approximations F̃I of FI to ρ0 bits after the binary point. But how can we compute such approximations F̃I in an efficient manner? Let h0 , with h0 = Õ(nτ), denote an upper bound on the depth of the recursion tree induced by the (modified) Descartes method. If we start with an approximation of F to ρ0 + 2h0 = Õ(nτ) bits after the binary point, then we can recursively compute approximations F̃I of FI such that the approximation error quadruples at most in each bisection step (Lemma 1), and thus each FI is approximated to at least ρ0 bits after the binary point. The polynomials F̃I have bitsize Õ(nτ) 4 More precisely, each coefficient of FI is approximated to an absolute error of less than 2−L−n 3 √ √ √ FI0 = 16 2x2 − 16 2x + 4 − 8x + 4 + π8 + 4 2 I0 = (− 21 , 21 ), 5145 31363 2 ≈ F̃I0 = 11585 512 x − 1024 + 512 I1 = (− 12 , 0) I2 = (0, 12 ) (0, 14 ) ( 14 , 21 ), FI = √ √ √ 2 2x + (2 2 − 2)x + 2 + π8 53 25 2 ≈ F̃I = 181 128 x + 64 x − 128 (0, 18 ) ( 18 , 14 ) ( 14 , 38 ) ( 38 , 12 ) √ Fig. 1.1. Consider the recursion tree induced by the Descartes method when applied to F(x) := 16 2 · x2 − 8 · x + π4 (with roots x1 = 0.06 . . . and x2 = 0.29 . . .). For each interval I = (a, b) in the subdivision process, we have to compute √ √ √ the polynomial FI (x). For instance, for I = ( 41 , 12 ), it holds that FI (x) = F( 14 + 4x ) = 2x2 + (2 2 − 2)x + 2 + π8 . We start with an approximation F̃I0 of FI0 to a certain number ρI0 = ρ of bits after the binary point. Then, we recursively compute approximations F̃I of FI to ρI bits, where ρI is updated in each step. Notice that the polynomials F̃I do not necessarily correspond to a specific initial approximation G of F, that is, there might exist no polynomial G such 31363 5145 2 that GI = F̃I for all considered I. In the above example, we start with F̃I0 (x) = 11585 512 x − 1024 + 512 which approxi√ 2 √ √ 1 π mates FI0 (x) = f (− 2 + x) = 16 2x − 16 2x + 4 − 8x + 4 + 8 + 4 2 to ρI0 = 10 bits. Then, F̃I0 ( 2x ) and F̃I0 ( 12 + 2x ) are evaluated and the result is rounded to 9 bits after the binary point. The resulting polynomials are then approximations of FI1 (x) = F( 21 + 2x ) and FI2 (x) = F( 2x ) to ρI1 = ρI2 = 8 bits, respectively; see Lemma 1 for details. In the following bisection steps, we proceed in exactly the same manner. For instance, for the interval I = ( 41 , 12 ), we obtain 53 25 2 F̃I (x) = 181 128 x + 64 x − 128 which approximates FI to ρI = 6 bits after the binary point. (instead of Õ(n2 τ) for the exact counterpart FI ) which allows to reduce the cost at each node by a factor n; see also Figure 1.1 for an example in the more general setting, where F has arbitrary real coefficients. The main difficulty is that the values h0 and ρ0 are not known in advance and that considering worst case bounds for these values (e.g. for integer polynomials) yields an algorithm which might achieve an improved worst case complexity bound but is not practical at all; see also Section 4.4.1 for more details. In contrast, we propose an adaptive algorithm which succeeds with a working precision comparable to the precision that is actually needed for the given input. In addition, the size of the recursion tree directly depends on the actual separations of the roots; cf. the complexity bounds in (1.6) and (1.7) for a more precise result. In the above considerations, we mainly focused on polynomials with integer coefficients. However, the proposed algorithm RI SOLATE does not only apply to integer polynomials but also to arbitrary square-free polynomials 5 n F(x) := ∑ Ai xi ∈ R[x], i=0 1 ≤ |An | ≤ 1, 4 (1.4) with real valued coefficients Ai , where we assume the existence of a coefficient oracle that provides arbitrary good approximations of the coefficients at the cost of reading the approximation. In this setting, the complexity results are exclusively stated in terms of the geometry of the roots and not in the complexity of the coefficients. More precisely, let - ξ1 , . . . , ξn ∈ C denote the (complex) roots of F, - ΓF := log+ maxi |ξi | the logarithmic root bound of F, 5 The additional requirement for the leading coefficient An yields a simpler overall presentation. Notice that, for general values An , we first have to multiply the polynomial F by some 2t , with t ∈ Z, such that 2t · |An | is contained in [1/4, 1]. 4 - σi := σ (ξi , F) := min j6=i |ξi − ξ j | the separation of the root ξi , - σF := mini σi the separation of F, and - ΣF := ∑ni=1 log+ σi−1 , (1.5) then RI SOLATE induces a recursion tree of size Õ(nΓF + ΣF ), (1.6) Õ(n(nΓF + ΣF )2 ) (1.7) and it needs bit operations to isolate all real roots of F. The coefficients of F have to be approximated to Õ(nΓF + ΣF ) bits after the binary point. We remark that the bound in (1.7) factorizes into the bound (1.6) on the size of the recursion tree, the precision Õ(nΓ + ΣF ) to carry out the computations, and a factor Õ(n) for the number of arithmetic operations needed to process an interval I in the recursion tree. Furthermore, for a polynomial F with integer coefficients of bit size τ or less, we can first divide F by its leading coefficient (to meet the requirements in (1.4)) and then apply RI SOLATE to the polynomial F/|An |. For this special case, the bounds on the size of the recursion tree and the bit complexity simplify to Õ(nτ) and Õ(n3 τ 2 ), respectively, because ΓF = O(τ), log Mea(F) = O(τ + log n), and ΣF = Õ(nτ); see also Appendix 6.2. Related Work. The literature on root finding mainly distinguishes between numerical methods that use approximate computation and methods that use exact arithmetic. Many numerical algorithms (e.g. based on Newton-Raphson iteration, the Weierstrass-Durand-Kerner method, (inverse) power iteration, Eigenvalue computation, etc.) are widely used and effective in practice 6 but lack a guarantee on the global behavior. A prominent example is the Weierstrass-DurandKerner method, where there is still no proof known that the method converges for arbitrary given starting values. For a more detailed discussion, we refer to [32]. In parallel, there is a steady ongoing research on subdivision algorithms which perform rational operations on the input coefficients. Algorithms of the latter kind are the Descartes method (e.g. [10, 13, 34]), the Bolzano method [9, 38], the Sturm method [11, 46], or the continued fraction method [2, 24, 41, 44]. 7 Many of these methods have been integrated into computer algebra systems, and experiments have shown their practical evidence [18, 34]. In addition, their computational complexity has been well-studied [11, 15, 38, 44]. Current experimental data shows that an approximate variant of the Descartes method [34] performs best for most polynomials, whereas, for some particular hard instances (e.g. Mignotte polynomials), the continued fraction approach is more efficient. From a theoretical complexity point of view, the first benchmark was set by A. Schönhage [39] in 1982. He combines a newly introduced concept denoted splitting circle method with techniques from numerical analysis (Newton iteration, Graeffe’s method, discrete Fourier transforms) and fast algorithms for polynomial and integer multiplication. With respect to the benchmark problem (i.e. isolating all roots of a polynomial F of degree n with integer coefficients of bit size τ or less), his method achieves the bit complexity bound Õ(n3 τ). Pan and others [32, 33] gave theoretical improvements which yield record bounds with respect to bit complexity and arithmetic complexity. In particular, [33, Theorem 2.1.1] implies that isolating all complex roots 6 E.g. M PSOLVE [8] is a highly efficient implementation of the Aberth-Ehrlich method. The literature on root solving is extensive, hence, we decided to restrict to a selection of representative papers and refer the reader to the references given therein. 7 5 of F needs no more than Õ(n2 τ) bit operations. Very recent work [26] turns Pan’s factorization algorithm into a root isolation method that achieves a bit complexity bound which adapts directly to the geometry of the roots. That is, similar to the bound in (1.7), the bound exclusively depends on the absolute values and the pairwise distances between roots. However, the main drawback of the asymptotically fast algorithms above is that they are rather involved and difficult to implement. In fact, Pan’s method has not been implemented, whereas Schönhage’s method has not proven to be efficient in practice so far; see [17] for a “proof of concept” implementation of the splitting circle method within the Computer Algebra system Pari/GP. All of the above mentioned exact subdivision algorithms (i.e. Sturm, Bolzano, Descartes, or the continued fraction method) need Õ(n4 τ 2 ) bit operations to isolate all real roots of F, thus they lag behind the (asymptotically) fastest method by three magnitudes. In a very recent work [37], we introduced a variant of the Descartes method which uses Newton iteration to speed up convergence. The method exclusively performs exact rational arithmetic and has bit complexity Õ(n3 τ) which is still by one magnitude worse than the method from Pan. When compared to other exact subdivision methods, the improvement in [37] mainly stems from the fact that it achieves quadratic convergence in most iterations which yields a recursion tree of almost optimal size. In contrast, the improvement with respect to bit complexity (i.e. from Õ(n4 τ 2 ) to Õ(n3 τ 2 )) as achieved by the algorithm RI SOLATE in this paper is due to the use of approximate arithmetic with a considerably smaller working precision as needed for the exact counterpart. A first version [36] of this paper appeared in arXiv in November 2010. Since that time, the algorithm RI SOLATE has been implemented as a core function in M ATHEMATICA (see [42]) and the complexity results have been applied in a series of papers (e.g. [20, 21, 37, 42, 43]). In this context, we would also like to remark that our complexity results are already confirmed by experiments [42, 43] showing that the complexity of RI SOLATE is exclusively related to the geometry of the roots. Furthermore, the adaptiveness of our bound has turned out to be very useful in the analysis [21] of an algorithm to compute the topology of an algebraic curve which makes extensive use of amortization. For the future, we expect that there will be a series of further complexity results based on our adaptive complexity bound for real root isolation. Acknowledgments A special thank goes to all anonymous reviewers for their constructive and detailed criticism that has helped to improve the quality and exposition of this contribution. 2. Preliminaries 2.1. Notations In addition to the definitions from (1.4) and (1.5), we define w(I) := b − a the width, m(I) := the center, and r(I) = w(I) 2 the radius of an interval I = (a, b). Furthermore, a+b 2 I + = (a+ , b+ ) := (a − w(I) w(I) ,b+ ) and 4n 4n w(I) w(I) I˜ = (ã, b̃) := (a − ,b+ ) 2n 2n w(I) denote extensions of I by w(I) 4n and 2n (to both sides), respectively. We will need these intervals for our modified version of the Descartes method as presented in Section 3. For an arbitrary point m ∈ C and a positive real value r, we define ∆ = ∆r (m) to be the open disk with center m and radius r. ∆¯ and I¯ denote the closure of a disk ∆ and an interval I, respectively. 6 2.2. Scaling the Polynomial Instead of isolating the roots of the given polynomial F(x) = ∑ni=0 Ai xi as defined in (1.4), we consider the equivalent task of isolating the roots of a ”scaled” polynomial n n f (x) = ∑ ai xi := ∑ (Ai · 2i·Γ ) · xi = F(2Γ · x), i=0 (2.1) i=0 where Γ ∈ N is an integer approximation of the exact logarithmic root bound ΓF = log+ (maxi |ξi |) of F such that ΓF + 1 ≤ Γ ≤ ΓF + 8 log n + 1. (2.2) According to Appendix 6.1, we can compute such a Γ with Õ(n2 ΓF ) bit operations from an approximation of F to Õ(nΓF ) bits after the binary point. From the definition of Γ, it follows that the roots z1 := ξ1 · 2−Γ , . . . , zn := ξn · 2−Γ of f are contained within the disk ∆1/2 (0). Furthermore, the absolute value of each coefficient ai is upper bounded by 2O(nΓ) since |Ai | ≤ ni Mea(F) ≤ 2n+nΓF ≤ 2nΓ for all i. We further remark that the separations of corresponding roots of F and f scale by a factor of 2Γ (i.e. σ (ξi , F) = 2Γ · σ (zi , f )). Thus, we have n Σ f = ∑ log+ σ (zi , f )−1 ≤ ΣF + nΓ = O(nΓF + n log n + ΣF ) = Õ(nΓF + ΣF ). (2.3) i=1 2.3. Approximating Polynomials We assume the existence of a coefficient oracle which, for a given ρ ∈ N, provides approximations of the coefficients of F to ρ bits after the binary point. More precisely, each coefficient Ai is approximated by a binary fraction Ãi = mi · 2−ρ with mi ∈ Z and |Ai − Ãi | ≤ 2−ρ , e.g., Ãi = sign(Ai ) · b|Ai · 2ρ |c · 2−ρ . We call a polynomial F̃ ∈ Q[x] obtained in this way a ρ-binary approximation of F. We only consider the cost for reading (i.e. O(n(nΓF + ρ))) but not for computing such an approximation. Notice that, in order to obtain a ρ-binary approximation of the scaled polynomial f , we have to approximate F to nΓ + ρ bits after the binary point since the i-th coefficient of F is shifted by i · Γ bits. i For an arbitrary polynomial g(x) := ∑m i=0 gi x ∈ C[x] with complex coefficients and an arbitrary non-negative real number µ ∈ R≥0 , we define ( ) n [g]µ := g̃(x) = ∑ g̃i xi ∈ C[x] : |gi − g̃i | ≤ µ for all i = 0, . . . , n i=0 the set of all µ-approximations of g. We remark that, since the coefficients of modulus less than µ can be approximated by zero, a µ-approximation g̃ of g might have lower degree than g. 1 9 11 10 9 10 2 2 Example. For g(x) := 12256 65589 x − 2x + 243 x − 16 , the polynomial g̃(x) := 64 x − 2x − 16 con3 2 stitutes a 6-binary approximation and g̃(x) := −2x − 4 a 2-binary approximation of g. 2.4. Taylor Shifts The following lemma provides error bounds on how the absolute approximation error µ of a polynomial g̃ ∈ [g]µ scales under the transformation x 7→ m + λ · x for some special values for m ∈ C and λ ∈ R\{0}: 7 Lemma 1. For µ ∈ R+ 0 and g̃ ∈ [g]µ an arbitrary µ-approximation of a polynomial g ∈ C[x] of degree n, it holds that (a) g̃( 12 + 21 · x) ∈ [g( 12 + 12 · x)]2µ , 1 1 1 1 (b) g̃(− 4n + (1 + 2n ) · x) ∈ [g(− 4n + (1 + 2n ) · x)]4µ , 1 1 n (c) g̃(− 2 + x) ∈ [g(− 2 + x)]2 µ , and g̃(1 + x) ∈ [g(1 + x)]2n µ . Proof. For µ(x) := (g − g̃)(x) = µn xn + . . . + µ1 x + µ0 , the absolute value of each coefficient µi is bounded by µ. Let m ∈ C and λ ∈ R\{0} be arbitrary values, then n n i n n i i µ(m + λ x) = ∑ µi (m + λ x)i = ∑ µi ∑ xk λ k mi−k = ∑ xk ∑ µi mi−k λ k (2.4) k k i=0 i=0 k=0 k=0 i=k Thus, for |m| < 1, the absolute value of the coefficient of xk is bounded by 1 i k+i k i−k i k , = µ|λ |k · µ|λ | · ∑ |m| = µ|λ | · ∑ |m| k k (1 − |m|)k+1 i≥0 i≥k (2.5) where we used −(k+1) (1 − |m|) −(k + 1) k+i k+i i i i =∑ (−1) |m| = ∑ |m| = ∑ |m|i . i i k i≥0 i≥0 i≥0 For m = λ = 1/2, it follows that the absolute value of all coefficients of µ(x) is bounded by 2µ. 1 1 This shows (a). For m = − 4n and λ = 1 + 2n , (2.5) implies that 1 1 1 1 1 1 g̃(− + (1 + ) · x) ∈ g(− + (1 + ) · x) ⊂ g(− + (1 + ) · x) 1+1/(2n) n 4n 2n 4n 2n 4n 2n µ 8· 4µ 7 1−1/(4n) √ 1+1/(2n) because 78 · 1−1/(4n) ≤ · e ≤ 4. Hence, (b) follows. The first part of (c) is also a direct implication of (2.5). The second claim from the computation in (2.4) since µi is then in (c) follows i n−k i+k n−k n n · µ. 2 (m = λ = 1) bounded by µ · ∑ni=k ki = µ · ∑ni=k i−k = µ · ∑i=0 ≤ µ · ≤ 2 ∑ i=0 i i 2.5. n 83 73 On Sufficiently Good Approximation In the next step, we derive a bound on how good f has to be approximated by some f˜ such that, for all i, the distance of corresponding roots zi and z̃i of f and f˜ is small with respect to the separation σ (zi , f ). There exist general worst-case perturbation bounds (e.g. [40, Thm. 2.7] or [23, Chapter 15]) that apply to polynomials with multiple roots and which only depend on the distance k f − f˜k1 between f and f˜. 8 For polynomials with roots of very large multiplicity, these bounds are nearly optimal. However, they often constitute vast overestimations of the amount of perturbation, in particular, for polynomials with well separated roots. In contrast, we provide a more adaptive, but implicit, bound depending on parameters, such as the separations of the roots and the absolute values of the derivatives at the roots, which can not directly be derived from the coefficients of f (or f˜). However, our algorithm as presented in Section 4 is designed in a way such that it eventually succeeds with a working precision that is related to our adaptive bound. We further remark that our bound cannot be directly derived from the bound in [40, Thm. 2.7] and vice versa. 8 In the context of real root isolation, the bound in [40, Thm. 2.7] has been used in [25] in order to derive isolating intervals for the roots of a real polynomial f ∈ R[x] from corresponding isolating intervals for the roots of a rational approximation f˜ ∈ Q[x]. 8 The following considerations are mainly adopted from our studies in [35]. For the sake of comprehensibility, we decided to briefly review the results in this paper as well. We start with the following definition: Definition 2. For t, with t ≥ 1, an arbitrary real value and f a polynomial as in (2.1), we define σ (zi , f ) · f 0 (zi ) 1 µ( f ,t) := · min (2.6) t i=1,...,n 8n2 We call a ρ ∈ N sufficiently large with respect to f if 9 ρ ≥ ρ f := d− log µ( f , 64n2 )e. (2.7) Notice that ρ f = O(Σ f + log n − log |an |) and ρ f = O(ΣF + log n) because of σ (zi , f ) · | f 0 (zi )| = σ (zi , f ) · |an | · ∏ |zi − z j | ≥ σ (zi , f ) · |an | · ∏ σ (z j , f ) = j6=i j6=i 1 |an | = nΓ σ (ξi , F) ∏ σ (ξ j , F) ≥ · 2−ΣF . 2 4 j6=i (2.8) The following theorem gives an answer to our initial question how good f has to be approximated by some f˜ in order to ensure that corresponding roots stay at almost ”the same place” with respect to their separations: Theorem 3. Let f be the polynomial as defined in (2.1), t ≥ 1 and f˜ ∈ [ f ]µ( f ,t) . (a) For all i = 1, . . . , n, the disk ∆i := ∆ σ (zi , f ) (zi ) tn contains the rootSzi of f and a corresponding root z̃i of f˜. (b) For each z ∈ C\ ni=1 ∆i , it holds that | f (z)| > (n + 1)µ( f ,t). (zi , f ) ˜ (c) If ρ ≥ ρ f , then each root zi moves by at most σ64n 3 when passing from f to an arbitrary f ∈ [ f ]2−ρ . In particular, real roots of f stay real and non-real roots stay non-real. Furthermore, (zi , f ) −ρ f for any z ∈ C with |z − zi | ≥ σ64n . 3 for all i, it holds that | f (z)| > (n + 1)2 Proof. Since all roots of f are contained within ∆1/2 (0), it follows that σ (zi , f ) < 1 for all i and, thus, each disk ∆i is completely contained within the unit disk. For an arbitrary point z ∈ ∂ ∆i on the boundary of ∆i , we have ! ! n z−zj σ (zi , f ) | f (z)| = |an | ∏ |z − z j | = ∏ |zi − z j | ∏ · |an | · tn j=1 1≤ j≤n, j6=i 1≤ j≤n, j6=i zi − z j z − z j σ (zi , f ) · | f 0 (zi )| |zi − z j | − |z − zi | σ (zi , f ) · | f 0 (zi )| = ∏ zi − z j ≥ ∏ tn tn |zi − z j | 1≤ j≤n, j6=i 1≤ j≤n, j6=i 1 n−1 σ (zi , f ) · | f 0 (zi )| σ (zi , f ) · | f 0 (zi )| 1− > > (n + 1)µ( f ,t). ≥ tn tn 2.72 · tn In addition, since f˜ ∈ [ f ]µ( f ,t) and |z| < 1, we have |( f − f˜)(z)| < (n + 1)µ( f ,t) < | f (z)|. Hence, (a) follows from Rouché’s Theorem applied to the disks ∆i and the functions f and f˜. For (b), we S remark that f is a holomorphic function on C\ ni=1 ∆i and, thus, | f (z)| becomes minimal for a 9 This definition is motivated by our results in Theorem 3 and Section 4.1 9 point z on the boundary of one of the disks ∆i . (c) follows directly from (a), (b) and the definition of ρ f in (2.7). 2 We conclude from the last theorem that it suffices to approximate the coefficients of f to ρ, with some ρ = O(Σ f + log n − log |an |), bits after the binary point to guarantee that each approximation f˜ ∈ [ f ]2−ρ has its roots at almost the same location as f . 2.6. The Descartes Method We first resume some basic facts about the Descartes method for isolating the real roots of a polynomial f (x) = ∑ni=0 ai xn ∈ R[x]. Descartes’ Rule of Signs states that the number var( f ) of sign changes in the coefficient sequence of f , that is, the number of pairs (i, j) with i < j, ai a j < 0, and ai+1 = . . . = a j−1 = 0, is not smaller than and of the same parity as the number of positive real roots of f . If var( f ) = 0, then f has no positive real root, and if var( f ) = 1, f has exactly one positive real root. The rule easily extends to an arbitrary open interval I = (a, b) via a suitable coordinate transformation: The mapping x 7→ a + (b − a)x maps (0, 1) bijectively onto I, that is, the roots of f in I exactly correspond to those of fI (x) := f (a + w(I)x) = f (a + (b − a)x) (2.9) in (0, 1). Hence, the composition of x 7→ a + (b − a) · x and x 7→ 1/(1 + x) constitutes a bijective map from (0, ∞) to I. It follows that the positive real roots of ax + b 1 n n = (1 + x) · f fI,rev (x) := (1 + x) fI x+1 x+1 correspond bijectively to the real roots of f in I. The factor (1+x)n in the definition of fI,rev clears denominators and guarantees that fI,rev is a polynomial. fI,rev is computed from fI by reversing the coefficients (i.e. the i-th coefficient is replaced by the (n − i)-th coefficient) followed by a Taylor shift by 1 (i.e. x 7→ x + 1). We now define var( f , I) := var( fI,rev ). Based on Descartes’ Rule of Sign, Collins and Akritas introduced a bisection algorithm 10 for isolating the roots of f in an interval I0 (here, we assume that I0 = (−1/2, 1/2)). We refer the reader to [3, 4, 5, 6, 10, 13] for extensive treatments and references. V CA. The algorithm requires that the real roots of f in I0 are simple, otherwise it diverges. In each step, a set A of active intervals is maintained. Initially, A contains I0 , and the algorithm stop as soon as A becomes empty. In each iteration, some interval I ∈ A is processed; If var( f , I) = 0, then I contains no root of f and we discard I. If var( f , I) = 1, then I contains exactly one root of f and, hence, is an isolating interval for it. We add I to a list O of isolating intervals. If there is more than one sign change, we divide I at its midpoint m(I) and add the subintervals to the set of active intervals. If m(I) is a root of f , we add the trivial interval [m(I), m(I)] to the list of isolating intervals. Correctness of the algorithm follows immediately from Descartes’ Rule of Signs. Termination and complexity analysis of V CA rest on the following theorem: 10 Based on the fact that Collins and Akritas used ideas dating back to Vincent (see [5]), the algorithm has been named Vincent-Collins-Akritas method (or V CA for short). In this paper, we use both denotations, that is, V CA and Descartes method, in an interchangeable way. 10 Theorem 4 ([28, 31]). For a polynomial f ∈ R[x] and an interval I = (a, b), let v := var( f , I). (a) (One-Circle Theorem) If the open disk bounded by the circle centered at m(I) and passing through the endpoints of I contains no root of f (x), then v = 0. (b) (Two-Circle Theorem) If the union of the open disks bounded by the two circles centered at √ m(I) ± i(1/(2 3))w(I) and passing through the endpoints of I contains exactly one root of f (x), then v = 1. Proofs of the one- and two-circle theorems can be found in [3, 13, 22, 28, 29, 30, 31]. Theorem 4 implies that no interval I of length σ f /2 or less is split. Such an interval cannot contain two real roots and its two-circle region cannot contain any nonreal root. Thus, var( f , I) ≤ 1 by Theorem 4. We conclude that the depth of the recursion tree is bounded by 1 + log σ −1 f . Furthermore, it holds (see [13, Cor. 2.27] or [27, Prop. 3.1] self-contained proofs): Theorem 5. Let I be an interval and I1 and I2 be two disjoint subintervals of I. Then, var( f , I1 ) + var( f , I2 ) ≤ var( f , I). According to the above theorem, there cannot be more than n/2 intervals I with var( f , I) ≥ 2 at any level of the recursion. Therefore, the size of the recursion tree TV CA is bounded by n(1 + log σ −1 f ). For polynomials with integer coefficients of maximal bitsize τ, it has been shown that − log σ f = O(n(log n + τ)), thus, the latter bound writes as Õ(n2 τ). However, a more refined argumentation [13] shows that |TV CA | is even bounded by Õ(nτ) which is due to the fact that there are amortization effects over the separations of all roots; see Appendix 6.2. The computation of fI,rev at each node of the tree is costly. It is better to store with every interval I = (a, b) the polynomial fI (x) = f (a + x · (b − a)). If I is split at its midpoint m(I) into I` = (a, m(I)) and Ir = (m(I), b), the polynomials associated with the subintervals are fI` (x) = 1 n fI ( 2x ) and fIr (x) = fI ( 1+x 2 ) = f I` (1 + x). Also, f I,rev (x) = (1 + x) f I ( 1+x ). If the coefficients of f are integers (or dyadic fractions) of bitsize τ, then the coefficients grow by n bits in every bisection step. Thus, for a node I of depth h, the bitsize τh of the coefficients of fI is bounded by τh = τ + nh. Hence, using asymptotically fast Taylor shift (see [45, 16]), the number of bit operations needed to compute fI` , fIr and fI,rev from fI is Õ(n(nh + τ)). Since the depth of the recursion tree is Õ(nτ), each fI has coefficients of bitsize Õ(n2 τ) and, thus, the cost at each node is bounded by Õ(n3 τ). Eventually, the total cost for V CA is in Õ(n3 τ) · Õ(nτ) = Õ(n4 τ 2 ). 3. A Modified Descartes Method In c computational model, where exact operations on real numbers are assumed to be available at unit costs, the Descartes method can be directly used to isolate the real roots of the polynomial f as defined in (2.1). Namely, in such a model, we can compute the number of sign variations for the polynomial fI,rev and the sign of f at the midpoint m(I) for each node I of the recursion tree no matter whether f has rational, algebraic, or transcendental coefficients. However, for an actual implementation, these computations turn out to be hard, or even infeasible, in general. Namely, if one of the coefficients of fI,rev equals zero (e.g. this is the case if one of the endpoints of I is a root of f ), then deciding the sign of this coefficient becomes infeasible since we can only ask for approximations of f . The decision problem becomes hard if one of the coefficients has a very small value because, in this case, we have to run our computations with a very large working precision. We further remark that, even for algebraic coefficients (with known algebraic 11 representation), the decision problem might be hard because this amounts to comparing algebraic numbers of large degree. In order to overcome these issues, we do not consider the original version of the Descartes method but a modified variant which completely avoids such difficult decision problems. More precisely, we will show that our method always succeeds with a working precision comparable to ρ f . A crucial step in our approach is to replace the inclusion predicate var( f , I) = 1, which is used in the Descartes method to confirm an interval to be isolating, by a predicate used in the Bolzano method. Section 3.1 resumes some useful results which are adopted from our studies on the Bolzano method [38], whereas, in Section 3.2, our modified Descartes method is formulated. 3.1. The T [g, K](·)-Test: Existence of Roots For g ∈ C[x], m ∈ C and positive real values K and r, we consider the following test which has already been introduced in [46] in a less general form: 11 g(k) (m) k T [g, K](m, r) : t[g, K](m, r) := |g(m)| − K ∑ (3.1) r > 0. k! k≥1 In order to simplify notation, we also write T [g, K](∆) or T [g, K](I) instead of T [g, K](m, r), where ∆ = ∆r (m) is disk or I = (a, b) an interval with midpoint m = m(I) and radius r = r(I). If the polynomial g is fixed and no mix-up is possible, we further omit the ”g” and write T [K](m, r) for T [K](m, r) and T 0 [K](m, r) for T [g0 , K](m, r). We mainly use K = 3/2. Therefore, whenever the ”K” is suppressed (i.e. we write T [g](m, r) instead of T [g, 3/2](m, r)), we consider K = 3/2. Before presenting the main technical lemmata, we first summarize the following useful properties of T [g, K](·): • If T [g, K](m, r) holds, then T [g, K 0 ](m, r0 ) holds for all K 0 ≤ K and all r0 ≤ r. • For arbitrary values m, r and λ 6= 0, the tests T [g, K](m, r) and T [g(m + λ · x), K](0, λr ) are equivalent since t[g(m + λ x), K](0, λr ) = t[g, K](m, r). In particular, for an interval I = (a, b), the test T [gI , K](0, r) is equivalent to T [g, K](a, r · w(I)), where gI (x) = g(a + w(I) · x). • For λ ∈ R+ , it holds that t[g, K](m, r) = t[λ g, K](m, r) · λ −1 and, thus, T [g, K](m, r) is equivalent to T [λ g, K](m, r). Hence, T [(g0 )I , K](m, r) and T [(gI )0 , K](m, r) are equivalent since (gI )0 = (g(a + w(I) · x))0 = w(I) · (g0 )I . The T [g, K](·)-test serves as an exclusion predicate but might also guarantee that a certain disk contains at most one root. We refer to [7, Theorem 3.2] for a proof of the following lemma. Lemma 6. Consider a disk ∆ = ∆r (m) ⊂ C and a polynomial g ∈ R[x]: (a) If T [K](∆) holds for some K ≥ 1, then ∆¯ contains no root of g and 1 1 1− · |g(m)| < |g(z)| < 1 + · |g(m)| K K for all z in the closure ∆¯ of ∆. (b) If T 0 [3/2](∆) holds, then ∆¯ contains at most one root of g. 11 In [46], Yakoubsohn introduces a quadtree (Weyl) construction for computing the complex roots of an analytic function, where the test T [g, 1](·) is exclusively used as an exclusion predicate. In [46, Section 9], he also provides bounds on the arithmetic complexity and the precision that is needed by his algorithm to isolate all complex roots of a square-free polynomial f . In particular, the bound on the precision is stated in terms of the degree of f , the absolute value of the roots, and the distance of f to the variety of all polynomials that have a multiple root, and thus, it is similar to our bound. 12 The T 0 (·)-test now easily applies as an inclusion predicate: Corollary 7. Let I = (a, b) be an interval and r ≥ 1 such that T [g0I ](0, r) holds. Then, I contains a root ξ of g if and only if g(a) · g(b) < 0. In the latter case, the disk ∆r·w(I) (a) is isolating for ξ . Proof. If T [g0I ](0, r) holds, then T [g0 ](a, r ·w(I)) holds as well according to the above properties of T [g, K](·). It follows that the disk ∆r·w(I) (a) and, thus, I contains no root of the derivative g0 . Now, since g is monotone on I, it suffices to check for a sign change of g at the endpoints of I. Namely, there exists a root ξ of g in I if and only if g(a) · g(b) < 0. In case of existence, ∆r·w(I) (a) is isolating for ξ due to Lemma 6. 2 In order to show that the T [g0 ](m, r)-test in combination with sign evaluation is an efficient inclusion predicate, we give lower bounds on r in terms of σg such that the predicate succeeds under guarantee. Lemma 8. For g a polynomial of degree n, a disk ∆ = ∆r (m) ⊂ C, an interval I = (a, b) and w(I) I + = (a − w(I) 4n , b + 4n ), it holds: σ (a) If r ≤ 4ng2 , then T (∆) or T 0 (∆) holds. (ξ ,g) 0 (b) If ∆ contains a root ξ of g and r ≤ σ 4n 2 , then T (∆) holds. (c) If var(g, I + ) > 0 and T [g0I ](0, 2) fails, ∆2w(I) (a) contains a root ξ of g with σ (ξ , g) < 8n2 w(I). (d) If var(g0 , I) > 0 and T [gI ](0, 1) fails, ∆2nw(I) (a) contains a root ξ of g with σ (ξ , g) < 4n2 w(I). Proof. For the proof of (a) and (b), we refer to [35, Lemma 5]. For (c), suppose that var(g, I + ) > 0 and T [g0I ](0, 2) does not hold. Then, according to Theorem 4 (a), the disk ∆r(I + ) (m(I)) ⊂ (ξ ,g) ∆2w(I) (a) contains a root ξ of g. With (b), it follows that 2w(I) > σ 4n and, thus, σ (ξ , g) < 2 2 8n w(I). For (d), we first argue by contradiction that the disk ∆2nw(I) (a) contains a root ξ of g: If |a − xi | ≥ 2nw(I) for all roots xi of g, then k k g(k) (a) 1 1 1 n 0 = ≤ , ≤ ∑i=1 |a − xi | g(a) ∑i1 ,...,ik (a − xi1 ) . . . (a − xik ) 2w(I) where the prime meansthat the i j ’s ( j = 1 . . . k) are chosen to be distinct. It follows that T (a, w(I)) (k) (a) holds because of ∑nk=1 gg(a) w(I)k ≤ ∑nk=1 2−k < 1 < 23 . In addition, Theorem 4 guarantees the existence of a root ξ 0 ∈ ∆r(I) (m(I)) of g0 . Hence, we have |ξ − ξ 0 | < 2nw(I) + w(I) < 4nw(I) which implies σ (ξ , g) < 4n2 w(I) due to the fact [12, 47] that there exists no root of the derivative g0 in ∆ σ (ξ ,g) (ξ ). 2 n 3.2. D CM: A Modified Descartes Algorithm We introduce our modified Descartes method D CM (short for “Descartes modified”) to isolate the real roots of a polynomial f . We formulate the algorithm in the REAL-RAM model, thus, it still does not directly apply to bitstream polynomials. However, in Section 4.1, we will present a corresponding version D CMρ of D CM which resolves this issue; see also Appendix, Algorithm 1 for pseudo-code of D CM. 13 D CM. D CM maintains a list A of active nodes and a list O of isolating intervals, where we initially set O = 0/ and A := {(I0 , fI0 )}, with I0 := (− 21 , 21 ). For each active node (I, fI ) from A , we proceed as follows. We first remove (I, fI ) from the list A . Then, we compute the number vI + := var( f , I + ) = var( fI + ,rev ) of sign variations for f on the extended interval I + (notice 1 1 1 that fI + (x) = fI (− 4n + (1 + 2n )x) and fI + ,rev (x) = (1 + x)n fI + ( 1+x )). 12 If vI + = 0, we do nothing, that is, I is discarded. If vI + ≥ 1, we consider the test T [ fI0 ](0, 2) which is equivalent to T [ f 0 ](a, 2w(I)). If it fails, then I is subdivided into I` = (a, m(I)) and Ir = (m(I), b) and we add (I` , fI` ) = (I` , fI ( 2x )) and (Ir , fIr ) = (Ir , fI` (x + 1)) to A . Otherwise, we evaluate the sign s of f (a+ ) · f (b+ ) = fI + (0) · fI + (1). If s < 0 and I + is disjoint from any other interval in O, we add I + to O. If s ≥ 0 or I + intersects an interval in O, we do nothing (i.e. I is discarded). The algorithm stops when A becomes empty. Theorem 9. For the polynomial f as defined in (2.1), the algorithm D CM terminates and returns a list O = {I1 , . . . , Im } of disjoint isolating intervals for all real roots of f . σ Proof. If the width w(I) of an interval I = (a, b) is smaller or equal to 8nf2 , then, according to Theorem 4 and Lemma 8 (c), var( f , I + ) = 0 or T [ fI0 ](0, 2) holds. Thus, I is not further subdivided. This shows termination of D CM. From our construction and Corollary 7, each interval in O is isolating for a real root of f and all intervals in O are pairwise disjoint. It remains to show that, for each real root ξ of f , there exists a corresponding isolating interval in O. Since all roots of f have absolute value bounded by 1/2 and D CM terminates, there must be an interval I = (a, b) of minimal (positive) length whose closure I¯ contains ξ . Since vI + > 0, I cannot be discarded in the first step of D CM. Hence, T [ fI0 ](0, 2) holds and, thus, f is monotone on I + . Since I + contains the root ξ , we have f (a+ ) · f (b+ ) < 0. It follows that either I + is added to the list of isolating intervals or I + intersects an interval J + = (c+ , d + ) ∈ O which has been added to O before. Let J = (c, d) be the corresponding smaller interval for J + . Since the w(I) 4n -neighborhood of I intersects the w(J) 4n -neighborhood of J, the following Lemma 10 shows that one of the disks ∆2w(I) (a) or ∆2w(J) (c) contains both intervals I + and J + . Since both, T [ fI0 ](0, 2) and T [ fJ0 ](0, 2), hold, each of the latter two disks contains at most one root due to Corollary 7. It follows that J + ∈ O already isolates ξ . 2 Lemma 10. 13 Let I = (a, b) and J = (c, d) be two intervals (not necessarily of equal length) of the form − 21 + i2−h , − 12 + (i + 1)2−h , where h ∈ N and i ∈ {0, . . . , 2h − 1}. If the w(I) 2n neighborhood U w(I) (I) of I intersects the 2n w(J) 2n -neighborhood U w(J) (J) of J, then one of the disks 2n ∆2w(I) (a) or ∆2w(J) (c) contains the intervals (a − w(I), b + w(I)) and (c − w(J), d + w(J)). Proof. W.l.o.g., we can assume that w(J) ≥ w(I) and, thus, w(J) = 2l w(I) with an l ∈ N0 . Let δ denote the distance between I and J. If δ = 0, then ∆2w(J) (c) contains (a − w(I), b + w(I)) and (c − w(J), d + w(J)). If δ 6= 0, then δ = 2k w(I) with a k ∈ N0 . Since U w(I) (I) ∩ U w(J) (J) 6= 0, / 2n 2n Remember that the polynomial fI + is obtained from f by mapping all roots of f in I + one-to-one and onto the interval (0, 1). When further mapping the roots one-to-one and onto the positive real axis, we obtain fI + ,rev . 13 Lemma 10 proves a slightly stronger result than necessary for the proof of Theorem 9. The stronger result applies in the proof of Theorem 14 in Section 4.2. 12 14 I a d mI b mJ c J d D 2w(J) (c) Fig. 3.1. Wlog., we can assume that w(J) ≥ w(I). w(I), w(J) and the distance δ between I and J differ by a power of 2. ˜ J˜ ⊂ ∆. For δ = 0, the disk ∆ := ∆2w(J) (c) certainly contains I˜ and J.˜ If δ 6= 0, then w(J) ≥ 2w(I) and w(J) ≥ 4δ , hence I, we must have w(J) 2n > δ2 . In particular, we have w(J) 4 > δ 2 = 2k−1 w(I). Since w(I) and w(J) differ w(J) by a power of 2, it follows that w(J) ≥ 2k+2 w(I) = 4δ and, thus, 2w(J) = w(J) + w(J) 2 + 2 ≥ w(J) + 2w(I) + 2δ . From the latter inequality our claim follows. 2 Theorem 11. For a polynomial f as in (2.1), D CM induces a subdivision tree TD CM of height h(TD CM ) = O(log n − log σ f ) and size |TD CM | = O(Σ f + n log n). Proof. The result on the height of TD CM follows directly from the proof of Theorem 9. Namely, σ we have shown that D CM never subdivides an interval of width less than or equal to 8nf2 . For the bound on |TD CM |, we use a similar argument as in [15] and [25]. Namely, for a root ξ of f and a certain h ∈ N0 we say that I = (− 12 + i2−h , − 12 + (i + 1)2−h ), i = {0, . . . , 2h − 1}, is a canonical interval for ξ if the real part of ξ is contained in [− 21 + i2−h , − 21 + (i + 1)2−h ) and σ (ξ , f ) < 8n2 2−h = 8n2 w(I). We denote Tc the canonical tree which consists of all canonical intervals. We remark that, for a canonical interval I, the parent interval of I is canonical as well. The following considerations will show that |TD CM | = O(|Tc |) and |Tc | = O(Σ f + n log n): For the size of the canonical tree, consider a leaf I ∈ Tc and let ξI be a root of f corresponding to this leaf. If there are several, then ξI is the root with minimal separation. Then, σ (ξI , f ) < 8n2 2−h and, thus, h ≤ 2 log n + 4 − log σ (ξI , f ). Since each root of f is associated with at most one leaf of the canonical tree, we conclude that |Tc | = O(n log n + Σ f ). It remains to show that |TD CM | = O(|Tc |). Consider the following mapping of internal nodes (intervals) of TD CM to canonical nodes (intervals) in Tc : Let I be a non-terminal interval of width w(I) = 2−h . Then, var( f , I + ) > 0 and T [ fI0 ](0, 2) does not hold. According Lemma 8 (c), the disk ∆2w(I) (a) contains a root ξ of f with σ (ξ , f ) < 8n2 w(I) = 8n2 2−h . Hence, one of the four intervals, I1 := (a − 2w(I), a − w(I)), I2 := (a − w(I), a), I3 := I or I4 := (b, b + (b − a)), is canonical for ξ . We map I to the corresponding interval. This defines a mapping from the internal nodes of TD CM to the nodes of the canonical tree Tc . Furthermore, each node in the canonical tree has at most four preimages in TD CM and, thus, the number of internal nodes of TD CM is bounded by O(n log n + Σ f ). Since TD CM is a binary tree, the bound on the number of internal nodes applies to the whole tree as well. 2 15 4. Algorithm We first outline our algorithm RI SOLATE to isolate the roots of f . RI SOLATE decomposes into two subroutines D CMρ and C ERTIFYρ , where ρ indicates the actual working precision. We proceed in rounds: In the first round, we start with a low working precision (e.g. ρ = 16). If our algorithm does not succeed in a certain round, the precision is doubled in the next round. Following this approach, we can eventually guarantee an adaptive behavior of our method, that is, it eventually succeeds for a working precision which is at most twice the size of the actually needed precision. The first subroutine D CMρ is essentially identical to D CM with the main difference that, at each node I = (a, b) of the recursion tree, we only consider approximations f˜I (x) of fI (x) = f (a + w(I) · x) to a certain number ρI of bits after the binary point, where ρ + 2 log w(I) ≤ ρI ≤ ρ. We remark that we process I in a way such that I is not subdivided by D CMρ if it is not subdivided by the the exact counterpart D CM. This ensures that, for any ρ, D CMρ induces a subtree TD CMρ of TD CM and, thus, |TD CMρ | = O(Σ f + n log n) due to Theorem 11. We further show that, for a precision ρ ≥ ρ max = O(Σ f + log n), D CMρ returns isolating intervals for all real roots of f ; see f Theorem 14 for the definition of ρ max and further details. However, for smaller ρ, D CMρ may f return isolating intervals only for some roots but without any information whether all real roots are captured or not. In order to overcome such an undesirable situation, we consider an additional subdivision method C ERTIFYρ similar to D CMρ which aims to certify that all roots are captured. We further show that C ERTIFYρ also induces a recursion tree of size O(Σ f + n log n) and that it succeeds if ρ ≥ ρ max f . 4.1. D CMρ : An Approximate Version of D CM We present our first subroutine D CMρ . Comments to support the approach are in italic and marked by a ”//” at the beginning. D CMρ . Let I0 = (− 21 , 21 ) be the starting interval which, by construction of f , contains all real roots of f . In a first step, we choose a (ρ + n + 1)-binary approximation f˜ of f and evaluate f˜(− 12 + x). Then, the resulting polynomial is approximated by a (ρ + 1)-binary approximation f˜I0 ∈ [ f˜(− 12 + x)]2−ρ−1 and, according to Lemma 1, we have f˜I0 ∈ [ fI0 ]2−ρ . D CMρ maintains a list A of active nodes (I, f˜I , ρI ), where I = (a, b) ⊂ I0 is an interval, f˜I approximates fI to ρI bits after the binary point and ρ + 2 log w(I) ≤ ρI ≤ ρ. D CMρ eventually returns a list O of tuples (J, sJ,` , sJ,r , BJ ), where J = (c, d) is an isolating interval for a root of f , sJ,` = sign( f (c)), sJ,r = sign( f (d)) and 0 < BJ ≤ min(| f (c)|, | f (d)|). We initially start with A := {(I0 , f˜I0 , ρ)} and O := 0. / For each active node, we proceed as follows: (1) Remove (I, f˜I , ρI ) from A . (2) Compute the polynomials n 1 i n ˜ ˜fI + (x) = f˜I − 1 + 1 + 1 · x and h̃(x) = ∑ h̃i x := (1 + x) · fI + . 4n 2n 1+x i=0 (4.1) 16 (3) If h̃i > −2n+2−ρI for all i or h̃i < 2n+2−ρI for all i, do nothing (i.e., I is dicarded). // A simple computation (see the following Lemma 12 (a)) shows that h̃ is an approxi1 ) to ρI − n − 2 bits after the binary point. Thus, if mation of fI + ,rev (x) = (x + 1)n fI + ( 1+x + var( f , I ) = 0, all coefficients h̃i are either smaller than 2n+2−ρI or larger than −2n+2−ρI . Since we want to induce a subtree of the recursion tree TD CM induced by f , we discard I if all coefficients of h̃ are larger than −2n+2−ρI (or smaller than 2n+2−ρI ). (4) If there exist h̃i and h̃ j with h̃i ≤ −2n+2−ρI and h̃ j ≥ 2n+2−ρI , consider the test T [( f˜I )0 ](0, 2), that is, evaluate t[( f˜I )0 ](0, 2) = t[( f˜I )0 , 3/2](0, 2). // Due to Lemma 12 (i), it holds that |t[( fI )0 ](0, 2) − t[( f˜I )0 ](0, 2)| < n2n+1−ρI . Hence, if T [( fI )0 ](0, 2) holds, then t[( f˜I )0 ](0, 2) > −n2n+1−ρI . Thus, we proceed as follows: (a) If t[( f˜I )0 ](0, 2) > −n2n+1−ρI , consider the polynomial fˆI (x) := f˜I (x) + sign(( f˜I )0 (0)) · n · 2n+1−ρI · x, (4.2) // Then, T [( fˆI )0 ](0, 2) holds and, in particular, fˆI is monotone on (−2, 2). evaluate 1 ˆ = f˜I + (0) − 2n−1−ρI λ := fI − 4n 1 + ˆ = f˜I + (1) + (4n + 1)2n−1−ρI λ := fI 1 + 4n 1 1 = f˜I − − 2n+1−ρI , λ := fˆI − n n − (4.3) (4.4) (4.5) and check whether the following conditions are fulfilled: w(I) w(I) ,b+ ) intersects no J for any (J, sJ,` , sJ,r , BJ ) ∈ O, I˜ = (ã, b̃) = (a − 2n 2n λ − · λ + < 0, − + n+3−ρI min(|λ |, |λ |) > 2 n, and deg fˆI +n+7−ρI 2 |λ | > 2 n . (4.6) (4.7) (4.8) (4.9) If any of the conditions (4.6)-(4.9) fails, do nothing. If all conditions are fulfilled, then ˜ sign(λ − ), sign(λ + ), min(|λ − |, |λ + |) − 2n+3−ρI n) to O. add (I, // If (4.7)-(4.9) hold, I˜ is isolating for a root ξ of f (Lemma 12 (c)). Furthermore, since 1 1 )| > |λ − | and | fˆI (1 + 2n )| > |λ + |. Then, fˆI is monotone on (−2, 2), we have | fˆI (− 2n − inequality (4.8) and Lemma 12 (b) yields that sign( f (ã)) = sign(λ ), sign( f (b̃)) = sign(λ + ), and min(| f (ã)|, | f (b̃)|) > min(|λ − |, |λ + |) − 2n+3−ρI n. (b) If t[( f˜I )0 ](0, 2) ≤ −n2n+1−ρI , subdivide I into I` := (a, mI ) and Ir := (mI , b). Compute a ρI -binary approximation f˜I` of f˜I ( 2x ) and a (ρI − 1)-binary approximation f˜Ir of f˜I ( x+1 2 ), and add (I` , f˜Il , ρI − 1) and (Ir , f˜Ir , ρI − 2) to A . If ρI < 2, return “insufficient precision”. 17 U:=U1/n ((0,1)) roots of ^f I g 0 -2 -1/n -1/4n -1 z 1 1+1/4n 1+1/n 2 D 2 (0) 1 1 , 1 + 4n ) of fˆI . Furthermore, ∆2 (0) Fig. 4.1. If λ − · λ + = fˆI (− 4n1 ) · fˆI (1 + 4n1 ) < 0, then there exists a root γ ∈ (− 4n contains no further root of fˆI . A computation shows that | fˆI (z)| > | fI (z) − fˆI (z)| for all z on the boundary of the neighborhood U of (0, 1) if the inequality (4.9) holds. Then, due to Rouché’s Theorem, U isolates a root of fI . 1 n- // Due to Lemma 1, we have f˜Il ∈ [ fIl ]2−ρI −1 and f˜Ir ∈ [ fIr ]2−ρI −2 . Hence, by induction, it follows that ρ + 2 log w(I) ≤ ρI ≤ ρ for all active nodes. D CMρ stops when A becomes empty. It may either return ”insufficient precision” (in Step 4 (b)) or a list O of isolating intervals I˜ for some of the roots of f together with the signs of f and a ˜ lower bound on | f | at the endpoints of I. Lemma 12. Let f be a polynomial as in (2.1), I = (a, b) an interval considered by D CMρ and h̃ the polynomial as defined in (4.1). Then, (a) h̃(x) ∈ [ fI + ,rev ]2n+2−ρI and |t[( fI )0 ](0, 2) − t[( f˜I )0 ](0, 2)| < n · 2n+1−ρI . (b) For an arbitrary value t with |t| ≤ 1 + n1 , it holds that | f (a +t · w(I)) − fˆI (t)| < 2n+3−ρI n, with fˆI as defined in (4.2). In particular, | f (a+ ) − λ − |, | f (a − w(I) ) − λ |, | f (b+ ) − λ + | < 2n+3−ρI n, n with λ − , λ + and λ as defined in (4.3)-(4.5). (c) Suppose that t[( f˜I )0 ](0, 2) > −n2n+1−ρI and the inequalities (4.7)-(4.9) hold. Then, I + contains a real root ξ of f and the w(I) n -neighborhood of I is isolating for ξ . (d) For any tuple (J, sJ,` , sJ,r , BJ ) ∈ O, the endpoints of J are located outside the union of the disks ∆i := ∆ σ (zi , f ) (zi ), where i = 1, . . . , n. 64n3 Proof. Since f˜I ∈ [ fI ]2−ρI , we have f˜I + ∈ [ fI + ]2−ρI +2 due to Lemma 1 (b). Reversing the coefficients and replacing x by x + 1 increases the error by a factor of at most 2n (see Lemma 1 (c)), thus h̃ ∈ [ fI + ,rev ]2−ρI +2+n . For the second part of (a), consider the following simple computation: |t[( fI )0 ](0, 2) − t[( f˜I )0 ](0, 2)| ≤ n−1 3 3 · n · 2−ρI ∑ 2i = · n · 2−ρI (2n − 1) < n2n+1−ρI , 2 2 i=0 where the first inequality uses ( f˜I )0 ∈ [( fI )0 ]n·2−ρI . For (b), we have 18 | f (a + t · w(I)) − fˆI (t)| = | fI (t) − fˆI (t)| ≤ | fI (t) − f˜I (t)| + |t| · 2n+1−ρI n n 1 ≤ 2−ρI ∑ |t|i + 1 + · 2n+1−ρI n n i=0 1 n+1 −ρI ≤ n2 1+ + n2n+2−ρI < n2n+3−ρI . n Now, if the inequalities (4.7) and (4.8) hold, then sign( f (a+ )) = sign(λ − ), sign( f (b+ )) = sign(λ + ) and f (a+ ) · f (b+ ) < 0, hence, f has a real root in I + . We next show that (4.9) implies the uniqueness of this root. From t[( f˜I )0 ](0, 2) > −n2n+1−ρI , it follows that T [( fˆI )0 ](0, 2) succeeds 1 1 ) and λ + = fˆI (1 + 4n ) and, thus, ∆2 (0) contains at most one root of fˆI . Since λ − = fˆI (− 4n 1 1 ˆ have different signs, the interval (− 4n , 1 + 4n ) contains a root γ of fI . We consider the n1 neighborhood U ⊂ C of (0, 1) and an arbitrary point z on its boundary; see Figure 4.1. It holds 5 1 that | − 1n − γ|/|z − γ| < (1 + 4n )/( 4n ) = 4n + 5 < 8n and, for any root γ̃ 6= γ of fˆI , we have 1 | − n1 − γ̃| | − n1 − z| + |z − γ̃| 1 + 2n 1 + 2n ≤ ≤ 1+ = 2 . |z − γ̃| |z − γ̃| 1 − 1n 1 − 1n Hence, it follows that λ fˆI (− n1 ) | − n1 − γ| | − n1 − γ̃| = = ∏ fˆ (z) fˆ (z) |z − γ| |z − γ̃| I I γ̃6=γ: fˆI (γ̃)=0 deg fˆI −1 ˆ 1 1 − deg fI +1 deg fˆI −1 < (4n + 5) · 2 1+ 1− 2n n √ deg fˆI +4 deg fˆI −1 < (4n + 5) · 2 · 2.72 · 2.72 < n2 ˆ and, thus, | fˆI (z)| > |λ | · 2− deg fI −4 n−1 . Since |z| ≤ 1 + 1n , we have | fI (z) − fˆI (z)| < n2n+3−ρI according to (b). Then, from Rouché’s Theorem, it follows that fI has exactly one root within U if (4.9) holds. This shows (c). It remains to prove (d): Let I˜ = (ã, b̃) and I = (a, b) the corresponding smaller interval. From our construction and (c), I + contains a root ξ = zi0 of f and the w(I) n - neighborhood of I is isolating for this root. Thus, |ã − zi | > w(I) 4n for all i. If there exists an i 6= i0 with ã ∈ ∆i , then w(I) < 4n|ã − zi | < σ (zi , f )/(16n2 ). Hence, we obtain 1 σ (zi , f ) · w(I) + |ξ − zi | ≤ |ξ − ã| + |ã − zi | < 1 + n 64n3 1 σ (zi , f ) σ (zi , f ) < 1+ · + < σ (zi , f ), n 16n2 64n3 (ξ , f ) a contradiction. It remains to show that ã ∈ / ∆i0 . If ã ∈ ∆i0 , then w(I) < σ16n 2 . According to Lemma 8 (b), T [( fJ )0 ](0, 2) already holds for a parent node J of I and, thus, t[( f˜J )0 ](0, 2) > −n2n+1−ρJ because of (a). This contradicts the fact that J is not terminal. In completely analogous manner, one shows that b̃ is also not contained in any ∆i . This proves (d). 2 We close this section with a result on the size of the recursion tree induced by D CMρ and the bit complexity of D CMρ : 19 Theorem 13. Let f be a polynomial as in (2.1) and ρ ∈ N an arbitrary positive integer. Then, the recursion tree TD CMρ induced by D CMρ is a subtree of the tree TD CM induced by D CM, thus, |TD CMρ | ≤ |TD CM | = O(Σ f + n log n). Furthermore, D CMρ demands for a number of bit operations bounded by Õ(n(Σ f + n log n)(nΓ + ρ − log σ f )). Proof. For the first claim, we remark that D CMρ never splits an interval I which is not split by D CM when applied to the exact polynomial f . Namely, if I is terminal for D CM, then either t[( fI )0 ](0, 2) > 0 or var( f , I + ) = var( fI + ,rev ) = 0. In the first case, we must have t[( f˜I )0 ](0, 2) > 1 ) are either −n2n+1−ρI whereas, in the second case, all coefficients h̃i of h̃(x) = (1 + x)n · f˜I + ( 1+x n+2−ρ n+2−ρ I I larger than −2 or smaller than 2 ; see Lemma 12 (a). Thus, I is terminal for D CMρ as well. The result on the size of TD CMρ then follows directly from Theorem 11. For the bit complexity, we first consider the cost in each iteration: For an active node (I, f˜I , ρI ) ∈ A , I = (a, b), the polynomial f˜I approximates fI to ρI ≤ ρ bits after the binary point. The absolute value of each coefficient of fI is bounded by 2nΓ because the shift operation x 7→ a+(b−a)·x does not increase the coefficients of f by a factor of more than 2n and the absolute value of the coefficients of f is bounded by 2nΓ ; see Section 2.2. It follows that the bitsize of the coefficients of f˜I is bounded by O(nΓ) + ρ. Hence, the cost for computing h̃(x), f˜I` and f˜Ir (x) is bounded by Õ(n(nΓ + ρ)). Namely, the latter constitutes a bound on the cost for a fast asymptotic Taylor shift by an O(log n)-bit number. The cost for evaluating t[( fI )0 ](0, 2), λ − , λ + and λ matches the same bound because all these computations are evaluations of a polynomial of bitsize O(nΓ + ρ) at an O(log n)-bit number. We further remark that, in each iteration, O contains disjoint isolating intervals J for some of the real roots of f and, thus, |O| ≤ n. Hence, the endpoints of the interval J have to be compared with those of at most n intervals stored in O. Since D CMρ does not produce σ any interval of size less than 8nf2 , these comparisons demand for at most O(n(log n − log σ f )) bit operations. It follows that the total cost at each node is bounded by Õ(n(nΓ + ρ − log σ f )) bit operations. The bound on the total cost then follows from our result on the size of the recursion tree. 2 4.2. Known ρ f and σ f From Lemma 3 (c), we already know that, for ρ ≥ ρ f , each root zi of f moves by at most when passing from f to an arbitrary approximation f˜ ∈ [ f ]2−ρ f ; see Definition 2 for the definition of ρ f . Hence, we expect it to be possible to isolate the roots of f by only considering approximations of f (and the intermediate results fI ) to ρ f bits after the binary point. The following theorem proves a corresponding result. σ (zi , f ) 64n3 Theorem 14. Let f be a polynomial as in (2.1) and ρ ∈ N an integer with ρ ≥ ρ max := ρ f − 3 log σ f + 16n = O(Σ f + n). f Then, D CMρ isolates all real roots of f and BJ > 2−ρ f for all (J, sJ,` , sJ,r , BJ ) ∈ O. Proof. Due to Theorem 11 and 13, the height h(D CMρ ) of TD CMρ is bounded by h(D CMρ ) ≤ log 16n2 = 2 log n + 4 − log σ f ≤ 4n − log σ f . σf 20 (4.10) Then, for any interval I = (a, b) produced by D CMρ , we have ρI ≥ ρ + 2 log w(I) ≥ ρ − 2h(D CMρ ) ≥ ρ min := ρ f + 8n − log σ f > 0. f (4.11) ρ The latter inequality guarantees that D CM does not return “insufficient precision”. Now let I be an interval whose closure I contains a root ξ = zi0 of f . We aim to show the following facts: (1) I is not discarded in Step 3 of D CMρ . (2) If t[( f˜I )0 ](0, 2) > −n2n+1−ρI , then all inequalities (4.7)-(4.9) are fulfilled. w(I) ˜ (3) In the latter case, either I˜ = (a − w(I) 2n , b + 2n ) is added to O or I only intersects intervals J, with a corresponding (J, sJ,` , sJ,r , BJ ) ∈ O, which already isolate ξ . If (1)-(3) hold, then D CMρ outputs isolating intervals for all real roots of f . Namely, D CMρ starts subdividing I0 = (− 21 , 21 ) which contains all real roots of f . Thus, for each root ξ of f , we eventually obtain an interval I such that I contains ξ and t[( f˜I )0 ](0, 2) > −n2n+1−ρI . Then, either I˜ is added to the list of isolating intervals or O already contains an isolating interval for ξ . (ξ , f ) For the proof of (1), we have already shown that w(I) > σ16n 2 . Lemma 3 (c) then ensures 0 + that an arbitrary g ∈ [ f ]2−ρ f has a root ξ ∈ I . Namely, the root ξ ∈ I stays real and moves by w(I) (ξ , f ) at most σ64n 3 < 4n when passing from f to g. Now, suppose that all coefficients h̃i of h̃(x) = 1 (1 + x)n · f˜I + ( 1+x ) are larger than −2n+2−ρI ; see (4.1) for definitions. Since |hi − h̃i | < 2n+2−ρI for all coefficients hi of fI + ,rev = ∑ni=0 hi xi (see Lemma 12 (a)), it follows that hi > −2n+3−ρI for all i. Hence, for the polynomial g(x) := f (x) + 2n+3−ρI ∈ [ f ]2−ρ f , we have gI + ,rev (x) = fI + ,rev (x) + 2n+3−LI (x + 1)n and, thus, gI + ,rev has only positive coefficients. In the case where h̃i < 2n+2−ρI for all i, we consider g(x) := f (x) − 2n+3−ρI ∈ [ f ]2−ρ f and, thus, gI + ,ρ has only negative coefficients. Hence, in both cases, there exists a g ∈ [ f ]2−ρ f which has no root in I + , a contradiction. It follows that I cannot be discarded in Step 3. For (2), suppose that t[( f˜I )0 ](0, 2) > −n2n+1−ρI . Due to Lemma 12 (a), we have t[( fI )0 ](0, 2) > n+2−ρ −n2n+2−ρI , and since log n2 w(I) I ≤ 6 + 3 log n + n − ρI − log σ f < −ρ f , it follows that g(x) := f (x) + x · sign(( fI )0 (0)) · n2n+2−ρI ∈ [ f ]2−ρ f . w(I) Hence, g has a root ξ 0 in I + . Since t[(gI )0 ](0, 2) = t[( fI )0 ](0, 2) + n2n+2−ρI > 0, the disk ∆2w(I) (a) is isolating for ξ 0 . The following argument shows that ∆ 3w(I) (a) isolates ξ : Suppose that ∆ 3w(I) (a) 2 2 contains an additional root z j 6= ξ of f . Then, σ (ξ , f ) < 3w(I) and, thus, ξ and z j would move by at most 3w(I) < w(I) 2 when passing from f to g. It follows that g would have at least two roots 64n3 within ∆2w(I) (a), a contradiction. Now, since ∆ 3w(I) (a) is isolating for ξ ∈ I, we have 2 σ (ξ , f ) < w(I) < 2σ (ξ , f ). 16n2 w(I) + The left inequality implies that the distance of ξ to any of the points a+ = a − w(I) 4n , b = b + 4n and c := a − w(I) n is larger than or equal to root zi 6= ξ and the disk ∆ 3w(I) (a). Then, w(I) 4n > σ (ξ , f ) . 64n3 Let di denote the distance between a 2 σ (zi , f ) |zi − ξ | di + 3w(I) w(I) ≤ ≤ < di + . 64n3 64n3 64n3 4 21 It follows that the points a+ , b+ , c ∈ ∆ 5w(I) (a) are located outside the disk ∆i := ∆ σ (zi , f ) (zi ). In 4 64n3 summary, none of the disks ∆i , i = 1, . . . , n, contains any of the points a+ , b+ and c. Hence, due to Lemma 3 (c), it follows that each of the values | f (c)|, | f (a+ )| and | f (b+ )| is larger than (n + 1)2−ρ f . A simple computation now shows that (n + 1)2−ρ f > 22n+8−ρI n2 . Thus, according to Lemma 12 (b), each of the absolute values |λ |, |λ − | and |λ + | is larger than (n + 1)2−ρ f − 2n+3−ρI n > 22n+8−ρI n2 − 2n+3−ρI n > 22n+7−ρI n2 . I+ (4.12) It follows that the inequalities (4.8) and (4.9) hold. Since is isolating for ξ , and f (b+ ) must have different signs and, thus, the same holds for λ − and λ + . Hence, the inequality (4.7) holds as well. In addition, we have BI˜ = min(|λ − |, |λ + |) − 2n+3−ρI n > 2−ρ f because of (4.12). It remains to show (3): If t[( f˜I )0 ](0, 2) > −n2n+1−ρI , then due to (2) and Lemma 12 (b), the interval ˜ I˜ and the w(I) n -neighborhood of I is isolating for ξ . If I does not intersect any other interval in O, then I˜ is added to O and, thus, D CMρ outputs an isolating interval for ξ . We still have to consider the case where I˜ intersects an interval J from O. From the construction of O, J is the ˜ of an interval J 0 = (c, d). Now, suppose that J is isolating for a root γ 6= ξ . The extension (c̃, d) w(J 0 ) roots ξ and γ move by at most w(I) 4n and 4n , respectively, when passing from f to an arbitrary g ∈ [ f ]2−ρ f (see the proof of (1)). Hence, it follows that the union of (a − w(I), b + w(I)) and (c − w(J 0 ), d + w(J 0 )) contains at least two roots of any g ∈ [ f ]2−ρ f . Due to Lemma 10, one of the disks ∆2w(I) (a) or ∆2w(J 0 ) (c) then also contains at least two roots of g contradicting the fact that n+2−ρI t[(pI )0 ](0, 2) > 0 for p(x) := f (x) + x · sign(( fI )0 (0)) · n2 w(I) f (a+ ) ∈ [ f ]2−ρ f and t[(qJ 0 )0 ](0, 2) > 0 n+2−ρ 0 for q(x) := f (x) + x · sign(( fI )0 (0)) · n2 w(J 0 ) J ∈ [ f ]2−ρ f . It follows that J already isolates ξ . 2 4.3. Unknown ρ f and σ f For unknown ρ f and σ f , we proceed as follows: We start with an initial precision ρ (e.g. ρ = 16) and run D CMρ . If D CMρ returns ”insufficient precision”, we double ρ and start over. Otherwise, D CMρ returns a list O = {(Jk , sk,` , sk,r , Bk )}k=1,...,m , where each interval Jk = (ck , dk ) isolates a real root of f , sk,` = sign f (ck ), sk,r = sign f (dk ) and 0 < Bk < min(| f (ck )|, | f (dk )|). As already mentioned, there is no guarantee that all roots of f are captured. Hence, in a second step, we use the subsequently described method C ERTIFYρ to check whether the region of uncertainty m [ 1 1 Jk R := − , \ 2 2 k=1 contains a root of f . If we can guarantee that f (x) 6= 0 for all x ∈ R, we return the list L = {Jk }k=1,...,m of isolating intervals. Otherwise, we double ρ and start over the entire algorithm. We have already proven in Theorem 14 that D CMρ isolates all real roots of f if ρ ≥ ρ max (i.e., ρ fulf fills the inequality (4.10)). The following considerations will show that, for ρ ≥ ρ max , C ERTIFYρ f succeeds as well. How can we guarantee that f does not vanish on R? The crucial idea is to consider a decomposition of [− 12 , 21 ] into subintervals I and corresponding µI -approximations g of fI such that g is monotone on [0, 1] or T [g](0, 1) holds. Namely, for such an interval I, we can easily estimate the image g([0, 1]) and, thus, conclude that f either contains no root in I ∩ R or that ρ < ρ max f because g(t) and fI (t) differ by at most (n + 1)µI for all t ∈ [0, 1]. More precisely, we have: 22 >+B1 c1 J d1 1 -1/2 >+B1 <-B1 a c1 d1 l( a ) l(c1) l(d1) I -1/2 <-B2 >+B 2 <-B1 a L1 c1 d1 c2 >+B m <-Bm d J2 2 cm d Jm m 1/2 <-B2 c2 b l(c2) L2 c2 Fig. 4.2. D CMρ returns a list O = {Jk , sk,` , sk,r , Bk }k , where Jk is isolating for a real root of f , sk,` = sign f (ck ), sk,r = sign f (dk ) and min(| f (ck )|, | f (dk )|) > Bk > 0. The intervals in between define the region of uncertainty R. In C ERTIFYρ , we subdivide (−1/2, 1/2) into intervals I such that, for a µ-approximation g of fI , either T [g](0, 1) holds or g is monotone on (0, 1). If T [g](0, 1) holds and |g(0)| > 8mµ, then I contains no root of f ; see Lemma 15 (a). If g is monotone on (0, 1), we consider all intervals Li in the intersection of I with R and check whether the conditions in Lemma 15 (b) are fulfilled. If they are fulfilled, then f has no root in Li ; otherwise, we must have ρ < ρ max f . Lemma 15. Let I = (a, b) be an interval and g(x) a µ-binary approximation of fI with − log µ ≥ ρ − 2(4n − log σ f ). (4.13) (a) Suppose that T [g](0, 1) holds and I is not entirely contained in one of the Jk . If |g(0)| > 8nµ, (4.14) then I¯ contains no root of f . Otherwise, ρ < ρ max f . S ¯ (b) Suppose that g is monotone on [0, 1] and let I ∩ R = si=1 Li be the intersection of I¯ and R. For each endpoint q of an arbitrary Li , we define sk,` · Bk , if q ∈ / {a, b} and q is the left endpoint of an interval Jk s · B , if q ∈ / {a, b} and q is the right endpoint of an interval Jk k,r k (4.15) λ (q) := g(0), if q = a g(1), if q = b. If, for all Li = [q` , qr ], min(|λ (q` )|, |λ (qr )|) > 4nµ and λ (ql ) · λ (qr ) > 0, then I¯ ∩ R contains no root of f . Otherwise, we have ρ < ρ max f . Proof. If T [g](0, 1) holds, then 31 |g(0)| < |g(t)| < 53 |g(0)| for all t ∈ [0, 1] according to Lemma 6. Suppose that g(0) > 8nµ, then it follows that 1 8 | fI (t)| ≥ |g(t)| − |g(t) − fI (t)| > |g(0)| − |g(t) − fI (t)| > nµ − (n + 1)µ > 0, 3 3 ¯ hence, f has no root in I. Now suppose that |g(0)| ≤ 8nµ. Since I is not contained in any Jk , there exists a t ∈ [0, 1] with x = a + t(b − a) ∈ R and | f (x)| = | fI (t)| ≤ |g(t)| + (n + 1)µ ≤ 5 max 16nµ. If ρ ≥ ρ max f , then from (4.13) and the definition of ρ f , it follows 3 |g(0)| + (n + 1)µ < that − log µ ≥ ρ min = ρ f + 8n − log σ f ; see the computation in (4.11). Hence, we have | f (x)| < f −ρ f 2 . In addition, Lemma 12 (d) and Theorem 14 guarantee that D CMρ returns isolating intervals for all real roots of f , and each point in R has distance ≥ σ (zi , f )/(64n3 ) from each root zi . Thus, | f (x)| > (n + 1)2−ρ f due to Lemma 3 (c), a contradiction. This proves (a). 23 For (b), we consider an arbitrary interval Li = [q` , qr ]. Let t` and tr be corresponding values in [0, 1] with ql = a + t` · w(I) and qr = a + tr · w(I). If min(|λ (q` )|, |λ (qr )|) > 4nµ, then min(|g(t` )|, |g(tr )|) ≥ min(|λ (q` )|, |λ (qr )|) − (n + 1)µ > 2nµ. Namely, for q` = a, we obviously have |g(t` )| = |λ (q` )|; otherwise, |g(t` )| ≥ | fI (t` )|−(n+1)µ ≥ |λ (q` )| − (n + 1)µ. For qr , an analogous argument applies. If, in addition, λ (q` ) · λ (qr ) > 0, then g(t` ) · g(tr ) > 0 as well because λ (q` ) and λ (qr ) have the same sign as g(t` ) and g(tr ), respectively. Since we assumed that g is monotone on [0, 1], it follows that |g(t)| > 2nµ for all t ∈ [t` ,tr ]. This shows that | fI (t)| ≥ |g(t)| − (n + 1)µ > 0 for all t ∈ [t` ,tr ], thus the first part of −ρ f (b) follows. For the second part, suppose that ρ ≥ ρ max > 4nµ for all k and f . Then, Bk > 2 −ρ f | f (x)| > 2 (n + 1) for all x ∈ R according to Lemma 3 (c) and Theorem 14. Thus, if a ∈ R, we have |g(0)| ≥ | fI (0)| − (n + 1)µ = | f (a)| − (n + 1)µ > 2−ρ f · (n + 1) − (n + 1)µ > 4nµ. An analogous argument applies to b. It follows that |λ (q)| > 4nµ for all endpoints q of an arbitrary interval Li = [q` , qr ]. It remains to show that λ (q` ) · λ (qr ) > 0. We have already shown that |λ (q)| > 4nµ for each endpoint q, thus, f (q) must have the same sign as λ (q). Namely, if q ∈ {a, b}, then f (q) differs from λ (q) > 4nµ by at most (n + 1)µ < 4nµ, and, for q ∈ / {a, b}, we have sign(λ (q)) = sk,` or sign(λ (q)) = sk,r depending on whether q is the left or the right endpoint of an interval Jk . Since ρ ≥ ρ max f , R contains no root of f , thus, we must have λ (q` ) · λ (qr ) = f (q` ) · f (qr ) > 0. 2 We can now formulate the subroutine C ERTIFYρ (see Algorithm 3 in the Appendix for pseudocode). C ERTIFYρ is similar to D CMρ in the sense that we recursively subdivide I0 = (− 21 , 12 ) into intervals I and consider corresponding ρI -binary approximations f˜I of fI . Then, in each iteration, we aim to apply Lemma 15 in order to certify that I¯ ∩ R contains no root of f or ρ < ρ max f . Throughout the following consideration, we assume that σf C ERTIFYρ never produces an interval I of width w(I) ≤ 2 . (4.16) 8n We will prove this fact in Theorem 16 (b). Again, we mark comments which should help to follow the approach by an ”//” at the beginning. C ERTIFYρ . In a first step, we choose a (ρ + n + 1)-binary approximation f˜ of f and evaluate f˜(− 12 + x). Then, the resulting polynomial is approximated by a (ρ + 1)-binary approximation f˜I0 ∈ [ f˜(− 12 + x)]2−ρ−1 , thus, f˜I0 ∈ [ fI0 ]2−ρ according to Lemma 1. C ERTIFYρ maintains a list A of active nodes (I, f˜I , ρI ), where I = (a, b) ⊂ I0 is an interval, ˜fI approximates fI to ρI bits after the binary point and ρ + 2 log w(I) ≤ ρI ≤ ρ. We initially start with A := {(I0 , f˜I0 , ρ)}. For each active node, we proceed as follows: (1) Remove (I, f˜I , ρI ) from A . (2) If I ∩ R = 0, / do nothing (i.e., discard I). Otherwise, compute t[ f˜I ](0, 1). // If I ∩ R = 0, / I is contained in one of the intervals Jk , and thus we can discard I. 24 (3) If t[ f˜I ](0, 1) > −2−ρI +2 n, check whether | f˜I (0) + sign( f˜I (0)) · 2−ρI +2 n| > 2−ρI +6 n2 . (4.17) If (4.17) holds, do nothing (i.e., discard I); otherwise, return ”insufficient precision”. // For g(x) := f˜I (x) + sign( f˜I (0)) · 2−ρI +2 n ∈ [ fI ]2−ρI +3 n , the predicate T [g](0, 1) holds. From our assumption on w(I), we further have ρI − 3 − log n ≥ ρ + 2 log w(I) − 3 − log n ≥ ρ − 2(3 + 2 log n − log σ f ) − 3 − log n ≥ ρ − 2 log σ f − 8n, and thus 2−ρI +3 n ≤ 2−ρ−2(4n−log σ f ) . It follows that g fulfills the condition (4.13) from Lemma 15 and, therefore, I¯ contains no root of f if (4.17) holds; otherwise, ρ < ρ max f . 1 ) and consider (4) If t[ f˜I ](0, 1) ≤ −2−ρI +2 n, compute h̃(x) = ∑ni=0 h̃i xi := (1 + x)n · ( f˜I )0 ( 1+x the following distinct cases: (a) If h̃i > −n2n−ρI for all i (or h̃i < n2n−ρI for all i), consider g(x) := f˜I (x) + n2n−ρI · x ∈ [ fI ]n2n+1−ρI (g(x) := f˜I (x) − n2n−ρI · x, respectively). Then, for each interval Li = [q` , qr ], determine λ (q` ) and λ (qr ) as defined in (4.15). If min(|λ (q` )|, |λ (qr )|) > n2n+3−ρI and λ (q` ) · λ (qr ) > 0 for all Li , discard I; otherwise, return ”insufficient precision”. // Suppose h̃i > −n2n−ρI for all i and define g(x) := f˜I (x)+n2n−ρI x. Then, the polynomial 1 1 (1 + x)n · (g)0 ( 1+x ) = (1 + x)n · ( f˜I )0 ( 1+x ) + n2n−ρI (1 + x)n has only positive coefficients. 0 It follows that var(g , (0, 1)) = 0 and, therefore, g is monotone on [0, 1]. In addition, from our assumption on w(I), we have n2n+1−ρI ≤ 2−ρ−2(4n−log σ f )+1 (see the computation above). Hence, we can apply Lemma 15 (b) to g: That is, I¯ ∩ R contains no root of f if min(|λ (q` )|, |λ (qr )|) > n2n+3−ρI and λ (q` ) · λ (qr ) > 0 for all Li = [ql , qr ]. If one of n−ρI for all i is the latter two inequalities does not hold, then ρ < ρ max f . The case h̃i < n2 treated in exactly the same manner. (b) If there exist h̃i and h̃ j with h̃i ≤ −n2n−ρI and h̃ j ≥ n2n−ρI , then I is subdivided into I` := (a, mI ) and Ir := (mI , b). We add (I` , f˜I` , ρI − 1) and (Ir , f˜Ir , ρI − 2) to A , where f˜I` is an ρI -binary approximation of f˜I ( 2x ) and f˜Ir an (ρI − 1)-binary approximation of ρ f˜I ( x+1 2 ); see Step 4 (b) of D CM for details. If ρI < 2, return ”insufficient precision”. // Due to Lemma 1, f˜Il ∈ [ fIl ]2−ρI −1 and f˜Ir ∈ [ fIr ]2−ρI −2 . Hence, by induction, it follows that ρ + 2 log w(I) ≤ ρI ≤ ρ for all active nodes. C ERTIFYρ stops when A becomes empty. If C ERTIFYρ returns ”insufficient precision”, we know for sure that σ < σ max . Otherwise, the region of uncertainty R contains no root of f . f The following theorem proves that our assumption (4.16) for the intervals produced by C ERTIFYρ is correct. Furthermore, we show that C ERTIFYρ is also efficient with respect to bit complexity matching the worst case bound obtained for D CMρ ; see Theorem 13. 25 Theorem 16. For a polynomial f as defined in (2.1) and an arbitrary ρ ∈ N, (a) C ERTIFYρ does not produce an interval I of width w(I) ≤ σ f /(8n2 ) and it induces a recursion tree of size O(Σ f + n log n). (b) C ERTIFYρ needs no more than Õ(n(Σ f + n log n)(nΓ + ρ − log σ f )) bit operations. ρ (c) For ρ ≥ ρ max f , C ERTIFY succeeds. Proof. An interval I is only subdivided if t[ f˜I ](0, 1) ≤ −2−ρI +2 n (Step (3)) and if there exist 1 coefficients h̃i and h̃ j of h̃(x) = ∑ni=0 h̃i xi = (1 + x)n · ( f˜I )0 ( 1+x ) with h̃i < −n2n−ρI and h̃ j > n−ρ I n2 (Step 4 (b)). In the first case, we must have t[ fI ](0, 1) < 0 since |t[ fI ](0, 1) − t[ f˜I ](0, 1)| < −ρ +2 2 I n. Hence, T [ fI ](0, 1) does not hold. For the second case, we have var(( fI )0 , (0, 1)) 6= 0 1 1 ) and (1 + x)n · ( fI )0 ( 1+x ) differ by since corresponding coefficients of h̃(x) = (1 + x)n · ( f˜I )0 ( 1+x n−ρ 0 0 0 I at most n2 , and thus var( f , I) = var(( f )I , (0, 1)) = var(( fI ) , (0, 1)) 6= 0. Hence, the first part of (a) follows from Lemma 8 (d). This proves that our assumption (4.16) is always fulfilled, and thus Lemma 15 applies in Step 3 and Step 4 (a) of C ERTIFYρ . It follows that the algorithm f only fails (i.e. it returns ”insufficient precision”) if ρ < ρmax . For the second part of (a), we remark that, due to the above argument, an interval I is terminal if the disk ∆2nw(I) (m(I)) does not contain a root ξ of f with σ (ξ , f ) < 4n2 w(I). In [35, Section 4.2], it has been shown that the recursion tree T ( f 0 ) induced by the latter property 14 has size O(Σ f + n log n). Hence, the same holds for the recursion tree induced by C ERTIFYρ which is a subtree of T ( f 0 ). Finally, (c) follows in completely analogous manner as the result on the bit complexity for D CMρ as shown in the proof of Theorem 13. 2 Eventually, we present our overall root isolation method RI SOLATE. It applies to a polynomial F as given in (1.4) and returns isolating intervals for all real roots of F. RI SOLATE: Choose a starting precision ρ ∈ N (e.g., ρ = 16) and run D CMρ on the polynomial f as defined in (2.1). If D CMρ returns “insufficient precision”, we double ρ and start over again. Otherwise, D CMρ returns a list O = {(Jk , sk,` , sk,r , Bk )}k=1,...,m with isolating intervals Jk for some of the real roots of f . If C ERTIFYρ returns “insufficient precision”, we double ρ and start over the algorithm. If C ERTIFYρ succeeds, the intervals Jk = (ck , dk ) isolate all real roots of f . Hence, we return the intervals (2Γ ck , 2Γ dk ), k = 1, . . . , m, which isolate the real roots of F. The following theorem summarizes our results: Theorem 17. Let F be a polynomial as given in (1.4). Then, RI SOLATE determines isolating intervals J1 , . . . , Jm for all real roots of F and, for each interval J ∈ {J1 , . . . , Jm } containing a root ξ of F, it holds that σ (ξ , F) < w(J) < 2nσ (ξ , F). 16n2 In [35, Section 4.2], T ( f 0 ) is defined as subdivision tree obtained by recursive bisection of the interval (− 14 , 14 ) in accordance with the following rule: At depth h ∈ N0 , an interval I = (− 41 + i2−h−1 , − 14 + (i + 1)2−h−1 ) is subdivided if and only if var( f 0 , I) 6= 0 and ∆28 n5 w(I) (m(I)) contains a root ξ of f with separation σ (ξ , f ) < 27 n5 w(I). For the given 14 situation, we can alternatively define T ( f 0 ) as the (even smaller) tree obtained by recursive bisection of (− 12 , 21 ), where an interval I is subdivided if var(I, f 0 ) 6= 0 and ∆2nw(I) (m(I)) contains a root ξ of f with σ (ξ , f ) < 4n2 w(I). 26 RI SOLATE demands for coefficient approximations of F to Õ(ΣF + nΓF ) bits after the binary point and the total cost is bounded by Õ(n(ΣF + nΓF )2 ) = Õ(n(ΣF + nτ)2 ) bit operations. For F ∈ Z[x] a polynomial with integer coefficients of bitsize τ, RI SOLATE computes isolating intervals with Õ(n3 τ 2 ) bit operations. Proof. It remains to prove the complexity bounds and the claim on the width of the isolating intervals. According to Appendix 6.1, the computation of an approximate logarithmic root bound Γ ∈ N as defined in Section 2.2 needs Õ(n2 ΓF ) bit operations. For a fixed precision ρ, the total cost for running D CMρ and C ERTIFYρ is bounded by Õ(n(Σ f + n log n)(nΓ + ρ − log σ f )) = Õ(n(ΣF + nΓ)(nΓ + ρ − log σF )) bit operations; see Theorem 13 and Theorem 16. Since we double ρ in each step and succeed max = O(Σ + n) = O(Σ + nΓ) and we need at most for ρ ≥ ρ max F f f , ρ is always bounded by 2ρ f a logarithmic number of rounds. Hence, it follows that (up to logarithmic factors) the total cost is dominated by the cost for the last run which is Õ(n(ΣF + nΓ)2 ). Furthermore, we have to approximate the coefficients of f to O(Σ f + n) = O(ΣF + nΓ) bits after the binary point. Hence, the coefficients of F have to be approximated to O(ΣF + nΓ) bits after the binary point; see Section 2.3 for more details. From our construction of f and Γ, it holds that Γ < 8 log n + 1 + ΓF . Hence, we can replace Γ by ΓF in the above complexity bounds. For the special case where F = An · xn + · · · + A0 is a polynomial with integer coefficients of bit size τ, we first divide F by its leading coefficient to meet the requirements in (1.4). Then, the bound on the bit complexity follows from the above general bound (applied to F(x)/An ) and the fact that ΣF = Õ(nτ); see Appendix 6.2. The estimate on the size of the isolating intervals is due to the following consideration: An inξ terval I which contains the root z = 2Γ+1 of f is not subdivided by D CMρ if w(I) ≤ σ (z, f )/(8n2 ). Hence, any interval Jk which is returned by D CMρ as an isolating interval for z is the exw(I) 2 tension I˜ = (a − w(I) 2n , b + 2n ) of an interval I = (a, b) with w(I) > σ (z, f )/(16n ), and thus w(J) = 2Γ+1 w(I) > σ (ξ , F)/(16n2 ). From our construction, the w(I) n -neighborhood of I isolates z as well. This shows that w(J) = 2Γ+1 w(I) < 4Γnσ (zi , f ) = 2nσ (ξ , F). 2 4.4. Some Remarks 4.4.1. On the Complexity Analysis for Integer Polynomials We remark that, in order to achieve the complexity bound Õ(n3 τ 2 ) for integer polynomials, the subroutine C ERTIFYρ and its analysis is actually not needed. Namely, due to our considerations in Appendix 6.2, we can compute explicit upper bounds for Σ f (in terms of n and τ) and, thus, also an explicit upper bound ρ ∗ (n, τ) for ρ max which matches ρ max at least with respect to worst f f ρ ∗ (n,τ) case complexity. Then, Theorem 14 guarantees that D CM computes isolating intervals for all real roots of f . Unfortunately, this approach cannot be considered practical at all because such upper bounds usually tend to be much larger than the actual ρ max f . We would like to emphasize on the fact that our algorithm is output sensitive in the way that it demands for a precision which is not much larger than ρ f . At this point, we even conjecture that, for any bisection method, the bound on the bit complexity as achieved by our algorithm is optimal (up to log-factors). We are not aware of any lower 27 bounds for the bit complexity of root isolation algorithms, and we can also not provide a rigorous proof for the optimality of our bound. However, the intuition behind our claim is that, for a Mignotte polynomial F, the bounds on the precision demand and the size of the recursion tree seem to be optimal. Namely, any bisection algorithm needs Θ(nτ) steps to separate two roots of F with pairwise distance 2−Θ(nτ) . In addition, if we perturb the coefficients of F by more than 2−Θ(nτ) , the two ordinary roots can move by more than their initial separations, hence it seems that a precision of size Θ(nτ) is needed to isolate these roots from each other. We finally remark that, in practice, it may be advantageous to start with the exact representation of the rational polynomial F/An and not with an (artificial) approximation to a certain number ρ of bits. In this case, we propose to use the classical Descartes method with exact arithmetic for the first iterations, and only if the exact representation of the polynomials constructed during the subdivision process exceeds the given working precision ρ, we switch to our modified Descartes method, where approximations are considered. However, as already argued above, we do not expect that this approach yields any improvement with respect to worst case bit complexity. 4.4.2. On Efficient Implementation We formulated our algorithm in a way to make it accessible to the complexity analysis but still feasible and efficient for an implementation. Nevertheless, we recommend to consider a slight modification of our algorithm when actually implementing it. For our certification step C ERTIFYρ , the most obvious modification is to only subdivide the region R instead of the entire interval (− 21 , 12 ). More precisely, R decomposes into intervals L j ”in between” the isolating intervals Jk . Then, we approximate the polynomials fL j to ρ bits after the binary point and recursively proceed each L j in a similar way as proposed in C ERTIFYρ . An experimental implementation of our algorithm in M APLE has shown that, following this approach, the running time for the certification step is almost negligible, whereas, for the original formulation, it is approximately of the same magnitude as the running time for D CMρ . Furthermore, we propose to also use the inclusion predicate based on Descartes’ Rule of Signs. With respect to complexity, our inclusion predicate based on the T 0 [3/2](·)-test (see Corollary 7) is comparable to Descartes’ Rule of Signs, where we check whether f has exactly one sign variation for a certain interval. However, in practice, this subtle difference is crucial because already log n bisection steps more for each root may render an algorithm inefficient. As an alternative, for an interval I, we propose to check whether there exists a ”good” approximation g of fI with var(g, (0, 1)) = 1. 15 Namely, if there exists such a g, we can proceed with f˜I := g which has exactly one root in I. Thus, it is easy to refine I (via simple bisection or quadratic interval refinement) such that T [g0 ](0, 2) holds as well. We finally report on an interesting behavior of the proposed method. It is easy to see that, for small intervals I = (a, b), the leading coefficients of fI (x) = f (a + w(I) · x) are considerably smaller than the first-order coefficients. Since we only consider a certain number ρI ≤ ρ of bits after the binary point, the approximations f˜I can be chosen of a considerably lower degree than fI . As a consequence, the cost at such an interval is considerably reduced because we have to 1 1 compute the polynomial f˜I + = f˜I ( 4n + (1 + 2n ) · x) which is expensive for large degrees. In + Since f˜I approximates fI to ρI bits after the binary point, we can derive an interval approximation [ fI,rev ] := [a− 0 , a0 ] + − + n · · · [an , an ]·x of fI,rev to ρI −n bits after the binary point. We can then easily check whether there exists a polynomial h ∈ [ fI,rev ] with var(h) = 1, and transform h back to g(x) = (x−1)n ·h(1/(x−1)). The so-obtained polynomial g approximates fI to at least ρI − 2(n + 1) bits after the binary point and var(g, [0, 1]) = 1. Notice that, following this approach, the precision ρI has to be updated accordingly. 15 28 particular, for a polynomial with two very nearby roots (such as Mignotte polynomials), this behavior can be clearly observed. More precisely, when refining an interval I that contains two nearby roots, the degree of f˜I decreases in each bisection step and eventually equals 2 for I small enough. We consider this behavior as quite natural because fI implicitly captures the information on the location of the roots in a neighborhood of I, whereas the influence of all other roots becomes almost negligible. 5. Conclusion We presented a novel deterministic algorithm to isolate the real roots of a square-free polynomial F with arbitrary real coefficients. Our analysis shows that the hardness of isolating the real roots exclusively depends on the location of the roots and not on the coefficient type of F. Furthermore, the overall running time is significantly reduced by considering approximations at each node of the recursion tree. In particular, for integer polynomials, we achieve an improvement with respect to worst case bit complexity by a factor n = deg F compared to other practical methods such as the Descartes method, the continued fraction method, or the Sturm method. The improvement stems from the fact that exact arithmetic produces too much information for the task of root isolation and, thus, a significant overhead of computation. Hence, for the main part, we consider our result to be the missing theoretical proof of a fact that has already been observed in practice, namely, that using approximate but certified arithmetic instead of exact arithmetic yields a significant improvement. We are confident that this result does not only hold for the Descartes method but also for a majority of the known real roots solvers and encourage other researchers to develop corresponding approximate variants. Very recent work [37] shows how to combine the Descartes method with Newton iteration to improve upon the linear convergence of the original Descartes method. The algorithm N EW D SC from [37] can only be used to isolate the real roots of an integer polynomial F, and it achieves a worst case bit complexity of Õ(n3 τ). Hence, the major remaining research question is whether combining the two approaches, that is, using approximate arithmetic as proposed in this paper and using Newton iteration as proposed in [37], yields a practical algorithm that achieves record complexity bounds comparable to the bounds achieved by Pan’s method. 29 References [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] A. G. Akritas. There is no ”Descartes’ method”. In Computer Algebra in Education, pages 19–35, 2008. A. G. Akritas and A. Strzeboński. A comparative study of two real root isolation methods. Nonlinear Analysis:Modelling and Control, 10(4):297–304, 2005. A. Alesina and M. Galuzzi. A new proof of Vicent’s theorem. L’Enseignement Mathematique, 44:219–256, 1998. A. Alesina and M. Galuzzi. Addendum to the paper ”A new proof of Vicent’s theorem”. L’Enseignement Mathematique, 45:379–380, 1999. A. Alesina and M. Galuzzi. Vincent’s theorem from a modern point of view. Categorical Studies in Italy 2000, Rendiconti del Circolo Matematico di Palermo, Serie II, 64:179–191, 2000. S. Basu, R. Pollack, and M.-F. Roy. Algorithms in Real and Algebraic Geometry. Springer, 2nd edition, 2006. E. Berberich, P. Emeliyanenko, and M. Sagraloff. An elimination method for solving bivariate polynomial systems: Eliminating the usual drawbacks. In ALENEX: Algorithm Engineering and Experiments, pages 35–47, 2011. D. Bini and G. Fiorentino. Design, analysis and implementation of a multiprecision polynomial rootfinder. Numerical Algorithms, 23:127–173, 2000. M. Burr and F. Krahmer. SqFreeEVAL: An (almost) optimal real-root isolation algorithm. Journal of Symbolic Computation, 47(2):153–166, 2012. G. E. Collins and A. G. Akritas. Polynomial real root isolation using descarte’s rule of signs. In SYMSAC: Symposium on Symbolic and Algebraic Computation, pages 272–275, 1976. Z. Du, V. Sharma, and C. Yap. Amortized bounds for root isolation via Sturm sequences. In SNC: Symbolic and Numeric Computation, pages 113–130. 2007. A. Eigenwillig. On multiple roots in Descartes’ rule and their distance to roots of higher derivatives. Journal of Computational and Applied Mathematics, 200(1):226–230, 2007. A. Eigenwillig. Real Root Isolation for Exact and Approximate Polynomials using Descartes’ Rule of Signs. PhD thesis, Universität des Saarlandes, May 2008. A. Eigenwillig, L. Kettner, W. Krandick, K. Mehlhorn, S. Schmitt, and N. Wolpert. An exact descartes algorithm with approximate coefficients. In CASC: Computer Algebra in Scientific Computing, pages 138–149, 2005. A. Eigenwillig, V. Sharma, and C. K. Yap. Almost tight recursion tree bounds for the descartes method. In ISSAC: International Symposium on Symbolic and Algebraic Computation, pages 71–78, 2006. J. Gerhard. Modular algorithms in symbolic summation and symbolic integration. LNCS, Springer, 3218, 2004. X. Gourdon. Combinatoire, Algorithmique et Géométrie des Polynômes. Thèse, École polytechnique, 1996. M. Hemmer, E. P. Tsigaridas, Z. Zafeirakopoulos, I. Z. Emiris, M. I. Karavelas, and B. Mourrain. Experimental evaluation and cross-benchmarking of univariate real solvers. In SNC: Symbolic Numeric Computation, pages 45–54, 2009. J. R. Johnson and W. Krandick. Polynomial real root isolation using approximate arithmetic. In ISSAC: International Symposium on Symbolic and Algebraic Computation, pages 225–232, 1997. 30 [20] M. Kerber and M. Sagraloff. Efficient real root approximation. In ISSAC: International Symposium on Symbolic and Algebraic Computation, pages 209–216, 2011. [21] M. Kerber and M. Sagraloff. A worst-case bound for topology computation of algebraic curves. Journal of Symbolic Computation, 47(3):239–258, 2012. [22] W. Krandick and K. Mehlhorn. New bounds for the Descartes method. Journal of Symbolic Computation, 41(1):49–66, 2006. [23] J. McNamee and V. Pan. Numerical Methods for Roots of Polynomials -. Number 2 in Studies in Computational Mathematics. Elsevier Science, 2013. [24] K. Mehlhorn and S. Ray. Faster algorithms for computing Hong’s bound on absolute positiveness. Journal of Symbolic Computation, 45(6):677–683, 2010. [25] K. Mehlhorn and M. Sagraloff. A deterministic algorithm for isolating real roots of a real polynomial. Journal of Symbolic Computation, 46(1):70–90, 2011. [26] K. Mehlhorn, M. Sagraloff, and P. Wang. From approximate factorization to root isolation. In ISSAC: International Symposium on Symbolic and Algebraic Computation, pages 283– 290, 2013. [27] B. Mourrain, F. Rouillier, and M.-F. Roy. Bernsteins basis and real root isolation. Combinatorial and Computational Geometry, 52:459–478, 2005. [28] N. Obreschkoff. Über die Wurzeln von algebraischen Gleichungen. Jahresbericht der Deutschen Mathematiker-Vereinigung, 33:52–64, 1925. [29] N. Obreschkoff. Verteilung und Berechnung der Nullstellen reeller Polynome. VEB Deutscher Verlag der Wissenschaften, 1963. [30] N. Obreschkoff. Zeros of Polynomials. Marina Drinov, Sofia, 2003. Translation of the Bulgarian original. [31] A. M. Ostrowski. Note on Vincent’s theorem. Annals of Mathematics, Second Series, 52(3):702–707, 1950. Reprinted in: Alexander Ostrowski, Collected Mathematical Papers, vol. 1, Birkhäuser Verlag, 1983, pp. 728–733. [32] V. Y. Pan. Solving a polynomial equation: some history and recent progress. SIAM Review, 39(2):187–220, 1997. [33] V. Y. Pan. Univariate polynomials: Nearly optimal algorithms for numerical factorization and root-finding. Journal of Symbolic Computation, 33(5):701–733, 2002. [34] F. Roullier and P. Zimmermann. Efficient isolation of a polynomial’s real roots. Journal of Computational and Applied Mathematics, pages 33–50, 2004. [35] M. Sagraloff. A general approach to isolating roots of a bitstream polynomial. Mathematics in Computer Science, 4(4):481–506, 2010. [36] M. Sagraloff. On the complexity of real root isolation. CoRR, abs/1011.0344, 2010. [37] M. Sagraloff. When Newton meets Descartes: a simple and fast algorithm to isolate the real roots of a polynomial. In ISSAC: International Symposium on Symbolic and Algebraic Computation, pages 297–304, 2012. [38] M. Sagraloff and C.-K. Yap. A simple but exact and efficient algorithm for complex root isolation. In ISSAC: International Symposium on Symbolic and Algebraic Computation, pages 353–360, 2011. [39] A. Schönhage. The fundamental theorem of algebra in terms of computational complexity, 1982. Manuscript, Department of Mathematics, University of Tübingen. Updated 2004. [40] A. Schönhage. Quasi-GCD computations. Journal of Complexity, 1(1):118–137, 1985. [41] V. Sharma. Complexity of real root isolation using continued fractions. Theoretical Computer Science, 409(2):292–310, 2008. 31 [42] A. W. Strzebonski and E. P. Tsigaridas. Univariate real root isolation in an extension field. In ISSAC: International Symposium on Symbolic and Algebraic Computation, pages 321– 328, 2011. [43] A. W. Strzebonski and E. P. Tsigaridas. Univariate real root isolation in multiple extension fields. In ISSAC: International Symposium on Symbolic and Algebraic Computation, pages 343–350, 2012. [44] E. Tsigaridas and I. Emiris. On the complexity of real root isolation using continued fractions. Theoretical Computer Science, pages 158–173, 2008. [45] J. von zur Gathen and J. Gerhard. Fast algorithms for Taylor shifts and certain difference equations. In ISSAC: International Symposium on Symbolic and Algebraic Computation, pages 40–47, New York, NY, USA, 1997. ACM. [46] J.-C. Yakoubsohn. Numerical analysis of a bisection-exclusion method to find zeros of univariate analytic functions. Journal of Complexity, 21(5):652 – 690, 2005. [47] C. Yap. Fundamental Problems in Algorithmic Algebra. Oxford University Press, 2000. 32 6. 6.1. Appendix Approximating ΓF Theorem 1. An integer Γ ∈ N with Γ p ≤ Γ < 8 log n + Γ p (6.1) can be computed with Õ(n2 Γ p ) bit operations. The computation uses an approximation of F to L = O(nΓF ) bits after the binary point. Proof. Consider the Cauchy polynomial n−1 F̄(x) := |An |xn − ∑ |Ai |xi i=0 of F. Then, according to [13, Proposition 2.51], F̄ has a unique positive real root ξ ∈ R+ , and the following inequality holds: n maxi=1,...,n |ξi | ≤ ξ < · maxi=1,...,n |zi | < 2n · maxi=1,...,n |zi |. ln 2 It follows that F̄(x) > 0 for all x ≥ ξ and F̄(x) < 0 for all x < ξ . Furthermore, since F̄ coincides with its own Cauchy polynomial, each complex root of F̄ has absolute value less than or equal to ξ . Let k0 be the smallest non-negative integer k with F̄(2k ) > 0 (which is equal to the smallest k with 2k > ξ ). Our goal is to compute an integer Γ with k0 ≤ Γ ≤ k0 + 1. Namely, if Γ fulfills the latter inequality, then max(1, max |zi |)) ≤ max(1, ξ ) ≤ 2Γ < 4 max(1, ξ ) < 8n · max(max |zi |, 1), i i and thus Γ fulfills inequality (6.1). In order to compute a Γ with k0 ≤ Γ ≤ k0 + 1, we use exponential and binary search (try k = 1, 2, 4, 8, . . . until F̄(2k ) > 0 and, then, perform binary search on the interval k/2 to k) and approximate evaluation of F̄ at the points 2k : More precisely, we evaluate F̄(2k ) using interval arithmetic with a precision ρ (using fixed point arithmetic) which guarantees that the width w of B(F̄(2k ), ρ) is smaller than 1/4, where B(E, ρ) is the interval obtained by evaluating a polynomial expression E via interval arithmetic with precision ρ for the basic arithmetic operations; see [20, Section 4] for details. We use [20, Lemma 3] to estimate the cost for each such evaluation: Since F̄ has coefficients of size less than 2n Mea(F), we have to choose ρ such that 2−ρ+2 (n + 1)2 Mea(F)2n+nk < 1/4 in order to ensure that w < 1/4. Hence, ρ is bounded by O(log Mea(F) + nk) and, thus, each interval evaluation needs Õ(n(log Mea(F) + nk)) bit operations. We now use exponential plus binary search to find the smallest k such that B(F̄(2k ), ρ) contains only positive values. The following argument then shows that k0 ≤ k ≤ k0 + 1: Obviously, we must have k ≥ k0 since F̄(2k ) < 0 and F̄(2k ) ∈ B(F̄(2k ), ρ) for all k < k0 . Furthermore, the point x = 2k0 +1 has distance more than 1 to each of the roots of F̄, and thus |F̄(2k0 +1 )| ≥ |An | ≥ 1/4. Hence, it follows that B(F̄(2k0 + 1), ρ) contains only positive values. For the search, we need O(log k0 ) = O(log log ξ ) = O(log(log n + ΓF )) iterations, and the cost for each of these iterations is bounded by Õ(n(log Mea(F) + nk0 )) = Õ(n2 ΓF ) bit operations. 2 33 6.2. Integer Polynomials For a polynomial F with integer coefficients of bit size τ, we aim to show that ΣF = Õ(nτ). We proceed in two steps: First, we cluster the roots ξi of F into subsets consisting of nearby roots. Second, we apply the generalized Davenport-Mahler bound [11, 13] to the roots of F. W.l.o.g., we can assume that σ (ξ1 , F) ≤ · · · ≤ σ (ξn , F). For h ∈ N, we denote i(h) the maximal index i with σ (ξi , F) ≤ 2−h and R(h) := {ξ1 , . . . , ξi(h) } the corresponding set of roots. If h ≤ log(1/σF ), then R contains at least two roots. For a fixed h, we are interested in a partition of R := R(h) into disjoint subsets R1 , . . . , Rl that consist of nearby points, only. Lemma 18. Suppose that h ≤ log(1/σF ). Then, there exists a partition of R := R(h) into disjoint sets R1 , . . . , Rl such that |Ri | ≥ 2 for all i ∈ {1, . . . , l} and |ξ − ξ 0 | ≤ n2−h for all ξ , ξ 0 ∈ Ri . Proof. We initially set R1 := {ξ1 }. Then, we add all roots ξi to R1 that satisfy |ξi − ξ1 | ≤ 2−h . For each root in R1 , we proceed in the same way. More precisely, for each ξ ∈ R1 , we add those roots ξ 0 ∈ R to R1 with |ξ − ξ 0 | ≤ 2−h . If no further root can be added to R1 , we consider the set R\R1 of the remaining roots and treat it in exactly the same manner. Finally, we end up with a partition R1 , . . . , Rl of R such that, for any two points in any Ri , their distance is less than or equal to (|Ri | − 1)2−h < n · 2−h . Furthermore, each of the sets Ri must contain at least two roots since σ (ξi , F) ≤ 2−h for all i = 1, . . . , i(h). 2 We now fix a h > 4 log n and consider a partitioning of R := R(h) as in the above lemma. Then, we define Gi to be the directed graph on each Ri which connects consecutive roots of Ri in ascending order of their absolute values. We further define G := (R, E) as the union of all Gi . Then, G is a directed graph on R with the following properties: (1) each edge (α, β ) ∈ E satisfies |α| ≤ |β |, (2) G is acyclic, and (3) the in-degree of each node is at most 1. Hence, we can apply the generalized Davenport-Mahler bound [11, 13] to G : √ !#E n/2 3 1 1 · ∏ |α − β | ≥ (√n + 1 · 2τ )n−1 · n n (α,β )∈E Since each set Ri contains at least 2 roots, we must have i(h) > #E ≥ i(h)/2. Furthermore, for each edge (α, β ) ∈ E, we have |α − β | ≤ n · 2−h . Thus, it follows that (notice that n · 2−h < 1) √ !i(h) n/2 i(h)/2 i(h) 3 3 1 1 1 −h 2 (n · 2 ) > √ · · 2 > , · n nτ τ n−1 n n (n + 1) · 2 n ( n+1·2 ) and thus i(h) < 2n(τ + log(n + 1)) 2n(τ + log(n + 1)) 8n(τ + log(n + 1)) < = . log 3 − 3 log n + h h/4 h From the latter inequality, we conclude that log(1/σF ) < 4n(τ + log(n + 1)) + 1 since, otherwise, there exists an h with 4n(τ + log(n + 1)) ≤ h ≤ log(1/σF ) and i(h) < 2 which is not possible. For the bound on ΣF , it suffices to consider only the roots ξ1 , . . . , ξk with separation less than 1/n4 since each root with a larger separation contributes with at most max(τ + 1, 4 log n) to ΣF . Thus, ΣF = Õ(nτ) follows from k − ∑ log σ (ξi , F) < i=1 d4n(τ+log(n+1))e ∑ d4n(τ+log(n+1))e i(h) < 8n(τ + log(n + 1)) h=1 ∑ h=1 34 1 = O(nτ log(nτ)). h 6.3. Algorithms Algorithm 1 D CM Require: polynomial f = ∑0≤i≤n ai xi ∈ R[x] as defined in (2.1) Ensure: returns a list O of disjoint isolating intervals for all real roots of f {only in the REAL-RAM model} I0 := (− 12 , 21 ) fI0 (x) := f (− 12 + x) A := { (I0 , fI0 ) }; O := 0/ {list of active and isolating intervals} repeat (I, fI ) some element in A with I = (a, b); delete (I, fI ) from A 1 1 1 + 1 + 2n x and fI + ,rev (x) = ∑ni=0 hi xi := (1 + x)n · fI + 1+x fI + := fI − 4n if var( fI + ,rev ) = 0 then do nothing else if t[( fI )0 , 3/2](0, 2) > 0 then s := sign( fI + (0) · fI + (1)) if s ≥ 0 then do nothing else if I + does not intersect any interval in O then add I + to O else do nothing end if end if else subdivide Iinto Il := (a, mI ) and Ir := (mI , b) = fI` (x + 1) fI` := fI 2x and fIr := fI x+1 2 add (Il , fI` ) and (Ir , fIr ) to A end if end if until A is empty return O 35 Algorithm 2 D CMρ Require: polynomial f = ∑0≤i≤n ai xi ∈ R[x] as in (2.1) and a ρ ∈ N Ensure: returns ”insufficient precision” or a list O = {Jk , sk,` , sk,r , Bk } of disjoint isolating intervals Jk = (ck , dk ) for some of the real roots of f (and sk,` = sign( f (ck )), sk,r = sign( f (dk )) and 0 < Bk ≤ min(| f (ck )|, | f (dk )|). I0 := (− 12 , 21 ) f˜ a (ρ + n + 1)-binary approximation of f f˜I0 a (ρ + 1)-binary approximation of f˜(− 12 + x) A := { (I0 , f˜I0 , ρ) }; O := 0/ {⇒ f˜I0 ∈ [ fI0 ]2−ρ } {list of active and isolating intervals} repeat ˜ (I, f˜I , ρI ), where I := (a, b), some element in A ; delete (I, fI , ρI ) from A ˜fI + (x) := f˜I − 1 + 1 + 1 x and h̃(x) = ∑ni=0 h̃i xi := (1 + x)n · f˜I + 1 4n 2n 1+x if h̃i > −2n+2−ρI for all i or h̃i < 2n+2−ρI for all i then do nothing else if t[( f˜I )0 , 3/2](0, 2) > −n · 2n+1−ρI then fˆI (x) := f˜I (x) + sign(( f˜I )0 (0)) · n · 2n+1−ρI · x λ − := f˜I + (0) − 2n−1−ρI , λ+ := f˜I + (1) + (4n + 1)2n−1−ρI and λ := f˜I (−1/n) − 2n+1−ρI . w(I) intersects no J for all (J, sJ,` , sJ,r , BJ ) ∈ O and λ − · λ + < 0 if I˜ := a − w(I) 2n , b + 2n ˆ and min(|λ − |, |λ + |) > n2n+3−ρI and |λ | > n2 2deg( fI )+7+n−ρI then ˜ sign(λ − ), sign(λ + ), min(|λ − |, |λ + |) − 2n+3−ρI n) to O add (I, {⇒ I˜ contains a root ξ of f and the w(I) n -neighborhood of I is isolating for ξ } else do nothing {J˜ is already isolating for ξ } end if else do nothing end if else if ρI < 0 then return ”insufficient precision” else if ρI < 2 then return ”insufficient precision” else Subdivide I into I` := (a, mI ) and Ir := (m I , b) f˜I` an ρI -binary approximation of f˜I 2x {⇒ f˜Il ∈ [ fI` ]2−(ρI −1) } 1+x ˜ ˜ fIr an (ρI − 1)-binary approximation of fI 2 {⇒ f˜Ir ∈ [ fIr ]2−(ρI −2) } Add (I` , f˜I` , ρI − 1) and (Ir , f˜Ir , ρI − 2) to A end if end if end if until A is empty return O 36 Algorithm 3 C ERTIFYρ Require: polynomial f = ∑0≤i≤n ai xi ∈ R[x] as defined in (2.1), an integer ρ ∈ N, and the list O = {(Jk , sk,` , sk,r , Bk )}k=1,...,s returned by D CMρ . Ensure: returns ”insufficient precision” or the list L = {Jk }k=1,...,s of isolating intervals with the guarantee that, for each real root of f , there exists a corresponding interval in L . I0 := (− 21 , 21 ) f˜ a (ρ + n + 1)-binary approximation of f f˜I0 a (ρ + 1)-binary approximation of f˜(− 12 + x) A := { (I0 , f˜I0 , ρ) } {⇒ f˜I0 ∈ [ fI0 ]2−ρ } {list of active intervals} repeat (I, f˜I , ρI ), where I := (a, b), some element in A ; delete (I, f˜I , ρI ) from A . S if I¯ ∩ R = si=1 Li = 0/ then do nothing else if t[ f˜I , 3/2](0, 1) > −n · 2−ρI +2 then if | f˜I (0) + sign( f˜I (0)) · 2−ρI +2 n| > n2 · 2−ρI +6 then do nothing {I contains no root of f } else return ”insufficient precision” {ρ < ρ max f } end if else 1 h̃(x) := ∑ni=0 h̃i xi = (1 + x)n · ( f˜I )0 ( 1+x ) n−ρ I if h̃i < n · 2 for all i (or h̃i > −n · 2n−ρI for all i) then ˜ g(x) := fI (x) − n · 2n−ρI (or g(x) := f˜I (x) + n · 2n−ρI , respectively); if for each Li = [q` , qr ], min(|λ (q` )|, |λ (qr )|) > n · 2n+3−ρI and λ (ql ) · λ (qr ) < 0 then do nothing {I ∩ R contains no root of f ; λ (ql ), λ (qr ) defined as in (4.15)} else return ”insufficient precision” {ρ < ρ max f } end if else if ρI < 2 then return ”insufficient precision” else Subdivide I into Il := (a, m` ) and Ir := (m ` , b) f˜I` an ρI -binary approximation of f˜I 2x {⇒ f˜I` ∈ [ fI` ]2−(ρI −1) } 1+x ˜ ˜ fIr an (ρI − 1)-binary approximation of f` 2 {⇒ f˜Ir ∈ [ fIr ]2−(ρI −2) } Add (Il , f˜I` , ρI − 1) and (Ir , f˜Ir , ρI − 2) to A end if end if end if end if until A is empty return ”certification successful” {The region of uncertainty R contains no root of f } 37