The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

Introduction

We will consider \(S_9\), the symmetric group on 9 elements, and representations of its elements. First we will load the package and change the default print method:

library("permutations")
options("print_word_as_cycle" = FALSE)

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 \(S_9\), 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 \(\phi\colon S_9\longrightarrow\operatorname{Aut}\left(\mathbb{R}^9\right)\) given by \(\phi(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 \(\phi\) is indeed a homomorphism—that is, \(\phi(\iota)=I_9\) and \(\phi(a)\phi(b)=\phi(a\circ b)\)—is straightforward:

all(M[as.word(id,9),] == diag(9))
#> [1] TRUE
all(M[a*b,] == M[a,] %*% M[b,])
#> [1] TRUE

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 \(\phi\left(a^{-1}\right)=\phi(a)^{-1}\):

all(M[inverse(a),] == solve(M[a,]))
#> [1] TRUE

again with group inversion on the left and matrix inversion on the right.

The map \(\psi(a)=\) M[,a] is not a homomorphism:

all(M[,a*b] == M[,a] %*% M[,b])
#> [1] FALSE

but we can “rescue” it by considering a group operation \(\star\) defined by \(a\star b=b\circ a\):

all(M[,b*a] == M[,a] %*% M[,b])
#> [1] TRUE

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.