add generatingset(::MatSpace,...)

This commit is contained in:
kalmarek 2018-08-18 23:24:57 +02:00
parent 95066b9c56
commit b5b9917536

View File

@ -47,15 +47,21 @@ function generatingset(G::SpecialLinearGroup)
n = G.args["N"]
p = G.args["p"]
X = G.args["X"]
SL = group(G)
indexing = [(i,j) for i in 1:n for j in 1:n if i≠j]
p > 0 && X && throw("SL(n, F_p[x]) not implemented")
SL = group(G)
r = G.args["radius"]
return generatingset(SL, r, X)
end
function generatingset(SL::MatSpace, radius::Integer, X::Bool=false)
n = SL.cols
indexing = [(i,j) for i in 1:n for j in 1:n if i≠j]
if !X
S = [E(idx[1],idx[2],SL) for idx in indexing]
else
r = G.args["radius"]
S = [E(i,j,SL,v) for (i,j) in indexing for v in [1, 100*r]]
end
return unique([S; inv.(S)])