-
-
Notifications
You must be signed in to change notification settings - Fork 540
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
Bug in Lie algebra's chevalley_eilenberg_complex method #33836
Comments
comment:1
The |
Changed keywords from lie algebra to Lie algebra |
This comment has been minimized.
This comment has been minimized.
comment:2
Thanks for the summary. I will try to look at this next month; right now I am traveling and then I will be moving universities. If someone else is able to fix it, I can likely do a quick review. However, I likely won’t have time to debug it for now. |
comment:3
I have a little bit of time and I found the source of the bug: the
We don't want to change this as the (linear algebraic) model for this is a subspace of a vector space:
So we just need to remove an assumption that the length of the vector equals the dimension of the vector space. |
Commit: |
Author: Travis Scrimshaw |
comment:4
Okay, here is a fix that converts the vector to something of the correct length when working with a submodule. Timings (run with 1 core for more expressive timings):
versus before
So there is some slowdown likely between 5-10%, but it can't be helped because the code needs to work. New commits:
|
comment:5
See also #34006 for a related issue. |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:7
Replying to @tscrim:
I'm wondering about that! There is only one With the ticket: sage: g = lie_algebras.sl(QQ,2) # 3 dim
sage: %time g.chevalley_eilenberg_complex(ncpus=1)
CPU times: user 0 ns, sys: 18.4 ms, total: 18.4 ms
Wall time: 44.5 ms
Chain complex with at most 4 nonzero terms over Rational Field
sage: g = lie_algebras.sp(QQ,4) # 10 dim
sage: %time g.chevalley_eilenberg_complex(ncpus=1)
CPU times: user 50.5 ms, sys: 30.1 ms, total: 80.6 ms
Wall time: 443 ms
Chain complex with at most 11 nonzero terms over Rational Field
sage: g = lie_algebras.sl(QQ,4) # 15 dim
sage: %time g.chevalley_eilenberg_complex(ncpus=1)
CPU times: user 13.6 s, sys: 88 ms, total: 13.7 s
Wall time: 28.7 s
Chain complex with at most 16 nonzero terms over Rational Field Without the ticket: sage: g = lie_algebras.sl(QQ,2) # 3 dim
sage: %time g.chevalley_eilenberg_complex(ncpus=1)
CPU times: user 11.1 ms, sys: 11.3 ms, total: 22.4 ms
Wall time: 52.8 ms
Chain complex with at most 4 nonzero terms over Rational Field
sage: g = lie_algebras.sp(QQ,4) # 10 dim
sage: %time g.chevalley_eilenberg_complex(ncpus=1)
CPU times: user 58.4 ms, sys: 20.6 ms, total: 79 ms
Wall time: 435 ms
Chain complex with at most 11 nonzero terms over Rational Field
sage: g = lie_algebras.sl(QQ,4) # 15 dim
sage: %time g.chevalley_eilenberg_complex(ncpus=1)
CPU times: user 13.8 s, sys: 7.25 ms, total: 13.9 s
Wall time: 29 s
Chain complex with at most 16 nonzero terms over Rational Field Anyway, you should add a test showing that the issue is fixed. |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:9
Replying to @soehms:
Hmm...interesting. Well, either way, a bug has been fixed.
Done. I also made one other small tweak for speed. |
Reviewer: Sebastian Oehms |
comment:10
Replying to @tscrim:
LGTM! Once there is a green patchbot we can set positive review- |
comment:11
Now, there is just one failure in the current patchbot log-file which is obviously unrelated to the ticket. |
comment:12
Thank you. |
Changed branch from public/lie_algebras/fix_ce_complex-33836 to |
As pointed out in this sage_devel thread, the Lie algebra method
chevalley_eilenberg_complex()
raises an exception in the following example:CC: @tscrim @fchapoton
Component: algebra
Keywords: Lie algebra
Author: Travis Scrimshaw
Branch/Commit:
8526fe9
Reviewer: Sebastian Oehms
Issue created by migration from https://trac.sagemath.org/ticket/33836
The text was updated successfully, but these errors were encountered: