To cite the permutations package in publications, please use Hankin (2020). Here we consider S9, the symmetric group on 9 elements, and representations of its elements. First we will load the package and change the default print method:
Now we will generate a couple of permutations, a
and
b
:
a <- as.word(char2cycle("(175296)(348)"))
b <- as.word(char2cycle("(27)(45)(89)"))
a
#> 1 2 3 4 5 6 7 8 9
#> [1] 7 9 4 8 2 1 5 3 6
b
#> 1 2 3 4 5 6 7 8 9
#> [1] . 7 . 5 4 . 2 9 8
Now we will show a representation of S9, using permutation matrices:
M <- diag(9)
rownames(M) <- 1:9
colnames(M) <- 1:9
M
#> 1 2 3 4 5 6 7 8 9
#> 1 1 0 0 0 0 0 0 0 0
#> 2 0 1 0 0 0 0 0 0 0
#> 3 0 0 1 0 0 0 0 0 0
#> 4 0 0 0 1 0 0 0 0 0
#> 5 0 0 0 0 1 0 0 0 0
#> 6 0 0 0 0 0 1 0 0 0
#> 7 0 0 0 0 0 0 1 0 0
#> 8 0 0 0 0 0 0 0 1 0
#> 9 0 0 0 0 0 0 0 0 1
We will use the map ϕ: S9 → Aut (ℝ9)
given by ϕ(a)=
M[a,]
. Then
M[a, ]
#> 1 2 3 4 5 6 7 8 9
#> 7 0 0 0 0 0 0 1 0 0
#> 9 0 0 0 0 0 0 0 0 1
#> 4 0 0 0 1 0 0 0 0 0
#> 8 0 0 0 0 0 0 0 1 0
#> 2 0 1 0 0 0 0 0 0 0
#> 1 1 0 0 0 0 0 0 0 0
#> 5 0 0 0 0 1 0 0 0 0
#> 3 0 0 1 0 0 0 0 0 0
#> 6 0 0 0 0 0 1 0 0 0
permutes the rows of M with
permutation a
. Note how the row names are permuted as well
as the elements of M.
Verifying that ϕ is indeed a
homomorphism—that is, ϕ(ι) = I9
and ϕ(a)ϕ(b) = ϕ(a ∘ b)—is
straightforward:
In the second line above, note that the left hand side of the equality is group composition, while the right hand side is matrix multiplication. We can further verify that ϕ(a−1) = ϕ(a)−1:
again with group inversion on the left and matrix inversion on the right.
The map ϕ(a)=
M[,a]
is not a homomorphism:
but we can “rescue” it by considering a group operation ⋆ defined by a ⋆ b = b ∘ a:
See how the operation has a
and b
in
opposite order from the matrix multiplication; see vignette
order_of_ops
for a discussion of this phenomenon from a
different perspective.