Description Usage Arguments Details Value Author(s) Examples

Produces a nice Cayley table for a subgroup of the symmetric group on n elements

1 | ```
cayley(x)
``` |

`x` |
A vector of permutations in cycle form |

Cayley's theorem states that every group G is isomorphic to a subgroup of the symmetric group acting on G. In this context it means that if we have a vector of permutations that comprise a group, then we can nicely represent its structure using a table.

If the set `x`

is not closed under multiplication and inversion
(that is, if `x`

is not a group) then the function may misbehave. No
argument checking is performed, and in particular there is no check that
the elements of `x`

are unique, or even that they include an
identity.

A square matrix giving the group operation

Robin K. S. Hankin

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | ```
## cyclic group of order 4:
cayley(as.cycle(1:4)^(0:3))
## Klein group:
K4 <- as.cycle(c("()","(12)(34)","(13)(24)","(14)(23)"))
names(K4) <- c("00","01","10","11")
cayley(K4)
## S3, the symmetric group on 3 elements:
S3 <- as.cycle(c(
"()",
"(12)(35)(46)", "(13)(26)(45)",
"(14)(25)(36)", "(156)(243)", "(165)(234)"
))
names(S3) <- c("()","(ab)","(ac)","(bc)","(abc)","(acb)")
cayley(S3)
## Now an example from the onion package, the quaternion group:
## Not run:
library(onion)
a <- c(H1,-H1,Hi,-Hi,Hj,-Hj,Hk,-Hk)
X <- word(sapply(1:8,function(k){sapply(1:8,function(l){which((a*a[k])[l]==a)})}))
cayley(X) # a bit verbose; rename the vector:
names(X) <- letters[1:8]
cayley(X) # more compact
## End(Not run)
``` |

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.