Skip to content

Commit

Permalink
ENHANCE: Use TOM data also for subgroups of almost simple.
Browse files Browse the repository at this point in the history
Also avoid pc isom in NormalizerParemtSA if the task is pathetic anyhow.
  • Loading branch information
hulpke committed Feb 5, 2018
1 parent 4c9ec96 commit 5ac56ae
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 1 deletion.
2 changes: 1 addition & 1 deletion lib/gpprmsya.gi
Original file line number Diff line number Diff line change
Expand Up @@ -1365,7 +1365,7 @@ syll, act, typ, sel, bas, wdom, comp, lperm, other, away, i, j,b0,opg,bp;
if not issym then
pg:=AlternatingSubgroup(pg);
fi;
if IsSolvableGroup(pg) then
if (Size(pg)/Size(u))>10000 and IsSolvableGroup(pg) then
perm:=IsomorphismPcGroup(pg);
pg:=PreImage(perm,Normalizer(Image(perm,pg),Image(perm,u)));
fi;
Expand Down
17 changes: 17 additions & 0 deletions lib/grplatt.gi
Original file line number Diff line number Diff line change
Expand Up @@ -2806,6 +2806,23 @@ InstallGlobalFunction("SubgroupsTrivialFitting",function(G)
local s,a,n,fac,iso,types,t,p,i,map,go,gold,nf,tom,sub,len;

n:=DirectFactorsFittingFreeSocle(G);

# is it almost simple and stored?
if Length(n)=1 then
tom:=TomDataAlmostSimpleRecognition(G);
if tom<>fail and
ValueOption(NO_PRECOMPUTED_DATA_OPTION)<>true then
Info(InfoPerformance,2,"Using Table of Marks Library");
go:=ImagesSource(tom[1]);
tom:=tom[2];
Info(InfoLattice,1, "Fetching subgroups of simple ",
Identifier(tom)," from table of marks");
len:=LengthsTom(tom);
sub:=List([1..Length(len)],x->RepresentativeTom(tom,x));
return sub;
fi;
fi;

s:=Socle(G);

a:=TrivialSubgroup(G);
Expand Down

0 comments on commit 5ac56ae

Please sign in to comment.