mirror of
https://github.com/kalmarek/PropertyT.jl.git
synced 2024-11-19 07:20:28 +01:00
further speedups for perm action on Automorphisms
This commit is contained in:
parent
7e854f902a
commit
70c72d28d9
@ -281,12 +281,6 @@ function AutFG_emb(A::AutGroup, g::WreathProductElem)
|
|||||||
return elt
|
return elt
|
||||||
end
|
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)
|
function (g::WreathProductElem)(a::Groups.Automorphism)
|
||||||
A = parent(a)
|
A = parent(a)
|
||||||
g_emb = AutFG_emb(A,g)
|
g_emb = AutFG_emb(A,g)
|
||||||
@ -297,6 +291,8 @@ function (g::WreathProductElem)(a::Groups.Automorphism)
|
|||||||
end
|
end
|
||||||
|
|
||||||
function (p::perm)(a::Groups.Automorphism)
|
function (p::perm)(a::Groups.Automorphism)
|
||||||
g = AutFG_emb(parent(a),p)
|
res = parent(a)(Groups.perm_autsymbol(p))
|
||||||
return g*a*inv(g)
|
res = Groups.r_multiply!(res, a.symbols, reduced=false)
|
||||||
|
res = Groups.r_multiply!(res, [Groups.perm_autsymbol(inv(p))])
|
||||||
|
return res
|
||||||
end
|
end
|
||||||
|
Loading…
Reference in New Issue
Block a user