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

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


sorry, its coputeDirect():
http://eigen.tuxfamily.org/dox/classEigen_1_1SelfAdjointEigenSolver.html#a85cda7e77edf4923f3fc0512c83f6323

in short:

SeflAdjointEigenSolver<Matrix2f> eig;
eig.computeDirect(A);

eig.eigenvalues();
eig.eigenvectors();

gael

On Sat, Jun 30, 2012 at 10:41 PM, Alexey Korepanov <khumarahn@xxxxxxxxx> wrote:
> 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:
>>
>> Hi,
>>
>> 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.
>>
>>
>> gael
>>
>> On Sat, Jun 30, 2012 at 8:49 PM, Alexey Korepanov <khumarahn@xxxxxxxxx>
>> wrote:
>>>
>>> Hello.
>>>
>>> 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?
>>>
>>> Best
>>>
>>>
>>
>
>
>
>



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