# mpsolve - Man Page

A multiprecision polynomial rootfinder

## Description

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
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 -Ogf myfile.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: -dfi for function calls and improvement
-p poly

Solve the polynomial specified on the command line.

For example: mpsolve -p "x^4-6x^9+6/7x + 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