Speed up RecogniseClassical in some cases#386
Merged
Conversation
... by using genss to compute projective stabilizer chains. This
is much faster than the GAP library, in parts because it doesn't
verify the result (but even if we allow the GAP library to also
omit the verification, genss still handily wins).
Moreover, in the Omega(+1,8,5) case, a return value was wrong,
meaning that for certain maximal subgroups of CGO^+(8,5) we
failed to give up, which resulted in terrible runtimes.
Before:
gap> RecogniseClassical(SO(1,8,5));; time;
2665
gap> RecogniseClassical(maxes_cgo_plus_8_5[1]);; time;
29965
After:
gap> RecogniseClassical(SO(1,8,5));; time;
214
gap> RecogniseClassical(maxes_cgo_plus_8_5[1]);; time;
325
This is still not fantastic but at least acceptable. For reference,
Magma takes 60 resp. 80 ms.
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #386 +/- ##
==========================================
+ Coverage 68.83% 69.18% +0.35%
==========================================
Files 43 43
Lines 18409 18406 -3
==========================================
+ Hits 12671 12734 +63
+ Misses 5738 5672 -66
🚀 New features to boost your workflow:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
... by using genss to compute projective stabilizer chains. This is much faster than the GAP library, in parts because it doesn't verify the result (but even if we allow the GAP library to also omit the verification, genss still handily wins).
Moreover, in the Omega(+1,8,5) case, a return value was wrong, meaning that for certain maximal subgroups of CGO^+(8,5) we failed to give up, which resulted in terrible runtimes.
Before:
After:
This is still not fantastic but at least acceptable. For reference, Magma takes 60 resp. 80 ms.
Resolves #380