From 70c72d28d967867ef494f3ee64556b5af36c8db3 Mon Sep 17 00:00:00 2001 From: kalmarek Date: Fri, 28 Jun 2019 01:12:02 +0200 Subject: [PATCH] further speedups for perm action on Automorphisms --- src/orbitdata.jl | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/orbitdata.jl b/src/orbitdata.jl index a49d1d9..41e08dd 100644 --- a/src/orbitdata.jl +++ b/src/orbitdata.jl @@ -281,12 +281,6 @@ function AutFG_emb(A::AutGroup, g::WreathProductElem) return elt end -function AutFG_emb(A::AutGroup, p::perm) - isa(A.objectGroup, FreeGroup) || throw("Not an Aut(Fₙ)") - parent(p).n == length(A.objectGroup.gens) || throw("No natural embedding of $(parent(p)) into $A") - return A(Groups.perm_autsymbol(p)) -end - function (g::WreathProductElem)(a::Groups.Automorphism) A = parent(a) g_emb = AutFG_emb(A,g) @@ -297,6 +291,8 @@ function (g::WreathProductElem)(a::Groups.Automorphism) end function (p::perm)(a::Groups.Automorphism) - g = AutFG_emb(parent(a),p) - return g*a*inv(g) + res = parent(a)(Groups.perm_autsymbol(p)) + res = Groups.r_multiply!(res, a.symbols, reduced=false) + res = Groups.r_multiply!(res, [Groups.perm_autsymbol(inv(p))]) + return res end