Re: [eigen] eigen3 SelfAdjointEigenSolver<Matrix3f> still "buggy"

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


2010/8/31 Radu Bogdan Rusu <rusu@xxxxxxxxxxxxxxxx>:
> Do you have anything against us copying these two methods in PCL until
> Eigen3 beta2 comes out? This is a hefty speed-up, and our 3D feature
> estimation will be happier. :)

This is Gael's code, but if he doesn't reply, usual "rules" apply:
it's fine to copy code as long as copyright&license are respected.

Cheers,
Benoit

>
> Thanks,
> Radu.
> --
> | Radu Bogdan Rusu | http://rbrusu.com/
>
> On 08/31/2010 11:24 AM, Benoit Jacob wrote:
>>
>> 2010/8/31 Radu Bogdan Rusu<rusu@xxxxxxxxxxxxxxxx>:
>>>
>>> Wow, not bad at all:
>>>
>>> 0.196087 seconds
>>> 0.06826 seconds
>>> Eigenvalue/eigenvector diffs:
>>>  1.15484e-07 -2.38419e-07  3.57628e-07
>>> -5.96046e-08  6.55651e-07  2.98023e-08
>>> -2.98023e-08 -8.34465e-07  4.17233e-07
>>> -5.96046e-08  4.17233e-07 -3.57628e-07
>>>
>>> This might be good enough for us :) I wonder what numerical issues were
>>> you
>>> referring to. All in all, this would be a great addition to Eigen3! If
>>> you
>>> add it as a template specialization it might be difficult for someone
>>> else
>>> to avoid using it. I vote for a special class.
>>
>> I agree, a special class makes the most sense.
>>
>> Benoit
>>
>>>
>>> Cheers,
>>> Radu.
>>>
>>> On 08/31/2010 01:14 AM, Gael Guennebaud wrote:
>>>>
>>>> If you want an even faster 3x3 eigen decomposition, you can have a
>>>> look at the file bench/eig33.cpp (in the hg repo), which compares
>>>> current Eigen's 3x3 eigensolver against a direct method solving the
>>>> underlying degree 3 polynomial. To test it:
>>>>
>>>> g++ -I .. -O2 -lrt eig33.cpp -DNDEBUG&&    ./a.out
>>>>
>>>> Here it is about 4 times faster though the speed of the default method
>>>> is not constant since this is an iterative method. I'm still unsure
>>>> about how to integrate it into Eigen because I don't want to make it
>>>> the default. Indeed, it might suffers from some numerical issues if
>>>> the matrix is not well conditioned. It also involves some
>>>> trigonometric functions that is not very nice. So I guess we could add
>>>> a template option to SelfAdjointEigenSolver or add a special class...
>>>> well there are many possibilities!
>>>
>>> --
>>> | Radu Bogdan Rusu | http://rbrusu.com/
>>>
>>>
>>>
>>
>>
>
>



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