Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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
[Merged by Bors] - feat(geometry): first stab on Lie groups #3529
[Merged by Bors] - feat(geometry): first stab on Lie groups #3529
Changes from 35 commits
03df6e2
80b9cab
d8ad078
56d2716
da64672
53b8e04
fee8ca8
dc6197b
b807d94
4652e8a
20866d7
99cee94
ac6c3ba
c8f1304
f31adad
fd3efc7
a9bdde6
46af74b
f5abebf
3f5fa6d
ee83faa
37a21d4
629ad00
ee812a2
283dd6e
fcb4714
8e358bc
a8ef625
2bfd38d
81c590d
4fd7e93
d99d42e
2e49c6e
9bbf9b3
4ebee58
0cedba6
10142d0
ddd0b02
0a73ef2
485debf
726ed6c
1503909
b17d3d5
6a7aeba
34fd3b9
92fe915
652e523
9c32b00
d6eb4ff
41d4149
3ceb3e9
82f3a0d
2a1abc6
c81540a
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
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.
What does this buy you? You won't get any example with boundary, this would violate homogeneity, right? Can't you simplify stuff by restricting to models without boundary?
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.
This is exactly what I did in when I first wrote Lie groups but Sébastien advised against it so that is why I changed it. I can tell you his reasons but he probably can explain to you better himself!
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.
Models without boundary are a particular case of models with boundary, so I don't really see what you would like to do. One thing you can try is to require that the model with corners is the identity model with corners on a vector space, but this is not stable under product, so the product of two Lie groups would not be a Lie group if you required this.
One thing you can do is to require the additional assumption
[boundaryless I]
which is the way we have to say in a canonical way that there is no boundary. And indeed if it turns out to be useful at some point, we will definitely add it, either to the statements that need it or to the definition of Lie group. But I don't think this has shown up yet.You could maybe add a comment about this in some docstring?
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.
Is you in the first paragraph referred to me or to Patrick?
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.
It's Patrick, sorry for being unclear. Or a generic "you".
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.
I want this to be valid only under the hypothesis of G being a Lie group, I do not care about unused arguments. How can I avoid Lint complaining? Also, should I protect it with a namespace?
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.
Why do you want this to be valid only under the hypothesis of G being a Lie group? And yes, it should be in a namespace.
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.
@Nicknamen I think that definition is also useful for any (non-Lie) group acting on itself. So please put it in a general spot. (And only assume
has_mul
.)Once you've done that, maybe it should no longer be in a namespace (I wouldn't know which one) but give it a slightly longer name (like
right_mul
?)Also, if you tag it with
@[to_additive]
then it also becomes available in the additive hierarchy.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.
To disable the linter, write
@[nolint unused_arguments] def ...
. And yes, this should definitely be in aLie_group
namespace.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.
I do not want to use it for general groups because indeed it is not common notations for general groups (as far as I saw), and I want to use exactly this notation for Lie groups because this is the most used notation in maths and it makes things way more readable. I do agree for general groups it'd be cool to have
right_mul
but my goal here is to make statements of theorems about left-invariant vector fields and similar stuff that is specific of Lie groups readable as much as they are readable with this notation in common maths!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.
You can have
left_mul
andright_mul
as general concepts for general groups, and a localized notation that let's you writeL
andR
in a Lie group context.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.
Yeah sure! I prefer doing it only for Lie groups now because I do not really know the algebra folder and I do not know where to put such definitions but if someone really wants the general notion for any group with this PR please feel free to push a commit