@@ -1439,7 +1439,8 @@ end);
14391439InstallGlobalFunction(FpGroupCocycle,function (arg )
14401440local r,z,ogens,n,gens,str,dim,i,j,f,rels,new,quot,g,p,collect,m,e,fp,sim,
14411441 it,hom,trysy,prime,mindeg,fps,ei,mgens,mwrd,nn,newfree,mfpi,mmats,sub,
1442- tab,tab0,evalprod,gensmrep,invsmrep,zerob,step,simi,simiq,wasbold,
1442+ tab,tab0,evalprod,gensmrep,invsmrep,zerob,simi,simiq,wasbold,
1443+ # step,
14431444 mon,ord,mn,melmvec,killgens,frew,fffam,ofgens,rws,formalinverse;
14441445
14451446 # function to evaluate product (as integer list) in gens (and their
@@ -1834,8 +1835,8 @@ local r,z,ogens,n,gens,str,dim,i,j,f,rels,new,quot,g,p,collect,m,e,fp,sim,
18341835 # module is irreducible).
18351836 e:= LargerQuotientBySubgroupAbelianization(mfpi,m: cheap);
18361837 if e<> fail then
1837- step:= 0 ;
1838- while step<= 1 do
1838+ # step:=0;
1839+ # while step<=1 do
18391840 # Now write down the combined representation in wreath
18401841
18411842 e:= DefiningQuotientHomomorphism(e);
@@ -1859,26 +1860,30 @@ local r,z,ogens,n,gens,str,dim,i,j,f,rels,new,quot,g,p,collect,m,e,fp,sim,
18591860 x-> IsOne(MappedWord(x,FreeGeneratorsOfFpGroup(fps),
18601861 GeneratorsOfGroup(e!. quot)))));
18611862
1862- if step= 0 then
1863- i:= GroupHomomorphismByImagesNC(e!. quot,p,
1864- GeneratorsOfGroup(e!. quot),
1865- GeneratorsOfGroup(p));
1866- j:= PreImage(i,m);
1867- if AbelianInvariants(j)= AbelianInvariants(newfree) then
1868- step:= 2 ;
1869- Info (InfoExtReps,2 ," Small bit did good" );
1870- else
1871- Info (InfoExtReps,2 ," Need expensive version" );
1872- e:= LargerQuotientBySubgroupAbelianization(mfpi,m:
1873- cheap:= false );
1874- e:= Intersection(e,
1875- KernelOfMultiplicativeGeneralMapping(quot));
1876- fi ;
1877- fi ;
1878-
1879-
1880- step:= step+ 1 ;
1881- od ;
1863+ # if step=0 then
1864+ # tab:=GroupHomomorphismByImagesNC(e!.quot,p,
1865+ # GeneratorsOfGroup(e!.quot),
1866+ # GeneratorsOfGroup(p));
1867+ # j:=PreImage(tab,m);
1868+ # if AbelianInvariants(j)=AbelianInvariants(newfree) then
1869+ # step:=2;
1870+ # Info(InfoExtReps,2,"Small bit did good");
1871+ # else
1872+ # Info(InfoExtReps,2,"Use expensive version");
1873+ #
1874+ # tab:=LargerQuotientBySubgroupAbelianization(mfpi,m:
1875+ # cheap:=false);
1876+ # if tab<>fail then
1877+ # e:=Intersection(e,
1878+ # KernelOfMultiplicativeGeneralMapping(quot));
1879+ # step:=2;
1880+ # fi;
1881+ # fi;
1882+ # fi;
1883+ #
1884+ #
1885+ # step:=step+1;
1886+ # od;
18821887
18831888 fi ;
18841889
@@ -1894,12 +1899,12 @@ local r,z,ogens,n,gens,str,dim,i,j,f,rels,new,quot,g,p,collect,m,e,fp,sim,
18941899 j:= List(Orbits(j,MovedPoints(j)),x-> Stabilizer(j,x[ 1 ] ));
18951900 j:= List(j,x-> PreImage(i,x));
18961901 e:= Intersection(j);
1897- e:= Intersection(e,KernelOfMultiplicativeGeneralMapping(quot));
18981902 fi ;
18991903 fi ;
19001904
1901-
19021905 if e<> fail then
1906+ e:= Intersection(e,KernelOfMultiplicativeGeneralMapping(quot));
1907+ Info (InfoExtReps,2 ," Resulting deg=" ,NrMovedPoints(e!. quot));
19031908 # can we do better degree -- greedy block reduction?
19041909 nn:= e!. quot;
19051910 if IsTransitive(nn,MovedPoints(nn)) then
0 commit comments