From 975d07ab7d0d00ce60426beef9da82f7ecaf85d8 Mon Sep 17 00:00:00 2001 From: Alexander Hulpke Date: Tue, 19 Apr 2022 08:51:24 -0600 Subject: [PATCH] FIX: ConjugacyClasses in Fitting free The series used must go through the socle, otherwise abelian factors can end up forgotten. This fixes #4866 --- lib/clashom.gi | 8 ++++---- tst/testbugfix/2022-04-19-conjcl.tst | 7 +++++++ 2 files changed, 11 insertions(+), 4 deletions(-) create mode 100644 tst/testbugfix/2022-04-19-conjcl.tst diff --git a/lib/clashom.gi b/lib/clashom.gi index 52354e4c8e..537ad2b08b 100644 --- a/lib/clashom.gi +++ b/lib/clashom.gi @@ -1130,7 +1130,7 @@ local cs, # chief series of G # we will give classes always by their representatives in G and # centralizers by their full preimages in G. - cs:= ChiefSeriesOfGroup( G ); + cs:= ChiefSeriesThrough( G,[Socle(G)] ); # the first step is always simple if HasAbelianFactorGroup(G,cs[2]) then @@ -1719,8 +1719,6 @@ BindGlobal("LiftClassesEANonsolvGeneral", # Construct matrices for the affine operation on $N/[h,N]$. Info(InfoHomClass,4,"space=",Size(field),"^",r); - if Size(field)^r>3*10^8 then Error("too large");fi; - aff := ExtendedVectors( field ^ r ); gens:=Concatenation(cl[2],Npcgs,cl[3]); # all generators gpsz:=cl[5]; @@ -1745,7 +1743,9 @@ BindGlobal("LiftClassesEANonsolvGeneral", Add( imgs, M ); od; -#if Size(field)^r>10^7 then Error("BIG");fi; + + if Size(field)^r>3*10^8 then Error("too large");fi; + aff := ExtendedVectors( field ^ r ); # now compute orbits, being careful to get stabilizers in steps #orbreps:=[]; diff --git a/tst/testbugfix/2022-04-19-conjcl.tst b/tst/testbugfix/2022-04-19-conjcl.tst new file mode 100644 index 0000000000..004e7832a0 --- /dev/null +++ b/tst/testbugfix/2022-04-19-conjcl.tst @@ -0,0 +1,7 @@ +# ConjugacyClasses, #4866 +gap> g:=Group((9,11)(12,14)(15,17)(18,20)(21,23)(24,26)(27,29)(30,32)(33,35) +> (36,38),(9,39)(11,40)(13,42)(15,44)(17,45)(19,46)(21,47)(23,49)(25,51) +> (27,52)(29,53)(31,54)(33,56)(35,58)(37,59), (7,8)(10,11)(15,16)(20,21) +> (25,26)(30,31)(35,36)(40,41)(43,44)(47,48)(50,51)(54,55)(57,58));; +gap> Length(ConjugacyClasses(g)); +1308