Newton's method in practice: Finding all roots of polynomials of degree one million efficiently
We use Newton's method to find all roots of several polynomials in one complex variable of degree up to and exceeding one million and show that the method, applied to appropriately chosen starting points, can be turned into an algorithm that can be applied routinely to find all roots without deflation and with the inherent numerical stability of Newton's method. We specify an algorithm that provably terminates and finds all roots of any polynomial of arbitrary degree, provided all roots are distinct and exact computation is available. It is known that Newton's method is inherently stable, so computing errors do not accumulate; we provide an exact bound on how much numerical precision is sufficient.