# FreeBSD Manual Pages

```MPSOLVE(1)			 User Commands			    MPSOLVE(1)

NAME
MPSolve - 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 equa-
tion:

u: Classic unisolve algorithm  (Aberth  iterations  and  dynamic
precision)
s:  Secular  algorithm,  using regeneration of increasingly bet-
ter-conditioned

secular equations	with the same roots of the polynomial

-b     Perform Aberth iterations	in Jacobi-style	instead	of  Gauss-Sei-
del

-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  de-
gree 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

The full	documentation for MPSolve is maintained	as a  Texinfo  manual.
If  the	info and MPSolve programs are properly installed at your site,
the command

info MPSolve