-
-
Notifications
You must be signed in to change notification settings - Fork 482
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
Nilpotent Lie groups #26344
Comments
comment:1
A partial first version is now ready, containing the exponential map, exponential coordinates of the first and second kind and group multiplication. Vector fields and the adjoint map are still completely missing, but I thought it would be good to get a working copy up in case there are already some glaring flaws. In particular, one thing that did not feel quite right was the current method of computing the symbolic group law. The only way I could think of was to extract the structural coefficients of the Lie algebra and to create a new Lie algebra over
Another thing is how to handle the symbolic group law. Currently it is done by creating two dummy-variables, computing the group law as a vector expression in exponential coordinates (through the BCH formula) and then evaluating the group law by substitution of the dummy-variables. This is still work-in-progress, but I would be happy to hear comments or suggestions. New commits:
|
Commit: |
Dependencies: #26080 |
comment:3
Eric, I am cc-ing you in case you have any comments. The symbolic ring is usually a bit of a slow beast. it definitely feels wrong to have to have a second copy of the Lie algebra over Anyways, I will think more about this. |
comment:4
Good to see that Lie groups are arriving in Sage! |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:6
I am not sure I agree with caching the Another comment is that Now that I have enough time, I see why you are using the symbolic ring to create the group law. You are considering things as generic parameters and seeing what the result is. In principle, creating the |
comment:7
Replying to @tscrim:
Right, I did not realize there is manifold level caching. I will remove it from here.
This is a good point, and I should in fact change
Ideally construction of a Lie group would not rely on the Lie algebra having a However it would make sense to by default use Thanks for the comments! |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:9
I gave a first glance: this looks very nice! A very minor remark: in the example shown in line 151 of
is
Maybe you chose the longer version as being more explicit?
Since |
comment:10
Replying to @egourgoulhon:
This choice was just a consequence of lack of knowledge on my part. Thanks for the advice, this will clean up the doc quite a bit!
At this point I don't know what should be the default frame. The best sounding options are either the coordinate frame of the default system of coordinates, or the left-invariant frame. |
comment:11
Replying to @ehaka:
In this case, it is probably better to keep the explicit form, i.e. |
comment:12
In the documentation, maybe you could use the method
Let us first introduce a specific element
We introduce next the left translation by
Then we check that
Of course, we have as well
Of course, a full check would require that |
Changed branch from u/gh-ehaka/nilpotent_lie_groups-26344 to public/groups/nilpotent_lie_groups-26344 |
comment:13
I moved the code over to a public branch so you can feel free to add improvements in if you so wish. I'm also still happy to hear comments and corrections and do the implementation myself as well. Replying to @egourgoulhon:
Thanks for the suggestion, this is indeed a very good demonstration of basic Lie group functionality. I also ended up adding the creation of left/right translations as a prebuilt method as these maps should see heavy use in practice. I have still to add in the methods for the logarithm and adjoint maps, after that I would for the moment be satisfied with the basic Lie group functionality. Or at least I can't think of what it is I am missing. New commits:
|
comment:14
There is also no real penalty for having more tickets (at least, I will continue to be reviewing tickets for at least the next year |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:16
The missing parts of the initial set of features I had in mind are now in. It didn't seem right to add the adjoint without adding the conjugation map as well so that is now there as well. At this point I'll move the ticket over to the bug-hunting/improvement phase. |
comment:17
I took the liberty of adding a new section "Lie groups" at the manifold metaticket #18528 and put your ticket there. I hope you don't mind. |
comment:26
Replying to @ehaka:
For the reference manual, there are naturally two options:
since Lie groups lie at the intersection of both topics. Depending on which one you choose, I would rename the source file |
comment:27
I would probably put it in with the groups as I think that is there more prominent feature. Moreover, our canonical Lie groups are usually thought of as (matrix) groups, GL, O, U, etc. |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:29
I moved the file to I added the subsection of Lie groups to the group reference, but it is slightly disturbing to have a separate "Lie groups" subsection when there is the matrix groups heading containing GL and others. On the other hand, the abstract-manifold Lie group doesn't fit under the "Matrix and affine groups" heading, and extending it to something like "Matrix, affine, and Lie groups" seemed even worse. Hopefully this a problem that will solve itself once more Lie group functionality eventually gets added in so that the "Lie groups" heading feels more fleshed out. |
comment:30
I would argue that this is okay since the other matrix groups do not know they are Lie groups when working over topological fields and also work for a larger class of base fields (e.g., finite fields). |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:32
I changed the docs of Although now the |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:34
It probably should be removed, but it should be a new subcatalog I removed the I cached Other misc doc tweaks. If my changes are good, then I think we can set a positive review unless Eric has some more comments. |
Reviewer: Eric Gourgoulhon and Travis Scrimshaw |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:36
Ah, I didn't know about the groups catalog, this is a very good solution, thanks! I fixed a typo in the catalog and removed the now empty file I modified the Other than that, the changes look good to me. |
comment:37
Replying to @tscrim:
Everything looks good to me, so I agree with the positive review. |
Changed branch from public/groups/nilpotent_lie_groups-26344 to |
Changed reviewer from Eric Gourgoulhon and Travis Scrimshaw to Eric Gourgoulhon, Travis Scrimshaw |
Changed commit from |
comment:41
This should be re-targeted for 8.5. |
Implementation of nilpotent Lie groups as manifolds with a distinguished global coordinate system (exponential coordinates).
Planned features:
exp:\mathfrak{g}\to G
and the logarithmAd:G\times \mathfrak{g}\to\mathfrak{g}
Depends on #26080
CC: @tscrim @egourgoulhon
Component: group theory
Keywords: Lie groups, Lie algebras, nilpotent
Author: Eero Hakavuori
Branch:
b2ef2d9
Reviewer: Eric Gourgoulhon, Travis Scrimshaw
Issue created by migration from https://trac.sagemath.org/ticket/26344
The text was updated successfully, but these errors were encountered: