--- title: "The permutations package and representation theory" author: "Robin K. S. Hankin" output: html_vignette bibliography: permutations.bib vignette: > %\VignetteIndexEntry{representation theory} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r out.width='20%', out.extra='style="float:right; padding:10px"',echo=FALSE} knitr::include_graphics(system.file("help/figures/permutations.png", package = "permutations")) ``` ```{r set-options, echo = FALSE} knitr::opts_chunk$set(collapse = TRUE, comment = "#>", dev = "png", fig.width = 7, fig.height = 3.5, message = FALSE, warning = FALSE) options(width = 80, tibble.width = Inf) ``` To cite the permutations package in publications, please use @hankin2020. Here we 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: ```{r} library("permutations") options("print_word_as_cycle" = FALSE) ``` Now we will generate a couple of permutations, `a` and `b`: ```{r} a <- as.word(char2cycle("(175296)(348)")) b <- as.word(char2cycle("(27)(45)(89)")) a b ``` Now we will show a representation of $S_9$, using permutation matrices: ```{r} M <- diag(9) rownames(M) <- 1:9 colnames(M) <- 1:9 M ``` We will use the map $\phi\colon S_9\longrightarrow\operatorname{Aut}\left(\mathbb{R}^9\right)$ given by $\phi(a)=$ `M[a,]`. Then ```{r} M[a, ] ``` 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: ```{r} all(M[as.word(id, 9), ] == diag(9)) all(M[a * b, ] == M[a, ] %*% M[b, ]) ``` 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}$: ```{r} all(M[inverse(a), ] == solve(M[a, ])) ``` again with group inversion on the left and matrix inversion on the right. The map $\phi(a)=$ `M[,a]` is not a homomorphism: ```{r} all(M[, a * b] == M[, a] %*% M[, b]) ``` but we can "rescue" it by considering a group operation $\star$ defined by $a\star b=b\circ a$: ```{r} all(M[, b * a] == M[, a] %*% M[, b]) ``` 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. ```{r,label=restore_default, include=FALSE} options("print_word_as_cycle" = FALSE) ``` # References {-}