diff --git a/AutFN_orbit.jl b/AutFN_orbit.jl index 071847b..b396fac 100644 --- a/AutFN_orbit.jl +++ b/AutFN_orbit.jl @@ -15,11 +15,22 @@ 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(g)) into $A") + return A(Groups.perm_autsymbol(p)) +end + function (g::WreathProductElem)(a::AutGroupElem) g = AutFG_emb(parent(a),g) return g*a*g^-1 end +function (p::perm)(a::AutGroupElem) + g = AutFG_emb(parent(a),p) + return g*a*g^-1 +end + ############################################################################### # # Generating set @@ -103,6 +114,7 @@ function main() info(logger, "Symmetric generating set of size $(length(S))") info(logger, S) 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)