artivis / manif

A small C++11 header-only library for Lie theory.
https://artivis.github.io/manif
MIT License
1.51k stars 246 forks source link

Paper / Cheat Sheet vs Code inconsistency #268

Open willat343 opened 1 year ago

willat343 commented 1 year ago

The paper and the cheat sheet has the lie algebra of the R^n group as R^n.

However in the code the lie algebra of the R^n group is an (n+1)x(n+1) matrix, and the hat() operator of RnTangentBase creates this matrix with the vector coefficients in the top right corner.

I'm wondering which is correct and why there is a difference?

joansola commented 1 year ago

See #109 for context and some reasoning around this. You will need to scroll down quite a lot, until around this https://github.com/artivis/manif/pull/109#issuecomment-559034940.

See also #114 for the final decision

willat343 commented 1 year ago

Ok so it seems like the final decision was to make the lie algebra x^ = x.hat() = [0 x ; 0 0]?

This makes sense to me (admittedly with much less knowledge in this area than yourself and artivis) with the lie bracket equal to zero: [x^, y^] = x^ * y^ - y^ * x^ = 0. If x^ == x (a vector instead of a matrix) then I don't see how this makes sense.

Therefore can I suggest that the cheat sheet be updated?