produce symmetric generating sets for SL(n, )
This commit is contained in:
parent
1f2cadc5e4
commit
8725772d67
@ -43,20 +43,22 @@ end
|
||||
function SL_generatingset(n::Int)
|
||||
indexing = [(i,j) for i in 1:n for j in 1:n if i≠j]
|
||||
G = Nemo.MatrixSpace(Nemo.ZZ, n, n)
|
||||
S = [E(i,j,G) for (i,j) in indexing];
|
||||
S = vcat(S, [transpose(x) for x in S]);
|
||||
S = [E(i,j,G) for (i,j) in indexing]
|
||||
S = vcat(S, [transpose(x) for x in S])
|
||||
S = vcat(S, [inv(x) for x in S])
|
||||
return G, unique(S)
|
||||
end
|
||||
|
||||
function SL_generatingset(n::Int, p::Int)
|
||||
p == 0 && return SL_generatingset(n)
|
||||
(p > 1 && n > 1) || throw("Both n and p should be positive integers!")
|
||||
@info("Size(SL($n,$p)) = $(SLsize(n,p))")
|
||||
info("Size(SL($n,$p)) = $(SLsize(n,p))")
|
||||
F = Nemo.ResidueRing(Nemo.ZZ, p)
|
||||
G = Nemo.MatrixSpace(F, n, n)
|
||||
indexing = [(i,j) for i in 1:n for j in 1:n if i≠j]
|
||||
S = [E(i, j, G) for (i,j) in indexing]
|
||||
S = vcat(S, [transpose(x) for x in S])
|
||||
S = vcat(S, [inv(x) for x in S])
|
||||
return G, unique(S)
|
||||
end
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user