Skip to content

Commit

Permalink
FIX: Bug in MaximalSubgroupClassReps (#3662)
Browse files Browse the repository at this point in the history
The code used to compute a special pcgs in a pc group image and transfer
some cached information -- that does not seem to work properly, and also not
be worth the effort of doing. Replace by direct computation.
  • Loading branch information
hulpke authored and fingolfin committed Sep 20, 2019
1 parent 8cee4d2 commit a0b9798
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 8 deletions.
10 changes: 2 additions & 8 deletions lib/maxsub.gi
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down Expand Up @@ -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
Expand Down
38 changes: 38 additions & 0 deletions tst/testbugfix/2019-09-17-Maxsub.tst
Original file line number Diff line number Diff line change
@@ -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 ] ]

0 comments on commit a0b9798

Please sign in to comment.