-
Notifications
You must be signed in to change notification settings - Fork 249
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Lie bracket #300
Add Lie bracket #300
Conversation
Signed-off-by: artivis <deray.jeremie@gmail.com>
@joansola Your opinion about the api and more importantly about the fact that it is in vector form? Calling it 'bracket' isn't too much of a stretch since it is actually 'bracket^vee'? Doing so has the advantage that it doesn't requires the |
This is great, looking forward to seeing this merged. One question and one comment from my side:
|
From a mathematical standpoint, yes, our vector representation of the Lie algebra is indeed a Lie algebra, and it has a bracket operator, which is this one, and they are both equivalent, because both spaces are isomorphic. From a code standpoint. What´s the best way to document this so that a foreign can FIND this documentation trivially? Like, you are on vscode and you hover your mouse over. Then the doc appears and you can read this note just there. Because this is the only point of concern, it does not require a serious documentation, just a note. But this note needs to be findable very easily. I´d say normally document it in the .h file as any other doxygen documentation. At least this. But being all templated, would the IDEs, by hovering over the function calls, display such doc? I dont know. |
@joansola Regarding documentation, hopefully the doxygen+api is clear enough and should do the job. |
OK sounds good but here you have two @return statements and say that the return type is LieAlg :-D |
@joansola Fixed the doc. |
@nielsvd Thanks for the feedback. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All seems good to me!!
:-)
Add the Lie bracket in vector form (
[x,y]^v = adj(x) . y
).It is implemented as both :
x.bracket(y)
Tangent::Bracket(x, y)
with the later being a personal favorite in terms of notation.
The actual bracket in the Lie algebra can then be computed as
Tangent::Bracket(x, y).hat()
.Note: the
vee
operator will be implemented in a subsequent pr.Closes #267 .