Eigensolve performance
The following files give complete timings for eigensolve and mpsolve
on most of the polynomials on the MPSolve web site. In all cases,
both programs computed all roots to at most the relative error specified
by the number of decimal digits. (The command "unisolve -Ga -on
file" was used for mpsolve and "eigensolve -on -i200 file"
for eigensolve.) A polynomial may have been skipped because
the running time was too large, or because the format of the file was inappropriate.
The results can be summarized as follows.
-
For dense, ill-conditioned polynomials (Wilkinson, Chebyshev, Laguerre,
Legendre, Sendra etc.), both programs are relatively slow, but eigensolve
is much faster than mpsolve.
-
For well-conditioned polynomials (e.g. `easy', 'sparsennn'), mpsolve
is faster than eigensolve. In some cases, for example polynomials
of degree d several hundred or more, mpsolve reports roots
significantly faster than a single floating-point eigenvalue computation
on a dxd matrix.
-
Mpsolve takes advantage of sparsity, and has special hooks for polynomials
that can be evaluated efficiently by straight-line programs. In these
cases mpsolve has an advantage.