Article ID | Journal | Published Year | Pages | File Type |
---|---|---|---|---|
401482 | Journal of Symbolic Computation | 2012 | 14 Pages |
Let ff be a univariate polynomial with real coefficients, f∈R[X]f∈R[X]. Subdivision algorithms based on algebraic techniques (e.g., Sturm or Descartes methods) are widely used for isolating the real roots of ff in a given interval. In this paper, we consider a simple subdivision algorithm whose primitives are purely numerical (e.g., function evaluation). The complexity of this algorithm is adaptive because the algorithm makes decisions based on local data. The complexity analysis of adaptive algorithms (and this algorithm in particular) is a new challenge for computer science. In this paper, we compute the size of the subdivision tree for the SqFreeEVAL algorithm.The SqFreeEVAL algorithm is an evaluation-based numerical algorithm which is well-known in several communities. The algorithm itself is simple, but prior attempts to compute its complexity have proven to be quite technical and have yielded sub-optimal results. Our main result is a simple O(d(L+lnd))O(d(L+lnd)) bound on the size of the subdivision tree for the SqFreeEVAL algorithm on the benchmark problem of isolating all real roots of an integer polynomial ff of degree dd and whose coefficients can be written with at most LL bits.Our proof uses two amortization-based techniques: first, we use the algebraic amortization technique of the standard Mahler–Davenport root bounds to interpret the integral in terms of dd and LL. Second, we use a continuous amortization technique based on an integral to bound the size of the subdivision tree. This paper is the first to use the novel analysis technique of continuous amortization to derive state of the art complexity bounds.
► We study the complexity of a simple and adaptive real root isolation algorithm. ► The size of its subdivision tree is optimal - within a factor of common algorithms. ► We use algebraic amortization and continuous amortization to compute the complexity. ► This use of continuous amortization is the first to result in optimal complexity. ► We show how continuous amortization can give a straight-forward complexity analysis.