Skip to content

Commit

Permalink
FIX: Perfect subgroups
Browse files Browse the repository at this point in the history
This fixes an error in finding the perfect subgroups which got introducted
with a recent newer method.

Also fixed name of tst file (that was erraneously named txt)
  • Loading branch information
hulpke committed Jul 23, 2023
1 parent b73b40f commit c117084
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 6 deletions.
17 changes: 11 additions & 6 deletions lib/grplatt.gi
Original file line number Diff line number Diff line change
Expand Up @@ -887,6 +887,7 @@ InstallGlobalFunction(LatticeViaRadical,function(arg)
fi;
fi;


ser:=PermliftSeries(G:limit:=300); # do not form too large spaces as they
# clog up memory
pcgs:=ser[2];
Expand Down Expand Up @@ -930,6 +931,7 @@ InstallGlobalFunction(LatticeViaRadical,function(arg)
elif select=IsPerfectGroup or select=IsNonabelianSimpleGroup then
c:=ConjugacyClassesPerfectSubgroups(f);
c:=Filtered(c,x->Size(Representative(x))>1);
SortBy(c,x->Size(Representative(x)));
fselect:=U->not IsSolvableGroup(U);
elif select<>fail then
c:=LatticeByCyclicExtension(f,select)!.conjugacyClassesSubgroups;
Expand Down Expand Up @@ -1004,6 +1006,7 @@ InstallGlobalFunction(LatticeViaRadical,function(arg)
if not k in nts then Add(nts,k);fi;
od;
od;
SortBy(nts,x->Size(x)); # increasing order
# by setting up `act' as fail, we force a different selection later
act:=[nts,fail];

Expand Down Expand Up @@ -1092,8 +1095,8 @@ InstallGlobalFunction(LatticeViaRadical,function(arg)
fi;
od;
if Length(as)>0 then
Info(InfoLattice,2,"Normal subgroup ",j,", ",Length(as),
" subgroups to consider");
Info(InfoLattice,2,"Normal subgroup ",j,", Size ",Size(nts[j]),": ",
Length(as)," subgroups to consider");
# there are subgroups that will complement with this kernel.
# Construct the modulo pcgs and the action of the largest subgroup
# (which must be the normalizer)
Expand Down Expand Up @@ -1517,11 +1520,13 @@ local badsizes,n,un,cl,r,i,l,u,bw,cnt,gens,go,imgs,bg,bi,emb,nu,k,j,
fi;
end);

InstallMethod(RepresentativesPerfectSubgroups,"using Holt/Plesken library",
true,[IsGroup],0,G->RepsPerfSimpSub(G,false));
InstallMethod(RepresentativesPerfectSubgroups,
"using Holt/Plesken/Hulpke library",true,[IsGroup],0,
G->RepsPerfSimpSub(G,false));

InstallMethod(RepresentativesSimpleSubgroups,"using Holt/Plesken library",
true,[IsGroup],0,G->RepsPerfSimpSub(G,true));
InstallMethod(RepresentativesSimpleSubgroups,
"using Holt/Plesken/Hulpke library",true,[IsGroup],0,
G->RepsPerfSimpSub(G,true));

Check warning on line 1529 in lib/grplatt.gi

View check run for this annotation

Codecov / codecov/patch

lib/grplatt.gi#L1529

Added line #L1529 was not covered by tests

InstallMethod(RepresentativesSimpleSubgroups,"if perfect subs are known",
true,[IsGroup and HasRepresentativesPerfectSubgroups],0,
Expand Down
File renamed without changes.
5 changes: 5 additions & 0 deletions tst/testbugfix/2023-07-23-Lattice.tst
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Missing perfect subgroups, causing problems for lattice.

gap> g:=Group((1,10)(3,7)(5,16)(6,22)(8,17)(9,20)(11,13)(18,21), (1,19,7)
> (2,5,22,6,9,18)(3,14)(4,21,17,12,23,20)(8,13,11)(10,15));;
gap> TableOfMarks(g);;

0 comments on commit c117084

Please sign in to comment.