Abstract. The implementation and the use of the Fortran 90 package MPSolve (Multiprecision Polynomial Solver) for approximating the roots of a univariate polynomial $p(x)=\sum_{i=0}^na_i x^i$, is described together with the results of some numerical computations performed with a set of test polynomials. The algorithm, based on the simultaneous approximation scheme of D.A.{} Bini, {\it Numerical Algorithms}, {\bf 13}, (1996) pp. 179-200, generates a sequence ${\cal A}_1 \supset {\cal A}_2 \supset {\cal A}_3 \supset \ldots \supset{\cal A}_k$, of nested sets containing the root neighbourhood of $p(x)$ defined by the given input precision, and outputs Newton-isolated approximations of the roots. The method, 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, by involving only the amount of digits of the input coefficients sufficient to recover the requested information on the roots. This feature seems 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, based on the multi-precision package MPFun by D. Bailey, may perform the following different computations: count the number of roots in a given subset ${\cal S}$ of the complex plane, Newton-isolate the roots in ${\cal S}$, approximate with arbitrarily high precision the roots in ${\cal S}$. Automatic detection of multiplicities and/or of real/imaginary roots can be also performed. Polynomial with approximatively known coefficients are allowed. The package is distributed under the terms of the GNU General Public License version 2, as published by the Free Software Foundation.
<dvi> <postscript> files with the paper