Numerical Computation of Polynomial Roots Using MPSolve Version 2 . 2

We describe the implementation and the use of the package MPSolve (Multiprecision Polynomial Solver) for the approximation of the roots of a univariate polynomial p(x) = ∑n i=0 aix . The package relies on an algorithm, based on simultaneous approximation techniques, that generates a sequence A1 ⊃ A2 ⊃ . . . ⊃ Ak of nested sets containing the root neighborhood of p(x) (defined by the precision of the coefficients) and outputs Newton-isolated approximations of the roots. The algorithm, particularly suited to deal with sparse polynomials or polynomials defined by straight line programs, adaptively adjusts the working precision to the conditioning of each root. In this way, only the leading digits of the input coefficients sufficient to recover the requested information on the roots are actually involved in the computation. This feature makes our algorithm particularly suited to deal with polynomials arising from certain symbolic computations where the coefficients are typically integers with hundreds or thousands digits. The present release of the software may perform different computations such as counting, isolating or approximating (to any number of digits) the roots belonging to a given subset of the complex plane. Automatic detection of multiplicities and/or of real/imaginary roots can be also performed. Polynomials with approximately known coefficients are also allowed.