Efficiently Computing Real Roots of Sparse Polynomials
Gorav Jindal, Michael Sagraloff

TL;DR
This paper introduces an efficient algorithm for computing and isolating real roots of sparse polynomials with guaranteed accuracy, leveraging coefficient oracles and providing complexity bounds.
Contribution
It presents a novel root-finding algorithm for sparse polynomials that efficiently isolates roots with complexity bounds polynomial in key parameters.
Findings
Algorithm computes disjoint disks containing roots with specified precision.
Bit complexity is polynomial in polynomial degree and coefficient bounds.
Effective root isolation for polynomials with simple roots.
Abstract
We propose an efficient algorithm to compute the real roots of a sparse polynomial having non-zero real-valued coefficients. It is assumed that arbitrarily good approximations of the non-zero coefficients are given by means of a coefficient oracle. For a given positive integer , our algorithm returns disjoint disks , with , centered at the real axis and of radius less than together with positive integers such that each disk contains exactly roots of counted with multiplicity. In addition, it is ensured that each real root of is contained in one of the disks. If has only simple real roots, our algorithm can also be used to isolate all real roots. The bit complexity of our algorithm is polynomial in and , and near-linear in …
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsPolynomial and algebraic computation · Commutative Algebra and Its Applications · Numerical Methods and Algorithms
Efficiently Computing Real Roots of Sparse
Polynomials
Gorav Jindal
Michael Sagraloff
Max-Planck-Institut für Informatik
Germany
Max-Planck-Institut für Informatik
Germany
Abstract
We propose an efficient algorithm to compute the real roots of a sparse polynomial having non-zero real-valued coefficients. It is assumed that arbitrarily good approximations of the non-zero coefficients are given by means of a coefficient oracle. For a given positive integer , our algorithm returns disjoint disks , with , centered at the real axis and of radius less than together with positive integers such that each disk contains exactly roots of counted with multiplicity. In addition, it is ensured that each real root of is contained in one of the disks. If has only simple real roots, our algorithm can also be used to isolate all real roots.
The bit complexity of our algorithm is polynomial in and , and near-linear in and , where and constitute lower and upper bounds on the absolute values of the non-zero coefficients of , and is the degree of . For root isolation, the bit complexity is polynomial in and , and near-linear in and , where denotes the separation of the real roots.
1 Introduction
1.1 Problem Definition and Contribution
In this paper, we study the problem of computing the real roots of a sparse polynomial
[TABLE]
where are non-negative integers, with , and for all We call such a polynomial an -nomial or simply a nomial if and are either not specified or clear from the context. We may assume that and as nomials do not have any real root different from [math] and as has exactly the same roots as except for a possible root at [math]. We further assume that, as input, we receive the exponents as well as approximations of the non-zero coefficients More specifically, we assume the existence of a coefficient oracle that, for any positive integer , provides dyadic approximations with and for all . We call such an approximation an (absolute) bit approximations of . Notice that the numbers and are directly part of the input, whereas this is not the case for . However, we may easily compute (i.e. for a cost bounded by ) a good approximation of with by asking the oracle for an -bit approximations of for until for all . Then, fulfills the above inequality.
Within recent years, the problem of isolating all (real) roots of a (square-free) polynomial has attracted a lot of interest in the literature; e.g. consider [3, 9, 16] and the references therein. The most efficient algorithms [3, 10, 11, 16] for root isolation achieve running times that are considered to be near-optimal for dense polynomials (i.e. if is of comparable size as ) . For polynomials with integer coefficients, the best known bound on the bit complexity of this problem is of size . The additional cost for refining isolating intervals to a size less than and thus for computing -bit approximations of all real roots, is ; e.g. see [7, 10, 13, 16]. Notice that, for nomials with integer coefficients, the above bounds are not polynomial in the size of the sparse input representation of , which is bounded by as we need bits to store each exponent and bits to store each . Hence, it is natural to ask whether there exists an algorithm for either root isolation or approximation that runs in polynomial time in the size of the sparse input representation. In [6], Cucker et al. showed how to compute all integer roots of a sparse integer polynomial in polynomial time. Lenstra [8] further improves upon this result giving a polynomial time algorithm to compute all rational factors of of a fixed constant degree. Furthermore, for polynomials with only a very few non-zero coefficients, there exist polynomial time algorithms to approximate (and also count) the real roots of Rojas and Ye [14, 18] propose an algorithm for -nomials that uses only arithmetic operations in the field over generated by the coefficients of . Bastani et al. [2] propose a polynomial time algorithm to count the number of real roots for most nomials.
For isolating the roots of a sparse integer polynomial, we recently proposed a method [15] that has polynomial arithmetic complexity and whose bit complexity is The latter bound is also near-optimal for small as there exists a family of Mignotte-like nomials, for which the output complexity is always lower bounded by This result already rules out the existence of a polynomial time algorithm for isolating the roots of a sparse polynomial, however, it remains an open question whether counting the real roots or computing bit approximations of the real roots can be achieved in polynomial time.
In this paper, we give a positive answer for a slight relaxation of the latter problem. That is, we give a polynomial time algorithm to compute a partial clustering of the roots that contains all real roots of . For a more precise statement, we need the following definitions, where denotes the open disk in complex space with center and radius .
Definition 1** (-covering).**
For a polynomial as in (1.1), an integer , and an interval , we call a list an *-covering for *if the following conditions are fulfilled:
The disks are pairwise disjoint, are real values with , and for all . 2. 2.
contains exactly roots of for all . 3. 3.
For every real root of in there exists some disk that contains .
We further introduce a weaker version of -covering:
Definition 2** (Weak -covering).**
A weak -covering for is a list of open disjoint and sorted real intervals that fulfills the following conditions:
The width of each interval is at most 2. 2.
For every real root of in , there exists an interval that contains
If we omit and just call a (weak) *-covering for a (weak) * -covering for f. Then, our main contribution is a polynomial-time algorithm for computing an covering:
Theorem 3**.**
For an -nomial, we can compute an -covering of size in time .
Notice that our algorithm computes bit approximations of all real roots but might also return (real-valued) bit approximations of some non-real roots with a small imaginary part. Further notice that unless is odd, we also do not know whether actually approximates a real root, and unless we cannot conclude that a disk in an -covering is isolating for a root of . Hence, in general, our algorithm does not yield the correct number of distinct real roots. However, if has only simple roots, we may compute an covering for for until for all . Then, the disks isolate all real roots.
Theorem 4**.**
Let be an -nomial with only simple real roots, and let be the minimal distance between any two (complex) distinct roots of (i.e. the separation of ). Then, we can compute isolating intervals for all real roots in bit operations.
We improve upon [15] in several ways. Namely, [15] only applies to integer polynomials, whereas our novel approach applies to polynomials with arbitrary real coefficients. In addition, the running time of the algorithm in [15] does not adapt to the actual hardness of the roots, whereas the complexity of our novel approach rather depends on the actual separation than on the worst-case bound [17] of size for the separation of an integer polynomial. In the worst case, our method isolates all real roots of a very sparse integer polynomial (i.e. ) in time , and is thus near optimal.; see [15]
1.2 Overview of the Algorithm
Before we go into detail, we give a brief overview of our algorithm, where we omit technical details. We first remark that the problem of computing an -covering can be reduced to the problem of computing an -covering (in fact, we are computing an -covering but this for technical reasons only) by means of the coordinate transformation followed by multiplication with . We may also reduce the problem of computing an -covering of to the problem of computing an -covering by means of the coordinate transformation . Hence, we are eventually left with merging -coverings for the polynomials and in a suitable manner. We give details for this step in Section 7. Notice that the considered coordinate transformation preserves the sparseness of the input polynomial, hence we may concentrate on the problem of computing an -covering for only. For this, we first compute a weak -covering of , which is achieved by recursively computing weak -coverings of the so-called *fractional derivatives of . *
Definition 5** (Fractional Derivatives).**
Let be a polynomial as in (1.1). Then, we define as the (first) fractional derivative of . In other words, we divide the first derivative of by the highest possible power of that divides . The th fractional derivative of is then recursively defined as the first fractional derivative of Notice that, for , is an nomial with a non-zero constant term and for We further use the notation to denote the tuple of all non-zero fractional derivatives , i.e, .
The general idea of recursively computing the real roots of from the real roots of its fractional derivatives has already been considered in previous work; e.g. [1, 4, 5, 8, 12, 14, 15]. The simple idea is that, given a weak -covering for , we already know that in between two consecutive intervals and , the polynomial is monotone, and thus there can be at most one real root in between and , which then must be simple. In order to check for the existence of such a root, it suffices to check whether changes signs at the points and In case of a sign change, we may then refine the interval , which is known to be isolating for a real root of , to a width less than If we proceed in this way for all intervals in between two consecutive intervals as well as with the leftmost interval, whose endpoints111For technical reasons, we will indeed consider slight perturbations of [math] and in our algorithm. are [math] and the left endpoint of , and the rightmost interval, whose endpoints are the right endpoint of and then we obtain a set of intervals of size at most that cover all real roots of that are contained in but in none of the intervals . Hence, the union of the intervals and constitutes an -covering for . This shows how to compute an -covering for from recursively computing -coverings for its fractional derivatives.
We remark that, in this simplistic description, we have omitted several key problems one faces when formalizing the algorithm: Evaluating the sign of a polynomial at given points may require a very high precision, which should be avoided to ensure a polynomial bit complexity. In addition, we need an efficient refinement method that uses only a polynomial number of iterations. For the latter problem, we use a slightly modified variant of our algorithm from [15, 16]. For the computation of the sign of (and its higher order fractional derivatives) at certain points, we consider an approach that allows us to slightly perturb the evaluation points such that the absolute value of each of the considered polynomials does not become too small. One major contribution of this paper, when compared to our previous work [15], is to show that this can be done in way such that the precision always stays polynomial in and .
In the second step, we derive an covering from a weak covering, where has been chosen sufficiently large. A straight forward approach would be to use a method for computing the number of roots in the one-circle region of each interval in the weak covering. Here, is defined as the disk centered at the midpoint of and passing through the endpoints of the interval. In the literature, several methods have been proposed to count the number of roots in a disk in complex space. Unfortunately, these algorithm are not sparsity aware, which rules out a straight-forward application of them. Recent work [3] introduces the so-called -test, a method for root counting based on Pellet’s Theorem. The method only needs to compute approximations of the coefficients of the polynomial , however, we cannot afford to compute all coefficients. Fortunately, in our situation, only the first coefficients are actually needed to determine the outcome of the test. In order to guarantee success of the test, it may further be necessary to merge some of the intervals in the weak covering and to consider disks that are larger than the one-circle regions of the merged intervals. This explains why we need a weak covering with a sufficiently large We consider our method for counting the roots of a sparse polynomial in a disk as the second main contribution of our paper.
2 On the Geometry of Roots
Descartes’ Rule of Signs states that the number of sign changes in the coefficient sequence of a polynomial constitutes an upper bound on the number of real roots (counted with multiplicity). Hence, it follows immediately that a nomial as in (1.1) has at most negative and at most positive real roots. Apart from this simple fact, -nomials have indeed much more structure on their roots, which we will briefly survey in this section.
Let be an interval, , and be the number of sign changes in the coefficient sequence of the polynomial . Notice that there is a one-to-one correspondence between the roots of in and the positive real roots of via the Möbius transformation that maps a point to . Thus, constitutes an upper bound on the number of roots of in In fact, also constitutes a lower bound on the number of roots in the so called Obreshkoff lens of the interval . is defined as the intersection of the two open disks that intersect the real axis in the endpoints and of , and whose centers see the line segment under the angle . For an illustration, see [16, Fig. 1]. It further holds [15, 16]) that for any interval , hence we conclude that the Obreshkoff lens of any such interval contains at most roots. For , the Obreshkoff lens of the interval converges to the cone whose boundary are the two half-lines starting at the origin and intersecting the real axis at an angle ; see Figure 2.1. Hence, it follows that the interior of contains at most roots of any given nomial of degree .
Theorem 6**.**
The cone contains at most roots of any -sparse polynomial of degree .
3 Polynomial arithmetic
Our algorithm only needs to perform basic operations on polynomials. In particular, we need to evaluate the sign of a given sparse polynomial at some points . As we already mentioned in the overview of our algorithm, the complexity of this operation becomes too large if the value of the polynomial at a given point is almost zero as then one needs to perform computations with a very high precision. Also, exact evaluation of a sparse polynomial at a rational point (even of small bitsize) is expensive as the output has bitsize linear in . Instead, we consider approximate evaluation, which allows us to evaluate a sparse polynomial as in (1.1) at an arbitrary point to an absolute error less than in a time that is polynomial222Notice that, for , we may omit the term in the bounds stated in Lemma 1. in and More precisely, we derive the following result:
Lemma 1**.**
Let be an -nomial, be a positive real number, and a non-negative integer. Then, we can compute an -bit approximation of (i.e. ) in a number of bit operations bounded by
[TABLE]
- Proof.
In essence, we follow the same approach as in [7]. That is, for a fixed non-negative integer , we perform each occurring operation (i.e. either addition or multiplication) with fixed precision . More precisely, the input is initially rounded after the -th bit after the binary point. Then, in each of the following steps, we replace each exact operation between two numbers and by a corresponding approximate operation , where we define to be the result obtained by rounding after the -th bit after the binary point. Suppose that we have computed approximations and of two intermediate results and , where we assume that Then, we have and . Hence, when evaluating one term of at the point with absolute precision via repeated squaring, we induce a total error for the computation of of size less than as there are at most multiplications, and each (exact) intermediate result has absolute value bounded by When eventually summing up the approximations of all terms , we thus induce an error of size less than for the computation of the final result. The bound on the bit complexity follows from the fact that we need arithmetic operations on integers of bitsize , and each such operation uses bit operations.
∎
We already mentioned that evaluating the sign of a polynomial at a point might be costly if has a small absolute value. In order to avoid such undesired computations, we first perturb in a suitable manner. That is, instead of evaluating the sign of at we evaluate its sign at a nearby point, where becomes large enough. This can be done in a way such that the actual behavior of the algorithm does not change. We will call such points “admissible”. We remark that we already used this concept in previous work [15, 16]. Here, we modify the approach to choose an admissible point, where the sign of each fractional derivative of a sparse polynomial can be evaluated in polynomial time.
Definition 7** (Admissible point).**
Let be a function and be a multipoint. We call a point to be -admissible if .
If and (or even and ) are clear from the context, we simply call a -admissible point -admissible (or just admissible). Since the value of a polynomial at an admissible points is “relatively large”, we expect that has no root in a neighborhood of an admissible point. The following lemma formalizes this intuition.
Lemma 2**.**
Suppose that and is an -admissible point for an -nomial with and . Further assume that . Then, the disk does not contain any root of .
- Proof.
Let denote the complex roots of Since has at most roots in the cone (see Figure 2.1 ) and , there exists a point such that does not contains any of these roots.
By way of contradiction assume that there is a root of in the ball of radius around .
We have
[TABLE]
By using the triangle inequality for the distance between and , one can see that, for the roots that are contained in , we have
[TABLE]
whereas Now, consider the roots of that are outside of . Since , it follows that the distance of to any such is at at least .
Again using the triangle inequality for distance between and , this implies that
[TABLE]
Hence
[TABLE]
This contradicts the fact that is an admissible point. ∎
Definition 8**.**
Let be a tuple of functions . Then, is defined as follows:
[TABLE]
For a fixed real , we call an -approximation of if for all .
We first show how to compute an admissible point for under the assumption that we can compute an -approximation of for any in time .
Lemma 3**.**
Let be as in Definition 8, a multipoint and . Suppose that for for a point we can compute an -approximation of in time , then we can compute an -admissible point in time
[TABLE]
Within the same time, we may compute an integer with
- Proof.
We proceed in the same fashion as in Lemma 8 of [16]. For , we compute -approximations of for all points until the following condition is satisfied for at least one :
[TABLE]
Then, let be the index such that is maximal among all , and let be an integer such that . We output and . It is now straight-forward (cf. the proof of Lemma 8 in [16]) to show that .
Following the above approach, we must succeed for an . Since we double at most many times and since we approximately evaluate the functions at points, the stated complexity bound follows. ∎
We now apply the above lemma to the special case where is the sequence of fractional derivatives of . Then, Lemma 1 yields a bound of the bit complexity of computing -approximations of for all points .
Corollary 9**.**
Assume that is a -nomial, a multipoint and . Further assume that for some positive real number . Then, we can determine an -admissible point and an integer with
[TABLE]
using many bit operations.
Notice that the running time of the above algorithm depends on the value . We will now derive a bound on that shows that, for a sufficiently large and suitably chosen and , we can always compute an -admissible point in polynomial time.
Lemma 4**.**
Let be a -nomial as in (1.1), and let be positive real numbers with and such that does not contain any real root of any fractional derivative of . Then, it holds that
[TABLE]
- Proof.
We may assume that is small enough to guarantee that . This implies that, for any two points , we have that . Now, let us write with a constant of absolute value at least and an nomial that is not divisible by Then, it holds that , and thus . In addition, since does not contain any root of and , it follows that is monotone on and only takes positive or negative values. This implies that for all . In addition, for any , we can choose a point such that . Now, according to the mean value theorem, there exists a in between and with . Hence, we obtain where the latter inequality follows from . Also, . With , the above inequalities thus imply that
[TABLE]
Now, if , then the second argument in the above term becomes larger than . Otherwise, the first term becomes larger than . Hence, we conclude that
[TABLE]
We now recursively apply the above result to the fractional derivatives and the intervals , where . Notice that each of the polynomials is an nomial and that as is a constant of absolute value at least . Hence, it follows that
[TABLE]
∎
Combining the above lemma and Corollary 9 now yields
Theorem 10**.**
Let be a -nomial as in (1.1), and let be a multipoint with and for some for some real number . Then, we can compute an -admissible point using bit operations.
- Proof.
Since each fractional derivative of has at most positive real roots and since , there exists an such that does not contain any real root of any of fractional derivative. Hence, Lemma 4 implies that is lower bounded by . Corollary 9 then yields the claimed bound on the running time. ∎
4 Refinement
A crucial subroutine of our overall algorithm is an efficient method for refining an interval , with , that is known to be isolating for a simple real root of a -nomial . It is assumed that the algorithm receives the sign of at the endpoints of as additional input. For the refinement, we consider the algorithm NewRefine from Section 3 in [15] (see also Section 5 in [16]), however, we make a single (minor) modification. As the argument from [15] directly applies, we only state the main results and refer the reader to [15] for details.
NewRefine recursively refines to a size less than using a trial and error approach that combines Newton iteration and bisection. For this, only and its first derivative need to be evaluated. More precisely, in each iteration, the algorithm computes admissible points for a constant number of points and a corresponding of size . In addition, and are evaluated at these admissible points to an absolute precision that is bounded by . Each endpoint of the interval returned by NewRefine is then either one of the admissible points computed in a previous iteration or one of the endpoints of .
We now propose the following modification of NewRefine, which we denote NewRefine∗: Whenever NewRefine asks for an admissible point , we compute an admissible point , with , instead. Then, the same argument333The argument in [15] only uses that, in each iteration, we choose an arbitrary point . as in [15] yields:
Theorem 11**.**
For refining to a size less than , the algorithm NewRefine∗ needs iterations. In each iteration, we need to compute a constant number of admissible points , with and . In addition, the polynomials and have to evaluated at to an absolute precision bounded by .
Combining Theorems 11 and 10, we obtain a bound on the complexity of refining to a size less than :
Corollary 12**.**
For refining to a size less than , the algorithm NewRefine∗ needs
[TABLE]
bit operations. For each endpoint of the interval returned by NewRefine, it holds that
[TABLE]
with .
5 Computing a Weak Covering
We now describe how to compute a weak * -*covering for a given -nomial in polynomial time. We first compute an upper bound for with , and define . Then, in the first step, we compute admissible points and for and , respectively. Then, we follow the approach as outlined in the first part of Section 1.2 to compute a weak -covering for , where we use the algorithm NewRefine∗ from the previous Section to refine isolating intervals for the roots of the fractional derivatives of to a size less than . The so obtained covering is indeed also a weak * -*covering for , which follows from the fact that and each positive root of is lower bounded by due to Cauchy’s root bound [17]. For details, consider the exact definition of Algorithm 1.
Correctness of the algorithm follows directly from our considerations in Section 1.2. Further notice that, for each in the outermost for-loop of the algorithm, we add at most intervals to to obtain as has at most positive real roots. Hence, each list contains at most many intervals. It remains to bound the running time of Algorithm 1. The proof of the following Lemma follows in a straight forward manner from Theorem 10, Corollary 12, and the fact that we need to call the refinement algorithm at most times for each fractional derivative.
Lemma 5**.**
Algorithm 1 computes a weak -covering for consisting of at most many intervals. Its bit complexity is
- Proof.
According to Theorem 10, the cost for computing and is bounded by . The refinement algorithm is called at most many times for refining the roots of the fractional derivatives. Corollary 12 thus yields a bound of size for the bit complexity of the refinements. The computations of the signs of the factional derivative at the endpoints of the intervals in is dominated by this bound as the refinement algorithm returns intervals whose endpoints are admissible with respect to . Thus, the computation of each such admissible point already yields the sign of all fractional derivative at this point. ∎
In order to further process a weak -covering for , we need the intervals in the weak covering to be well separated. For given , we say that a list of intervals is -separated if the distance between and its neighboring intervals is at least . Notice that, starting from an arbitrary list of intervals, we can always deduce an -separated list from in a way such that each interval in is contained in an interval from . Namely, this can be achieved by recursively merging pairs of intervals that violate the above condition until the actual list is -separated. It is easy to see that
[TABLE]
where and denote the maximal width of an interval in and , respectively. Hence, by first computing a weak -covering , with and , and then recursively merging the intervals, we obtain a weak covering for that is also -separating and whose intervals have width at most . From Lemma 5, we thus conclude:
Corollary 13**.**
For any , we can compute a - separating weak covering for in bit operations.
6 -test
In the previous section, we have shown how to compute a weak -covering of a given -nomial . Now, we aim to convert this weak covering to a covering of . For this, we need an algorithm to count the number of roots of contained in a given disk. Recent work [3] introduces a simple corresponding algorithm, denoted -test, which is based on Pellet’s Theorem. More precisely, for an arbitrary polynomial , a disk , and a parameter , we consider the inequality
[TABLE]
Hence, we check whether the absolute value of the -th coefficient of dominates the sum of the absolute values of all remaining coefficients weighted by the parameter . We say that succeeds if the above inequality is fulfilled. Otherwise, we say that it fails. In case of success (for any ), contains exactly roots of counted with multiplicity, whereas we have no information in case of a failure. However, in [3], we derive sufficient conditions on the success of the -test:
Theorem 14**.**
[[3], Corollary 1] Let be a polynomial of degree , and be a disk. If as well as the enlarged disk contain roots of counted with multiplicity, then succeeds.**
Unfortunately, the above test has two major drawbacks when dealing with sparse polynomials. First, we need to compute the coefficients exactly, which we cannot afford as the bitsize of each coefficient is at least linear in . Second, an even more severe, there are coefficients to be computed. Hence, using the above approach directly to count the number of roots of a sparse polynomial does not work. Instead, we propose two modifications to overcome these issues. The first modification, namely to use approximate (in a proper manner) instead of exact arithmetic, has already been considered in previous work. However, the second modification is more subtle. It exploits the fact that, for a suitably chosen disk centered at some admissible point, only the first coefficient are relevant for the outcome of the above test.
We first go into details with respect to our first modification. Let us define and the expressions on the left and right hand side of the inequality in (6.1). We aim to check whether or not. In general, if a predicate is of the latter form with two (computable) expressions and , you can compute approximations and of and with and for For a certain , you may then try to compare and taking into account their corresponding approximations and the approximation error. Eventually (i.e. for a sufficiently large ), you either succeed, in which case you can return the sign, or assert that and are good approximations of each other. In the latter case, you just return a flag called Undecided. In short, this is the idea of so-called soft-predicates. For details, we refer to [3].
Notice that, in cases where considerably differs from , the soft predicate allows us to compute the sign of without the need of exact arithmetic. In all other cases (i.e. if it returns Undecided), we know at least that and are good approximations of each other. We remark that, in [3], the above soft predicate was only described for , however, it easily generalizes to any constant . In [3, Lem. 2], it has been shown that, for any constant , Algorithm 2 needs an -bit approximation of and with bounded by
[TABLE]
In [3], we considered a soft-variant of the -test, where we compared the expressions and . Now, we apply the above soft-predicate to the expressions and , that is, we replace the entire sum by its truncation after the first terms. However, we will make the assumption that the truncated sum is upper bounded by ; see Algorithm 3. This might look haphazardly at first sight, however, we will later see that the latter condition is always fulfilled for a -nomial and a suitable disk centered at an admissible point.
Lemma 6**.**
For a disk , the -test needs to compute -bit approximations of and with If succeeds, then the -test returns True. Running Algorithm 3 for all uses a number of bit operations upper bounded by
- Proof.
From the assumption, it follows that . This yields the claimed bound on the absolute error to which and need to be computed. We now prove correctness. If the algorithm returns True, then , and thus If , then . Otherwise, we have . Hence, in both cases, succeeds, which implies that contains exactly roots.
Now, suppose that succeeds. If the -test returns Undecided, then . On the other hand, we have , and thus , which contradicts the fact that . If the -test returns False, a similar argument yields a contradiction as well. This shows that success of implies that returns True. It remains to show the claimed bounds on the bit complexity. It suffices to estimate the cost for computing an -bit approximations of and . The -th coefficient , with , can be computed by evaluating the -nomial at . In order to compute -bit approximations of and , we need to compute an -bit approximation of each , for . According to Lemma 1, this can be done using bit operations. ∎
Notice that, in order to actually use the -test for counting the roots in a disk , we need two conditions to be satisfied. First, we need the condition to be true. Second, we need to satisfy the preconditions of the -test.
Theorem 15**.**
Let be a -nomial as in (1.1), let be a disk centered at some with , and let . Further suppose that does not contain any roots of . Then, it holds that .
- Proof.
Let be the complex roots of , then where we sum over all tuples with distinct entries , . For a fixed tuple , at most of the roots can appear in the corresponding term of the above sum. At most of these roots are contained in the code as defined in Figure 2.1, whereas the remaining roots are located outside of . Since , the distance from to any of these roots is at least . Also, since does not contain any roots of , distance of from the roots in is at least . Thus, we get Hence, for , we get
[TABLE]
Hence, summing up over all proves the claim. ∎
The following Corollary is now an immediate consequence of the above theorem and Lemma 15.
Corollary 16**.**
Let be as in -nomial as in (1.1). Let . Let be a -admissible point and . Define and . Further assume that , then
In the next step, we show how to satisfy the precondition of the -test. Theorem 14 says that if does not contain any of the roots which are not contained in , then succeeds for some . Let us define , and let for . Further assume that has been chosen sufficiently small enough such that each of disks is contained in the cone . Since contains at most roots, there must exist a with such that does not contain any root. Hence the -test will succeed on . So instead of running the -test on some initial disk , we run it on all disks for , and return the first disk on which the -test succeeds; see Algorithm 4.
Correctness of the algorithm follows immediately from the above considerations. The condition on and guarantees that each of the disks is contained in . Lemma 7 gives a bound on its running time.
Lemma 7**.**
Algorithm 4 returns a disk , with and , together with the number of roots of in . Its bit complexity is bounded by .
- Proof.
The condition with implies that all the disks considered in the Algorithm 4 are contained in the cone . In addition, the condition of Corollary 16 is fulfilled.
One iteration of the inner for loop uses a number of bit operations bounded by ; see Lemma 6. Here, and . In addition,
If , then obviously . Since is an -admissible point, Lemma 4 implies that
. Thus, we conclude that , and . It follows that Algorithm 4 runs in time . ∎
7 Computing a Covering
We now show to compute an -covering from a weak -covering, For this, we apply Algorithm 4 to the one-circle regions of the intervals in the weak covering. The following Lemma shows that the requirements in Algorithm 4 are fulfilled if we choose large enough. In addition, by ensuring that the intervals in the weak covering are well separated from each other, we can ensure that the corresponding disks returned by Algorithm 4 are disjoint.
Lemma 8**.**
Algorithm 5 computes an -covering for using bit operations. The distance between any two disks of is at least , and for any disk in .
- Proof.
The output surely covers all the real roots of in the interval . Since the weak covering computed in Algorithm 5 is -separated and since Algorithm 4 only blows up any disk by a factor of , we conclude that disks in are still separated by at least . In addition, the radius of each disks in is at most .
Notice that the left endpoint of any interval in is at least . Thus, for any disk from the left endpoint of the interval is at least . A similar argument yields the claimed bound on the right end points of .
The running time bounds follow from the stated upper bound on and and the fact that is always satisfied. ∎
It remains to show how to compute an -covering for from an -covering for and an -covering for . We first derive an -covering for from by inverting the disks in . The proof of the following lemma is straight forward.
Lemma 9**.**
Let be an -covering of as computed by Algorithm 5, and be the list obtained from by inverting the disks in (i.e. with and ). Then, is an -covering of with and the distance between two disks in is at least .
Finally, we merge an -covering and an -covering for . Here, we assume that , and that the coverings are computed using Algorithm 5 and by inverting the -covering for to obtain . This guarantees that the distance between any two disks in either or is at least . For the merging, we keep each disk from that has no intersection with a disk from , and vice versa. For each pair of elements and with , we keep (and omit ) if the center of is not larger than . Otherwise, we keep (and omit ). Following this approach, we might loose some of the complex roots that are contained in the union of and , however, we will not loose any real root. Thus, the so obtained list constitutes an -covering for .
Notice that any two - and -coverings for can be trivially merged by taking their union. In addition, since the final covering contains a list of disjoint disks contained in the union of the cone and its reflection on the imaginary axis, and since the union of these two cones contains at most roots of , the number of disks is also bounded by . Hence, our main Theorem 3 follows.
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1[1] Maria Emilia Alonso Garçia and André Galligo. A root isolation algorithm for sparse univariate polynomials. In ISSAC , pages 35–42, 2012.
- 2[2] Osbert Bastani, Christopher J. Hillar, Dimitar Popov, and J. Maurice Rojas. Randomization, Sums of Squares, Near-Circuits, and Faster Real Root Counting. Contemp. Mathematics , 556:145–166, 2011.
- 3[3] Ruben Becker, Michael Sagraloff, Vikram Sharma, and Chee-Keng Yap. A near-optimal subdivision algorithm for complex root isolation based on the pellet test and newton iteration. J. Symb. Comput. , 2015. In press.
- 4[4] George E. Collins and Rüdiger Loos. Polynomial real root isolation by differentiation. In SYMSAC , pages 15–25, 1976.
- 5[5] Michel Coste, Tomás Lajous-Loaeza, Henri Lombardi, and Marie-Francoise Roy. Generalized Budan-Fourier theorem and virtual roots. J. Complexity , 21(4):479 – 486, 2005.
- 6[6] F. Cucker, P. Koiran, and S. Smale. A polynomial time algorithm for diophantine equations in one variable. J. Symb. Comput. , 27(1):21 – 29, 1999.
- 7[7] Michael Kerber and Michael Sagraloff. Root refinement for real polynomials using quadratic interval refinement. Journal of Computational and Applied Mathematics , 280:377 – 395, 2015.
- 8[8] Hendrik W. Lenstra (Jr.). Finding small degree factors of lacunary polynomials. Number Theory in Progress , 1:267–276, 1999.
