|Re: [eigen] Polynomial solver, eigenvalues of companion matrix and balancing|
[ Thread Index |
| More lists.tuxfamily.org/eigen Archives
- To: eigen@xxxxxxxxxxxxxxxxxxx
- Subject: Re: [eigen] Polynomial solver, eigenvalues of companion matrix and balancing
- From: Gael Guennebaud <gael.guennebaud@xxxxxxxxx>
- Date: Fri, 20 Jul 2012 18:28:56 +0200
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-type; bh=x4rCePIrdbQteMktqMMN9FhxhBOzY/UpKxCV5dElQ2U=; b=z+SsBxAWkuG0QHCkaz8wWsLmK13vD4JuHvWA/DGJOCWZW++LEe4R3uGBRtkLD9kBbn 5wRxh5s5taNTdaCoUIDeidNfAhE5Z2Q3Msl4IOltJa3zcP/AYhG/JkqniNU5yOS9G9dA v2od0d4ip2ntc8yAAB+QuKZxSO4DBuZhu7tXYfFVj7Du09CAudh7GfXjx8loT0MwqKUT JV37t1j+ftf7TBlaZnbZvowKmLXRZEQR9hOipiDHw3yNGd1tnzKrKw0ieIZrMN8hal+p UrPktExPQB9LbvCYcuDEu2tTnHEz3SQPfq8DPpSsu14/8WOg7VcRqMuJh6yHjPsFD4Rn nB7w==
On Fri, Jul 20, 2012 at 9:24 AM, Markus Moll
> 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:
http://eigen.tuxfamily.org/bz (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.