Skip to content

Commit

Permalink
simplify
Browse files Browse the repository at this point in the history
  • Loading branch information
fingolfin committed Jun 20, 2024
1 parent 6502e3b commit 9353440
Showing 1 changed file with 13 additions and 30 deletions.
43 changes: 13 additions & 30 deletions gap/projective/constructive_recognition/SL/main.gi
Original file line number Diff line number Diff line change
Expand Up @@ -25,15 +25,7 @@

RECOG.FindStdGens_SL := function(sld)

return RECOG.FindStdGens_SL2(sld,DimensionOfMatrixGroup(sld));

end;



RECOG.FindStdGens_SL2 := function(sld,IsoDim)

# Group generated by input must be isomorphic SL(IsoDim,q)
# Group generated by input must be isomorphic SL(d,q)

# gens of sld must be gens for SL(d,q) in its natural rep with memory
# This function calls RECOG.SLn_constructsl2 and then extends
Expand Down Expand Up @@ -118,7 +110,7 @@ RECOG.FindStdGens_SL2 := function(sld,IsoDim)
fakegens := GeneratorsWithMemory(fakegens);
sl2gensf := ResultOfStraightLineProgram(slptosl2,fakegens);
sl2stdf := ResultOfStraightLineProgram(slpsl2std,sl2gensf);
std := rec( f := f, d := d, GoalDim := IsoDim, n := 2, bas := bas, basi := basi,
std := rec( f := f, d := d, GoalDim := d, n := 2, bas := bas, basi := basi,
sld := sld, sldf := fakegens, slnstdf := sl2stdf,
p := p, ext := ext );
Info(InfoRecog,2,"Going up to SL_d again...");
Expand All @@ -137,25 +129,16 @@ end;

RECOG.FindStdGensSmallerMatrices_SL := function(sld)

return RECOG.FindStdGensSmallerMatrices_SL2(sld,DimensionOfMatrixGroup(sld));

end;




RECOG.FindStdGensSmallerMatrices_SL2 := function(sld,IsoDim)

# Group generated by input must be isomorphic SL(IsoDim,q)

# gens of sld must be gens for SL(d,q) in its natural rep with memory
# This function calls RECOG.SLn_constructsl2 and then extends
# the basis to a basis of the full row space and calls
# RECOG.SLn_UpStep often enough. Finally it returns an slp such
# that the SL(d,q) standard generators with respect to this basis are
# expressed by the slp in terms of the original generators of sld.
local V,b,bas,basi,basit,d,data,ext,fakegens,id,nu,nu2,p,q,resl2,sl2,sl2gens,
sl2gensf,sl2genss,sl2stdf,slp,slpsl2std,slptosl2,st,std,stdgens,i,ex,f;
# Group generated by input must be isomorphic SL(d,q)

# gens of sld must be gens for SL(d,q) in its natural rep with memory
# This function calls RECOG.SLn_constructsl2 and then extends
# the basis to a basis of the full row space and calls
# RECOG.SLn_UpStep often enough. Finally it returns an slp such
# that the SL(d,q) standard generators with respect to this basis are
# expressed by the slp in terms of the original generators of sld.
local V,b,bas,basi,basit,d,data,ext,fakegens,id,nu,nu2,p,q,resl2,sl2,sl2gens,
sl2gensf,sl2genss,sl2stdf,slp,slpsl2std,slptosl2,st,std,stdgens,i,ex,f;

# Some setup:
f := FieldOfMatrixGroup(sld);
Expand Down Expand Up @@ -229,7 +212,7 @@ local V,b,bas,basi,basit,d,data,ext,fakegens,id,nu,nu2,p,q,resl2,sl2,sl2gens,
fakegens := GeneratorsWithMemory(fakegens);
sl2gensf := ResultOfStraightLineProgram(slptosl2,fakegens);
sl2stdf := ResultOfStraightLineProgram(slpsl2std,sl2gensf);
std := rec( f := f, d := d, GoalDim := IsoDim, n := 2, bas := bas, basi := basi,
std := rec( f := f, d := d, GoalDim := d, n := 2, bas := bas, basi := basi,
sld := sld, sldf := fakegens, slnstdf := sl2stdf,
p := p, ext := ext );
Info(InfoRecog,2,"Going up to SL_d again...");
Expand Down

0 comments on commit 9353440

Please sign in to comment.