From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Original author(s)Dario Bini, Giuseppe Fiorentino, and Leonardo Robol
Stable release
Version 3.1.5 / April 2017
Written inC
Operating systemLinux, Windows, Mac OS X
Available inEnglish
Typemathematical software
Websitehome page

MPSolve (Multiprecision Polynomial Solver) is a package for the approximation of the roots of a univariate polynomial. It uses the Aberth method.[1] together with a careful use of multiprecision.[2]

"Mpsolve takes advantage of sparsity, and has special hooks for polynomials that can be evaluated efficiently by straight-line programs"[3]


The program is written mostly in ANSI C and makes use of the GNU Multi-Precision Library. It uses a command line interface (CLI) and, starting from version 3.1.0 has also a GUI and interfaces for MATLAB and GNU/Octave.


The executable program of the package is called mpsolve. It can be run from command line in console. The executable file for the graphical user interface is called xmpsolve, and the MATLAB and Octave functions are called mps_roots. They behave similarly to the function roots that is already included in these software packages.


Typically output will be on the screen. It may also be saved as a text file (with res extension) and plotted in gnuplot. Direct plotting in gnuplot is also supported on Unix systems.

This file shows centers of hyperbolic components of mandelbrot set for period 10 ( and its divisors). It is made with gnuplot. Centers are computed with MPSolve.


  1. ^ "Design, Analysis, and Implementation of a Multiprecision Polynomial Rootfinder" by D. A. Bini and G. Fiorentino published in Numerical Algorithms, Volume 23 (2000), pages 127-173
  2. ^ "Solving secular and polynomial equations: A multiprecision algorithm" by D. A. Bini and L. Robol published in Journal of Computational and Applied Mathematics, Volume 272 (2015)
  3. ^ Comparison of performance of MPSolve and Eigensolve by Steven Fortune

External links[edit]