ConjugacyClassesPerfectSubgroups misses subgroups
On GAP-4.15.1, the ConjugacyClassesPerfectSubgroups does not find all perfect subgroups in some cases:
G:=WreathProduct(Group((1,2)), SymmetricGroup(6));;
Number(ConjugacyClassesSubgroups(G), h -> IsPerfect(Representative(h))); # =8
Size(ConjugacyClassesPerfectSubgroups(G)); # =6
Thank you for your report, much appreciated.
TIL there is a function ConjugacyClassesPerfectSubgroups and also RepresentativesPerfectSubgroups, wow.
So I can't help with this right away, but I can say this behavior has existed since at least GAP 4.5.7 (I did not have an older version ready on my current computer).
A quick check reveals that the two missing classes are for groups of order 1920 resp. 11520. The classes which both approaches return are for subgroups of orders 1, 60, 60, 60, 360, 960.
Source of the problem seems to be somewhere in LatticeViaRadical(G,IsPerfectGroup);. If I disable the part of RepsPerfSimpSub which dispatches to that, the correct result is returned. So maybe there is a problem in lifting via the radical?
Pinging @hulpke who
Pinging @hulpke who
Did you miss: "wrote the most elegant code" :-)
I have a fix. A selection of normal subgroup representatives is too limited.
Almost, I meant to add "who probably has a much better understanding of what's going on" :-)
@hulpke I have applied your fix to my installation. While the number of perfect subgroups is now correct, the subgroups themselves aren't:
List(ConjugacyClassesPerfectSubgroups(G),Size);
[ 1, 96, 192, 192, 32, 6, 6, 1 ]
@hulpke I have applied your fix to my installation. While the number of perfect subgroups is now correct, the subgroups themselves aren't:
List(ConjugacyClassesPerfectSubgroups(G),Size); [ 1, 96, 192, 192, 32, 6, 6, 1 ]
But these are classes, the subgroups
gap> List(l,x->Size(Representative(x)));
[ 1, 60, 60, 60, 360, 960, 1920, 11520 ]
seem fine.
Ups, my bad. Thanks