1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
|
##########################################################################
#0
#F ConjugateSL2ZGroup
##
## This function will create a conjugation of group SL2Z[1/m]
## by a matrix P by giving its generator and also set name for that
## group of conjugation.
##
## Input: An Arithmetic group G=SL2Z(1/m) and
## a invertible 2x2 matrix P
## Output: Conjugation group of G by matrix P
##
##
InstallGlobalFunction(ConjugateSL2ZGroup,
function(H,P)
local m,gens,i,j, G,gensG,NameH,p;
p:=P[2][2];
if H=SL(2,Integers) then
return SL2Z(p);
fi;
NameH:=Name(H);
i:=Position(NameH,'/');
j:=Position(NameH,']');
m:=Int(NameH{[i+1..j-1]});
gens:=GeneratorsOfGroup(SL2Z(1/m));
gensG:=List(gens,x->P*x*(P^-1));
G:=Group(gensG);
SetName(G,Concatenation("SL(2,Z[",String(1/m),"])^",
String(P)) );
G!.coprimes:=[m,p];
SetIsHAPRationalMatrixGroup(G,true);
SetIsHAPRationalSpecialLinearGroup(G,true);
return G;
end);
################### end of ConjugateSL2ZGroup ############################
##########################################################################
#0
#F CongruenceSubgroup
##
## This function will create a congruence subgroup gamma 0 of
## the arithmetic group SL2Z[1/m] of level p. It is also
## set a name and some properties for such a group.
##
## Input: A pair of positive integers (m,p)
##
## Output: The congruence subgroup of SL2Z(1/m) of level p
##
##
InstallGlobalFunction(CongruenceSubgroup,
function(m,p)
local H,K,G;
if m=1 then
return CongruenceSubgroupGamma0(p);
fi;
H:=SL2Z(1/m);
K:=ConjugateSL2ZGroup(H,[[1,0],[0,p]]);
G:=Intersection(H,K);
SetName(G,Concatenation("CongruenceSubgroup of ",Name(H)," level ",
String(p)));
G!.levels:=[m,p];
SetIsHAPRationalMatrixGroup(G,true);
SetIsHAPRationalSpecialLinearGroup(G,true);
return G;
end);
##
################### end of CongruenceSubgroup ############################
|