add action of permutation group on AutFN

This commit is contained in:
kalmar 2017-06-09 22:01:51 +02:00
parent fa2b218449
commit 7e159f9d3d

View File

@ -15,11 +15,22 @@ 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(g)) into $A")
return A(Groups.perm_autsymbol(p))
end
function (g::WreathProductElem)(a::AutGroupElem) function (g::WreathProductElem)(a::AutGroupElem)
g = AutFG_emb(parent(a),g) g = AutFG_emb(parent(a),g)
return g*a*g^-1 return g*a*g^-1
end end
function (p::perm)(a::AutGroupElem)
g = AutFG_emb(parent(a),p)
return g*a*g^-1
end
############################################################################### ###############################################################################
# #
# Generating set # Generating set
@ -103,6 +114,7 @@ function main()
info(logger, "Symmetric generating set of size $(length(S))") info(logger, "Symmetric generating set of size $(length(S))")
info(logger, S) info(logger, S)
AutS = WreathProduct(Nemo.FiniteField(2,1, "a")[1], PermutationGroup(N)) AutS = WreathProduct(Nemo.FiniteField(2,1, "a")[1], PermutationGroup(N))
# AutS = PermutationGroup(N)
solver = SCS.SCSSolver(eps=tol, max_iters=iterations, verbose=true, linearsolver=SCS.Indirect) solver = SCS.SCSSolver(eps=tol, max_iters=iterations, verbose=true, linearsolver=SCS.Indirect)