Numerical computation of the roots of Mandelbrot polynomials: an experimental analysis
Abstract
This paper deals with the problem of numerically computing the roots of polynomials pk(x), k=1,2,…, of degree n=2k-1 recursively defined by p1(x)=x+1, pk(x)=xpk-1(x)2+1. An algorithm based on the Ehrlich-Aberth simultaneous iterations complemented by the Fast Multi-pole Method and the fast search of near neighbors of a set of complex numbers is provided. The algorithm, which relies on a specific strategy of selecting initial approximations, costs O(n n) arithmetic operations per step. A Fortran 95 implementation is given and numerical experiments are carried out. Experimentally, it turns out that the number of iterations needed to arrive at numerical convergence is O( n). This allows us to compute the roots of pk(x) up to degree n=224-1 in about 16 minutes on a laptop with 16 GB RAM, and up to degree n=228-1 in about 69 minutes on a machine with 256 GB RAM. The case of degree n=230-1 would require higher memory and higher precision to separate the roots. With a suitable adaptation of FMM to the limit of 256 GB RAM and by performing the computation in extended precision (i.e. with 10-byte floating point representation) we were able to compute all the roots in about two weeks of CPU time for n=230-1. From the experimental analysis, explicit asymptotic expressions of the real roots of pk(x) and an explicit expression of i j|i(k)-j(k)| for the roots i(k) of pk(x) are deduced. The approach is effectively applied to general classes of polynomials defined by a doubling recurrence.
Turn this paper into a lesson
ArcXiv compiles a structured reading guide from this paper's metadata: plain-English importance, contributions, prerequisite concepts, which sections to read first, flashcards, and a quiz. Grounded in the abstract, never invented.