From b5b9917536e46303ea53d35e1e60170b3bc46d27 Mon Sep 17 00:00:00 2001 From: kalmarek Date: Sat, 18 Aug 2018 23:24:57 +0200 Subject: [PATCH] add generatingset(::MatSpace,...) --- groups/speciallinear.jl | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/groups/speciallinear.jl b/groups/speciallinear.jl index 98e560c..6642bd4 100644 --- a/groups/speciallinear.jl +++ b/groups/speciallinear.jl @@ -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)])