On Sun, May 6, 2012 at 8:24 AM, Hauke Strasdat
<strasdat@xxxxxxxxx> wrote:
Hi,
I wrote a small library based on Eigen for various Lie groups: group
of in-plane rotation SO(2), group of 3d rotation SO(3), group of
rotation and translation in 2d SE(2), group of rotation and
translation in 3d SE(3),
group of rotation and scaling "ScSO(3)", group of rotation,
translation and scaling Sim(3):
https://github.com/strasdat/Sophus
All groups offer closed form solutions for the matrix exponential and
logarithm, adjoint representation, group action,
generators, Lie brackets etc.
Internally, SO(3), SE(3), ScSO(3) and Sim(3) are based on quaternions,
so the group operation can be calculated efficiently.
Also, a number of unit test are included (which verify that
singularities in exp and log are sidestepped properly).
I am aware that this library has quite an overlap with the Geometry
module. Still, I think it might be quite useful to
some users since it offers additional functionality and a unified API.
If there is some interest, I could add it as an unsupported Eigen
module. In the long run,
one could try to figure out, how to merge it or integrate it further
with the Geometry module.
(At the moment it is a non-template library which only has "double"
support. However, if I were to add it
as an unsupported module, I would be happy to turn it into a header
only library with additional "float"
support.)
Hauke S.