-
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
Serialization of Lie algebras #3980
Conversation
f093096
to
45e8db0
Compare
@antonydellavecchia I started duplicating everything that you added for the other two types of Lie algebras. All of them now have different problems I am afraid I need your help with.
L = lie_algebra(QQ, :A, 2)
L = general_linear_lie_algebra(QQ, 2)
# empty direct sum
L = direct_sum(QQ, LieAlgebra{QQFieldElem}[])
# non-trivial example
L1 = general_linear_lie_algebra(QQ, 2)
L2 = lie_algebra(QQ, :A, 2)
L = direct_sum(L1, L1, L2) # it is important that the first two summands are still identical after saving and loading
x = basis(L, 1) # for one elem
xs = basis(L) # for a vector of elems
|
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #3980 +/- ##
==========================================
+ Coverage 84.58% 84.64% +0.05%
==========================================
Files 597 598 +1
Lines 82265 82445 +180
==========================================
+ Hits 69587 69783 +196
+ Misses 12678 12662 -16
|
803459a
to
bc8c609
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.
@antonydellavecchia Thanks a lot for your help with this! I added some comments to things that came up after our discussion when I played around some more.
The problem with empty vectors is worse than expected, see #3983 for details what I found while digging around.
Can you take it from here? Once you are happy with all the changes in this PR, please write your approval in a comment (since Github won't allow you to do it the usual way) and I am then happy to merge.
save_object(s, get_attribute(L, symbol_prop), symbol_prop) | ||
end | ||
end | ||
# TODO: handle root_system |
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.
@HereAround @emikelsons please wait for this TODO to be resolved (ETA end of August) before putting Lie algebras inside your FTheoryTools serialization. Or, alternatively, have a script that re-creates the serialized models so that we can just re-run it once the serialization of Lie algebras changes
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.
Edit: I already managed to resolve this today. But you should have a reliable way to re-generate your FTheoryTools models anyway, since there certainly will be changes to the Lie algebra serialization. (Not necessarily breaking, but adding more information about them and thus e.g. speeding up some operations on them)
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.
Sorry, this slipped my attention.
All good. I have opened #4008 to coordinate this and many other serialization changes for FTheoryTools
. In other words, waiting for you and @antonydellavecchia to tell us when/how to proceed.
9b5f726
to
30f3b69
Compare
I added serialization for some more Lie algebra related types. This is starting to make fun 😅 |
This comment was marked as outdated.
This comment was marked as outdated.
30f3b69
to
c159012
Compare
c159012
to
524e52d
Compare
524e52d
to
fa2e7ad
Compare
8c14f0f
to
6ca22ee
Compare
98d6503
to
a37ff80
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 is now finished from my POV. @antonydellavecchia could you please have a look if you see any issues and if not, proceed with the merge?
* some progress on lie algebra serialization * more progress * serialization for SRow * more * fix for general lie algebras * direct sum lie algebras working * remove whitespace * Fix for empty direct sum * Make LieAlgebraElem work * Some optimizations * Add serialization tests * Add serialization of attributes * Add macro for importing serialization functions * Add reference to issue * foo * Add serialization of root systems * Add serialization of weyl groups * Connect Lie algebra and root system serialization * Make attribute serialization work for Lie algebras * Add artifact serialization test --------- Co-authored-by: Lars Göttgens <lars.goettgens@rwth-aachen.de>
Implements serialization for Lie Algebras