Re: [eigen] eigen3 SelfAdjointEigenSolver<Matrix3f> still "buggy" |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/eigen Archives
]
- To: eigen <eigen@xxxxxxxxxxxxxxxxxxx>
- Subject: Re: [eigen] eigen3 SelfAdjointEigenSolver<Matrix3f> still "buggy"
- From: Benoit Jacob <jacob.benoit.1@xxxxxxxxx>
- Date: Wed, 1 Sep 2010 08:02:13 -0400
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=ythJa7KWI23IJ+73g+swx8P4IVUZhCABPd+DfHDxhj0=; b=A8kZfER787XejZkGwSqv8dJNfv4sz1gnDcoyUb99BBHp8G81+aV389hvdEiMiltkbJ j2oLFOvf3wjpPDA/k+yhRP8zYiaugUpBk9yQJ/on93kynW7cFxSyK4rQTolD3kXXefLP aSJYS7X8Q+hmnDhh7qz+QhLB2bGeFet52DElA=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=b0KTBM222UNiP4+AQShrd416xFPdDOcX6iclvN5kY86qzE20/fAairGkbBzIDo4vS9 kc3sK9IfLAaqB7cQPZ9hXQVKQSoRskVVI7gX4EioBdgtBnN7HunWekKQ6Y/pceQSX1LD z7WS6qnlsyYsxXqhARP71wUP4Y03jO1uEb7BM=
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/
>>>
>>>
>>>
>>
>>
>
>