[eigen] Re: Eigenvalues and eigenvectors of 2x2 self-adjoint matrix

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]

I couldn't find a trace of directCompute() in documentation and source code. How does it work?

On 06/30/2012 03:03 PM, Gael Guennebaud wrote:

there is a directCompute() method that does perform the decomposition
using closed form formulas for 2x2 and 3x3 real matrices.

Maybe the 2x2 algorithm could be used by default if it appears to be
100% reliable, that is clearly not the case for the 3x3 case.


On Sat, Jun 30, 2012 at 8:49 PM, Alexey Korepanov <khumarahn@xxxxxxxxx> wrote:

I am comparing precision of computation of eigenvectors and eigenvalues of
eigen and matlab. I started with a simple 2x2 self-adjoint case, working
with long double datatype.  The best method seems to be.. "by hand": solving
the quadratic equation for eigenvalues, and then computing eigenvectors.
Both matlab and eigen are slower and give less precise results. As a measure
of precision I take Frobenius norm of AV-VD, where A is original matrix, V
is matrix of eigenvectors, D is diagonal matrix of eigenvalues.

Difference in precision is probably not a very big deal (like 4 last bits in
long double), but it would be interesting to understand what eigen does to
compute the decomposition for self-adjoint 2x2 matrix. It looks like eigen
gives least precise results when discriminant of equation for eigenvalues is
large. Can somebody comment on this?


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/