  We propose a new simple but nearly optimal algorithm for the approximation of
all sufficiently well isolated complex roots and root clusters of a univariate
polynomial. Quite typically the known root-finders at first compute some crude
but reasonably good approximations to well-conditioned roots (that is, those
isolated from the other roots) and then refine the approximations very fast, by
using Boolean time which is nearly optimal, up to a polylogarithmic factor. By
combining and extending some old root-finding techniques, the geometry of the
complex plane, and randomized parametrization, we accelerate the initial stage
of obtaining crude to all well-conditioned simple and multiple roots as well as
isolated root clusters. Our algorithm performs this stage at a Boolean cost
dominated by the nearly optimal cost of subsequent refinement of these
approximations, which we can perform concurrently, with minimum processor
communication and synchronization. Our techniques are quite simple and
elementary; their power and application range may increase in their combination
with the known efficient root-finding methods.
