-
Notifications
You must be signed in to change notification settings - Fork 126
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
LieAlgebras: further improvements and new features #2528
LieAlgebras: further improvements and new features #2528
Conversation
607d712
to
05f14f3
Compare
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## master #2528 +/- ##
==========================================
- Coverage 71.69% 71.57% -0.12%
==========================================
Files 418 420 +2
Lines 57798 58178 +380
==========================================
+ Hits 41438 41642 +204
- Misses 16360 16536 +176
|
fee3f32
to
c22b982
Compare
The errors on nightly are not due to changes here. |
@lgoettgens Do you know who would be a suitable reviewer? |
I didn't see I can request reviews now by myself. I chose @fingolfin and @ThomasBreuer as they are, by my knowledge, the two people from the OSCAR team having a background and maybe an opinion on Lie algebras. |
8ea3785
to
c5615e9
Compare
c5615e9
to
9473995
Compare
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 looks overall very nice.
I have left a few minor comments.
Return `S` as a Lie algebra. | ||
""" | ||
function lie_algebra(S::LieSubalgebra) | ||
return lie_algebra(basis(S)) #, embedding_hom # TODO |
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.
There are other places, too, where an independent new algebraic structure gets created from a given substructure. Either the embedding morphism should be returned by the function that constructs the new object, or a function is_subalgebra
(or so) should be provided that computes the embedding on demand (similar to the situation with is_subfield
or is_subgroup
).
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.
As reflected by the comment in the code, this is planned for a future PR. As one would first introduce a new type of morphisms, this seemed to be too involved for this PR, but will be added in the future.
Return the normalizer of `I` in `L`, i.e. $\{x \in L \mid [x, I] \subseteq I\} = L$. | ||
""" | ||
function normalizer(L::LieAlgebra, I::LieAlgebraIdeal) | ||
return sub(L) |
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.
The code says that the normalizer of an ideal is the full Lie algebra, the documentation states the definition of a normalizer; this looks strange.
It should be checked that I
is really an ideal in L
.
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.
For subalgebras, the corresponding function actually calculates something. As the normalizer of an ideal always is the full Lie algebra, there is nothing to check here. I adapted the docstring to reflect that in 1e40cb8
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.
Thanks.
It is still possible that someone enters an I
that is an ideal in some other Lie algebra, not in L
.
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.
Oh yeah, that's true. I will add a check for that after lunch
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.
Added in e7f6534
096bb8d
to
eaec892
Compare
All comments by @ThomasBreuer should be addressed now. |
@lgoettgens Thanks. |
This includes:
base_ring
bycoefficient_ring
universal_enveloping_algebra
as a special constructor forPBWAlgebra