further speedups for perm action on Automorphisms

This commit is contained in:
kalmarek 2019-06-28 01:12:02 +02:00
parent 7e854f902a
commit 70c72d28d9
No known key found for this signature in database
GPG Key ID: 8BF1A3855328FC15
1 changed files with 4 additions and 8 deletions

View File

@ -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