mpsolve1
A multiprecision polynomial rootfinder
Overview
mpsolve [-a alg] [-b] [-c] [-G goal] [-o digits] [-i digits] [-j n] [-t type] [-S set] [-D detect] [-O format] [-l filename] [-x] [-d] [-v] [-r] [infile | -p poly]
Options
-
-a alg -
Select the algorithm used to solve the polynomial/secular equation:
-
u: Classic unisolve algorithm (Aberth iterations and dynamic precision)
s: Secular algorithm, using regeneration of increasingly better-conditioned
-
secular equations with the same roots of the polynomial
-
-b -
Perform Aberth iterations in Jacobi-style instead of Gauss-Seidel
-
-c -
Enable crude approximation mode
-
-G goal -
Select the goal to reach. Possible values are:
-
a: Approximate the roots
i: Isolate the roots
c: Count the roots in the search set
-
-o digits -
Number of guaranteed digits of the roots
-
-i digits -
Digits of precision of the input coefficients
-
-j n -
Number of threads to spawn as workers
-
-t type -
Type can be 'f' for floating point or 'd' for DPE
-
-S set -
Restrict the search set for the roots set can be one of:
-
u: upper half-plane { x | Im(x) > 0 }
d: lower half-plane { x | Im(x) < 0 }
l: left half-plane { x | Re(x) < 0 }
r: right half-plane { x | Re(x) > 0 }
i: inside the unit circle: { x | |x| < 1 }
o: outside the unit circle { x | |x| > 1 }
R: real axis { x | Im(x) = 0 }
I: imaginary axis { x | Re(x) = 0 }
-
-D detect -
Detect properties of the roots:
-
r: real roots
i: imaginary roots
b: both
-
-O format -
Select format for output:
-
f: full output
b: bare output
c: compact output
v: verbose output
g: gnuplot-ready output
gf: gnuplot-full mode, can be piped to gnuplot and display error bars.
gp: The same as gf but only with points (suitable for high degree polynomials)
-
For example:
-
mpsolve
-as-Ogfmyfile.pol | gnuplot
-l filename Set filename as the output for the log, instead of the tty. Use this option with
-
-d[domains]to activate the desired debug domains.
-
-x -
Enable graphic visualization of convergence
-d[domains] Activate debug on selected domains, that can be one of:
-
t: trace
a: approximation
c: cluster
i: improvement
w: timings
o: input/Output
m: memory management
f: function calls
p: debug stop condition and development of iteration packets
r: regeneration Example:-dfifor function calls and improvement
-
-p poly -
Solve the polynomial specified on the command line.
-
For example: mpsolve
-p"x^4-6*x^9+6/7*x + 5"
-
-r -
Use a recursive strategy to dispose the initial approximations.
This option is available only for monomial polynomials.
Note: this option is considered experimental.
-
-v -
Print the version and exit
Releases
Unchanged in 3 releases since Debian 11 (Bullseye).