Re: [eigen] Polynomial solver, eigenvalues of companion matrix and balancing

[ Thread Index | Date Index | More Archives ]

On Fri, Jul 20, 2012 at 9:24 AM, Markus Moll
<markus.moll@xxxxxxxxxxxxxxxx> wrote:
> Hi
> Sorry for reviving an "ancient" thread, but:
> I recently had to extract roots of a fourth order polynomial. Using Eigen to
> find the eigenvalues of the companion matrix, I found that some roots were
> horribly bad (compared to matlab, which gave much more reliable results). I
> soon figured that the difference is that Matlab balances the matrices
> beforehand. In this thread, Manuel said he had written a balancer, but I
> cannot find it among the unsupported modules, nor can I find his bitbucket
> account any more.

Balancing seems to be done in the Companion.h file.

> Because I wasn't aware of this previous effort, I had already translated
> LAPACK's dgebal (the diagonal scaling part only) to C++. As I feel that
> balancing should be supported in Eigen (via another EigenSolver flag?), I
> wonder if this could be included. The original LAPACK dgebal.f is published
> under the 3-clause BSD license, so the licenses should be compatible according
> to my understanding.

Yes you could propose something on our bug tracker: (better to not forget about it, and
better to share code). If balancing is not expensive, it could be done
by default with an option to not balance.


> Regards
> Markus

Mail converted by MHonArc 2.6.19+