-
Notifications
You must be signed in to change notification settings - Fork 163
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
Unexpected slowness when computing NormalSubgroups(SymmetricGroup(n))
for some n
#2683
Comments
NormalSubgroups(SymmetricGroup(n))
for some nNormalSubgroups(SymmetricGroup(n))
for some n
Update: The code seems to never get stuck, it just has very large variations in runtime: from |
What happens is that the code of a centralizer of a random element is computed. In permutation groups probably a subgroup centralizer could be faster. In any case, this should be faster, better etc. with proper recognition. If this is a shopwstopper, I'd be happy to look at the normal subgroups code to avoid this particular issue. |
as this makes a Core computation quicker. This avoids slowdowns in particular cases such as gap-system#2683
Looking at the example, the problem seems to be in Core(G,C) when C is a transitive subgroup of G. If G is the full symmetric group there is no quick reduction, so this takes a bit of time. I have added a silly heuristic (prefer intransitive centralizers) that avoids this bad case. |
as this makes a Core computation quicker. This avoids slowdowns in particular cases such as gap-system#2683
as this makes a Core computation quicker. This avoids slowdowns in particular cases such as gap-system#2683
as this makes a Core computation quicker. This avoids slowdowns in particular cases such as gap-system#2683
as this makes a Core computation quicker. This avoids slowdowns in particular cases such as gap-system#2683 This fixes gap-system#2683
as this makes a Core computation quicker. This avoids slowdowns in particular cases such as gap-system#2683
as this makes a Core computation quicker. This avoids slowdowns in particular cases such as gap-system#2683 This fixes gap-system#2683 Includes necessary manual example changes.
as this makes a Core computation quicker. This avoids slowdowns in particular cases such as gap-system#2683 This fixes gap-system#2683 Includes necessary manual example changes.
as this makes a Core computation quicker. This avoids slowdowns in particular cases such as gap-system#2683 This fixes gap-system#2683 Includes necessary manual example changes.
as this makes a Core computation quicker. This avoids slowdowns in particular cases such as gap-system#2683 This fixes gap-system#2683 Includes necessary manual example changes.
as this makes a Core computation quicker. This avoids slowdowns in particular cases such as gap-system#2683 This fixes gap-system#2683 Includes necessary manual example changes.
@mtorpey and I just happened upon the following unexpected behaviour:
Now sometimes GAP computes the normal subgroups of
Sym(40)
quite quickly (1-2 seconds), sometimes it takes a minute or (on @mtorpey's computer) seems to get stuck (in partition backtrack).Maybe @hulpke can shine some light on where randomisation (pointing fingers randomly at reasons why this should even happen) is involved in this computation.
Of course for symmetric and alternating groups we can just install methods that give us the normal subgroups (@mtorpey is working on this) in basically no time at all, but there might be an underlying issue that makes this computation sometimes slower than it needs to be, and I'd like to know what it is.
The text was updated successfully, but these errors were encountered: