MPSolve (Multiprecision Polynomial Solver) is a package for the
approximation of the roots of a
univariate polynomial
In mathematics, a polynomial is a mathematical expression consisting of indeterminates (also called variables) and coefficients, that involves only the operations of addition, subtraction, multiplication and exponentiation to nonnegative integer ...
. It uses the
Aberth method, combined with a careful use of
multiprecision.
"Mpsolve takes advantage of
sparsity
In numerical analysis and scientific computing, a sparse matrix or sparse array is a matrix in which most of the elements are zero. There is no strict definition regarding the proportion of zero-value elements for a matrix to qualify as sparse ...
, and has special
hooks for polynomials that can be evaluated efficiently by
straight-line program In computer science, a straight-line program is, informally, a program that does not contain any loop or any test, and is formed by a sequence of steps that apply each an operation to previously computed elements.
This article is devoted to the c ...
s"
Implementation
The program is written mostly in
ANSI C
ANSI C, ISO C, and Standard C are successive standards for the C programming language published by the American National Standards Institute (ANSI) and ISO/IEC JTC 1/SC 22/WG 14 of the International Organization for Standardization (ISO) and the ...
and makes use of the
GNU Multi-Precision Library
GNU ( ) is an extensive collection of free software (394 packages ), which can be used as an operating system or can be used in parts with other operating systems. The use of the completed GNU tools led to the family of operating systems popu ...
. It uses a
command-line interface
A command-line interface (CLI) is a means of interacting with software via command (computing), commands each formatted as a line of text. Command-line interfaces emerged in the mid-1960s, on computer terminals, as an interactive and more user ...
(CLI) and,
starting from version 3.1.0 has also a
GUI
Gui or GUI may refer to:
People Surname
* Gui (surname), an ancient Chinese surname, ''xing''
* Bernard Gui (1261 or 1262–1331), inquisitor of the Dominican Order
* Luigi Gui (1914–2010), Italian politician
* Gui Minhai (born 1964), Ch ...
and interfaces for
MATLAB
MATLAB (an abbreviation of "MATrix LABoratory") is a proprietary multi-paradigm programming language and numeric computing environment developed by MathWorks. MATLAB allows matrix manipulations, plotting of functions and data, implementat ...
and
GNU/Octave.
Usage
The executable program of the package is called mpsolve. It can be
run
Run(s) or RUN may refer to:
Places
* Run (island), one of the Banda Islands in Indonesia
* Run (stream), a stream in the Dutch province of North Brabant
People
* Run (rapper), Joseph Simmons, now known as "Reverend Run", from the hip-hop group ...
from command line in
console
Console may refer to:
Computing and video games
* System console, a physical device to operate a computer
** Virtual console, a user interface for multiple computer consoles on one device
** Command-line interface, a method of interacting with ...
. 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
Extension, extend or extended may refer to:
Mathematics
Logic or set theory
* Axiom of extensionality
* Extensible cardinal
* Extension (model theory)
* Extension (proof theory)
* Extension (predicate logic), the set of tuples of values that ...
) and plotted in
gnuplot
gnuplot is a command-line and GUI program that can generate two- and three-dimensional plots of functions, data, and data fits. The program runs on all major computers and operating systems (Linux, Unix, Microsoft Windows, macOS, FreeDOS, a ...
. Direct plotting in
gnuplot
gnuplot is a command-line and GUI program that can generate two- and three-dimensional plots of functions, data, and data fits. The program runs on all major computers and operating systems (Linux, Unix, Microsoft Windows, macOS, FreeDOS, a ...
is also supported on Unix systems.
See also
*
Polynomial root-finding algorithms
Finding the roots of polynomials is a long-standing problem that has been extensively studied throughout the history and substantially influenced the development of mathematics. It involves determining either a numerical approximation or a close ...
References
External links
{{Wikibooks, MPSolve
Home page
C (programming language) software
Free mathematics software
Free software programmed in C
Numerical software
Software using the GNU General Public License