Skip to content

Commit

Permalink
FIX: Canonical class representative for pc groups
Browse files Browse the repository at this point in the history
must always use the same series. So if refining, cache result.

This unfortunately only is triggered in larger examples (i.e. when refining
happens).
  • Loading branch information
hulpke authored and fingolfin committed Mar 10, 2022
1 parent 21354bd commit 2f902fc
Showing 1 changed file with 7 additions and 2 deletions.
9 changes: 7 additions & 2 deletions lib/claspcgs.gi
Original file line number Diff line number Diff line change
Expand Up @@ -667,8 +667,13 @@ local G, home, # the group and the home pcgs
fi;

# is the series still large (and merits changing the pcgs)?
if Maximum(List([2..Length(eas)],x->IndexNC(eas[x-1],eas[x])))>2^15 then
step:=BoundedRefinementEANormalSeries(home,indstep,2^15);
if Maximum(List([2..Length(eas)],x->IndexNC(eas[x-1],eas[x])))>2^15 then
if IsBound(G!.claspcgsRefinedSeries) then
step:=G!.claspcgsRefinedSeries;
else
step:=BoundedRefinementEANormalSeries(home,indstep,2^15);
G!.claspcgsRefinedSeries:=step;
fi;
home:=step[1];
indstep:=step[2];
eas:=ChiefNormalSeriesByPcgs(home);
Expand Down

0 comments on commit 2f902fc

Please sign in to comment.