MPSolve
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]
Original author(s) | Dario Bini, Giuseppe Fiorentino, and Leonardo Robol |
---|---|
Stable release | Version 3.1.5
/ April 2017 |
Written in | C |
Operating system | Linux, Windows, Mac OS X |
Platform | PC |
Available in | English |
Type | mathematical software |
License | GPLv3 |
Website | home page |
"Mpsolve takes advantage of sparsity, and has special hooks for polynomials that can be evaluated efficiently by straight-line programs"[3]
Implementation
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.
Usage
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.
Output
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.
References
- "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
- "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)
- "Comparison of performance of MPSolve and Eigensolve by Steven Fortune". Archived from the original on 2007-08-15. Retrieved 2008-04-05.