From 95066b9c5651e6edd539d2170db9e82393a95685 Mon Sep 17 00:00:00 2001 From: kalmarek Date: Sat, 18 Aug 2018 23:23:52 +0200 Subject: [PATCH] fix the action of WreathProdElem on MatElem mul! is not correct for NmodRing?? --- groups/speciallinear.jl | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/groups/speciallinear.jl b/groups/speciallinear.jl index f02760f..98e560c 100644 --- a/groups/speciallinear.jl +++ b/groups/speciallinear.jl @@ -10,8 +10,8 @@ struct SpecialLinearGroup <: SymmetrizedGroup if p == 0 G = MatrixSpace(Nemo.ZZ, n, n) else - F, a = FiniteField(p, 1, "a") - G = MatrixSpace(F, n, n) + R = Nemo.NmodRing(UInt(p)) + G = MatrixSpace(R, n, n) end return new(args, G) end @@ -83,9 +83,7 @@ function (g::WreathProductElem)(A::MatElem) G = matrix_emb(g.n, g_inv.p) G_inv = matrix_emb(g_inv.n, g.p) M = parent(A) - res = M(G_inv) - Nemo.mul!(res, A, res) - return Nemo.mul!(res, M(G), res) + return M(G)*A*M(G_inv) end import Base.* @@ -100,7 +98,7 @@ function *(x::AbstractAlgebra.MatElem, P::Generic.perm) n = cols(x) for i = 1:m for j = 1:n - z[i, j] = x[i, P[j]] + z[i, j] = x[i,P[j]] end end return z