diff --git a/lib/maxsub.gi b/lib/maxsub.gi index 275513476e..ed70f9b88e 100644 --- a/lib/maxsub.gi +++ b/lib/maxsub.gi @@ -180,16 +180,11 @@ BindGlobal("MaximalSubgroupClassesSol",function(G) S:=ff.radical; pcgs := ff.pcgs; - # move the special pcgs computation in the isomorphic pc group, as this - # is likely to be faster - pcgrppcgs:=PcgsByPcSequence(FamilyObj(One(Range(ff.pcisom))), - List(ff.pcgs,x->ImageElm(ff.pcisom,x))); - spec := SpecialPcgs(pcgrppcgs); + spec:=SpecialPcgs(S); first := LGFirst( spec ); weights := LGWeights( spec ); m := Length( spec ); - spec:=PcgsByPcgs(List(spec,x->PreImagesRepresentative(ff.pcisom,x)), - ff.pcgs, pcgrppcgs,spec); + max := []; f:=ff.factorhom; mgi:=MappingGeneratorsImages(ff.factorhom); @@ -261,7 +256,6 @@ BindGlobal("MaximalSubgroupClassesSol",function(G) #SetSize( cl, 1 ); #Add( max, cl ); L!.classsize:=1; -#if Length(IntermediateSubgroups(G,L).subgroups)>0 then Error("he");fi; Add(max,L); od; elif w[1] = 1 then diff --git a/tst/testbugfix/2019-09-17-Maxsub.tst b/tst/testbugfix/2019-09-17-Maxsub.tst new file mode 100644 index 0000000000..a45d487fb2 --- /dev/null +++ b/tst/testbugfix/2019-09-17-Maxsub.tst @@ -0,0 +1,38 @@ +# Fix a bug in `MaximalSubgroupClassReps`, reported by Andries Brouwer +gap> badg:=Group([(1,15)(2,16)(3,13)(4,14)(5,24)(6,23)(7,22)(8,21)(9,28) +> (10,27)(11,26)(12,25)(17,31)(18,32)(19,29)(20,30)(33,52)(34,51)(35,50) +> (36,49)(37,43)(38,44)(39,41)(40,42)(45,64)(46,63)(47,62)(48,61)(53,59) +> (54,60)(55,57)(56,58),(3,31)(4,32)(5,6)(7,28)(8,27)(9,22)(10,21) +> (11,12)(13,17)(14,18)(23,24)(25,26)(33,34)(35,64)(36,63)(39,59)(40,60) +> (41,53)(42,54)(45,50)(46,49)(47,48)(51,52)(61,62), +> (2,25,26)(3,5,7)(4,29,32)(6,31,28)(8,27,30)(9,13,11)(10,21,20) +> (12,17,22)(14,19,18)(16,23,24)(33,34,58)(35,38,64)(36,62,39)(37,40,60) +> (41,46,52)(42,54,43)(44,50,45)(47,48,56)(49,53,51)(59,61,63), +> (2,3,31)(4,29,32)(5,28,25)(6,26,7)(9,12,24)(11,22,23)(13,17,16) +> (14,19,18)(33,61,36)(34,63,62)(37,40,60)(39,58,59)(41,56,53)(42,54,43) +> (46,47,51)(48,49,52),(1,3)(2,60)(4,58)(5,7)(6,64)(8,62)(10,50) +> (12,52)(14,54)(16,56)(17,41)(19,43)(21,45)(23,47)(25,35)(26,28)(27,33) +> (29,39)(30,32)(31,37)(34,36)(38,40)(57,59)(61,63), +> (1,7)(2,64)(3,5)(4,62)(6,60)(8,58)(10,50)(12,52)(14,54)(16,56) +> (18,42)(20,44)(22,46)(24,48)(25,31)(26,40)(27,29)(28,38)(30,36)(32,34) +> (33,39)(35,37)(57,63)(59,61),(1,2)(3,60)(4,59)(5,6)(7,64)(8,63) +> (9,49)(10,50)(13,53)(14,54)(17,41)(18,42)(21,45)(22,46)(25,26)(27,36) +> (28,35)(29,30)(31,40)(32,39)(33,34)(37,38)(57,58)(61,62), +> (1,37)(2,38)(3,31)(4,32)(5,25)(6,26)(7,35)(8,36)(11,51)(12,52) +> (13,53)(14,54)(17,41)(18,42)(23,47)(24,48)(27,63)(28,64)(29,57)(30,58) +> (33,61)(34,62)(39,59)(40,60),(3,59)(4,60)(5,61)(6,62)(9,17)(10,18) +> (11,43)(12,44)(13,45)(14,46)(15,23)(16,24)(19,51)(20,52)(21,53)(22,54) +> (27,35)(28,36)(29,37)(30,38)(41,49)(42,50)(47,55)(48,56), +> (3,59)(4,60)(7,63)(8,64)(9,50)(10,49)(11,12)(13,54)(14,53)(15,16) +> (17,42)(18,41)(19,20)(21,46)(22,45)(23,24)(27,35)(28,36)(31,39)(32,40) +> (43,44)(47,48)(51,52)(55,56),(3,59)(4,60)(5,61)(6,62)(9,45)(10,46) +> (11,23)(12,24)(13,17)(14,18)(15,43)(16,44)(19,55)(20,56)(21,49)(22,50) +> (25,33)(26,34)(31,39)(32,40)(41,53)(42,54)(47,51)(48,52), +> (2,58)(4,60)(5,61)(7,63)(9,24)(10,47)(11,22)(12,45)(13,44)(14,19) +> (15,42)(16,17)(18,55)(20,53)(21,52)(23,50)(26,34)(28,36)(29,37)(31,39) +> (41,56)(43,54)(46,51)(48,49),(1,57)(2,58)(3,59)(4,60)(5,61)(6,62) +> (7,63)(8,64)(9,49)(10,50)(11,51)(12,52)(13,53)(14,54)(15,55)(16,56) +> (17,41)(18,42)(19,43)(20,44)(21,45)(22,46)(23,47)(24,48)(25,33)(26,34) +> (27,35)(28,36)(29,37)(30,38)(31,39)(32,40)]);; +gap> Collected(List(MaximalSubgroupClassReps(badg),Size)); +[ [ 4608, 2 ], [ 6144, 2 ], [ 9216, 3 ] ]