Vectorized functionality to implement outer automorphisms of the free group
permsymb_single_X(X,f)
permsymb_single_f(X,f)
permsymb_vec(X,f)
permsymb(X,f)
autosub_lowlevel(M,e,S)
autosub(X,e,S,automorphism_warning=TRUE)
Object of class free
Permutation function
Single free group element, in two-row matrix form
Single element to substitute
Boolean, with default TRUE
meaning
to give a warning if the requested substitution is not an
automorphism and FALSE
meaning not to give the warning
Robin K. S. Hankin
In 1924, Nielsen showed that the automorphism group of the free group with basis \([x_1,\ldots,x_n]\) is generated by the following four elementary Nielsen transformations:
switch \(x_1\) and \(x_2\)
Cyclically permute \(x_1,x_2,\ldots,x_n\) to \(x_2,\ldots,x_n,x_1\)
Replace \(x_1\) with \(x_1^{-1}\)
Replace \(x_1\) with \(x_1x_2\).
The functions documented here give vectorized methods to effect such outer automorphisms, using the permutations package.
Operations 1 and 2 above generate the symmetric group \(S_n\) and such
automorphisms are effected by function permsymb()
. Operation
3 is carried out by by flip()
and operation 4 by subsymb()
.
Functions permsymb_single_X()
, permsymb_single_f()
,
permsymb_vec()
and subsymb_lowlevel()
are low-level helper
functions that are not really suited for the end user; use
permsymb()
, (flip)
and subsymb()
instead.
Wikipedia contributors. (2018, October 29). “Automorphism group of a free group”. In Wikipedia, The Free Encyclopedia. Retrieved 19:58, January 10, 2019, from https://en.wikipedia.org/w/index.php?title=Automorphism_group_of_a_free_group&oldid=866270661
flip
P <- as.free(c("abc","aba","cc","ca"))
autosub(P,"c",as.free("xyz"))
flip(P,"c")
flip(P,"ac")
Run the code above in your browser using DataLab