Re: [eigen] Potential unsupported module: Lie Groups |

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

*To*: eigen@xxxxxxxxxxxxxxxxxxx*Subject*: Re: [eigen] Potential unsupported module: Lie Groups*From*: Hauke Strasdat <strasdat@xxxxxxxxx>*Date*: Mon, 7 May 2012 13:19:39 +0100*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=Rrtj6XD0ijwIKtVso6w02fb69q1TqeUiGTMVEFZ84vI=; b=05NK7PhTFx7cvgx1SveDWL0on1tYDC4X2jS61pQakWsfcuXFq7kryRx0BpNgY+E96y W2SzBBBpofl4MZNaHusSGDmg5eGs+f7XldOGZMmeR8oTkQkYIOW08ndT9DLM/A+PDIBv 6fYAO9qky04Pjo0nrDf5Q12hSXMOJThHtNSDMeEC1BniigS8YaeCTWwG2OBDUyNeu6tq rUHYj6MKp0dLChLAStazphNuP5sXPDTcVLmHpi0WwHtVa68kHzoZoycKS6inzzXGfbvV HDzfrgZStggEVdlXomj5IvC436ALCe7aFhS7yZaumtVpeeTKX/VjN8++G74EVrlmY543 BzLQ==

On Sun, May 6, 2012 at 7:20 PM, Benoit Jacob <jacob.benoit.1@xxxxxxxxx> wrote: > Last year, something reminiscent of this was announced on this list: > http://listengine.tuxfamily.org/lists.tuxfamily.org/eigen/2011/08/msg00089.html Actually, I quite like the design of LGSM: https://bitbucket.org/jsreng/eigen/src/9220daa0078a/unsupported/Eigen/src/Lgsm. It has similar features to my proposal (e.g. quaternion-based SO(3), vector-based Lie brackets, adjoint...), but offers nice interfaces (LieGroup, LieAlgebra). Some features seem to be missing (e.g. hat-operator & vee-operator which are especially useful to test the correctness of the Lie bracket in unit tests), but these could be added easily. I think it would be a great idea to add an unsupported module based on this proposal. Then, we could merge other Lie group/algebra classes and unit tests into it. LGSM offers at the moment SO(3) and SE(3). Just, I think we should rename LGSM to "LieGroups" or something else more general... (Maybe, we could also add a more general interface "Manifold", so that the 2-sphere S^2 could added too.) > I'm afraid you missed a singularity for log of the negative unit quaternion > (w=-1, v=0). Oh, yes, thanks for that! I checked for singularities using "exp(log(x)) = x" tests, but thereby I ignored the quaternion double cover. I fixed it and updated my tests. (An atan2-based implementation seems to be a good strategy for non-unit quaternions. There is also one in LGSM.) > I think a first step could be to integrate quaternion exp and log into > Eigen, maybe also add scaled-axis representation (i.e. the result of > SO3::log) as another representation for rotations. This would be nice. Still, I'd like the idea of a Lie Group module. In my opinion, the Lie group module should offer an convenient and unified API, while some implementation could be in the Geometry module in order to avoid code duplicates. (e.g. SO3::log could be implemented as "Vector3 Quaternion<...>::GetRotationVector(...) const"). Hauke S.

**Follow-Ups**:**Re: [eigen] Potential unsupported module: Lie Groups***From:*Christoph Hertzberg

**Re: [eigen] Potential unsupported module: Lie Groups***From:*Mathieu Gautier

**References**:**[eigen] Potential unsupported module: Lie Groups***From:*Hauke Strasdat

**Re: [eigen] Potential unsupported module: Lie Groups***From:*Christoph Hertzberg

**Messages sorted by:**[ date | thread ]- Prev by Date:
**Re: [eigen] Potential unsupported module: Lie Groups** - Next by Date:
**Re: [eigen] Potential unsupported module: Lie Groups** - Previous by thread:
**Re: [eigen] Potential unsupported module: Lie Groups** - Next by thread:
**Re: [eigen] Potential unsupported module: Lie Groups**

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