Maintainer | Anders Claesson <anders.claesson@gmail.com> |
---|---|

Safe Haskell | None |

- r0 :: Perm -> Perm
- r1 :: Perm -> Perm
- r2 :: Perm -> Perm
- r3 :: Perm -> Perm
- s0 :: Perm -> Perm
- s1 :: Perm -> Perm
- s2 :: Perm -> Perm
- s3 :: Perm -> Perm
- d8 :: [Perm -> Perm]
- klein4 :: [Perm -> Perm]
- orbit :: [Perm -> Perm] -> Perm -> [Perm]
- symmetryClasses :: [Perm -> Perm] -> [Perm] -> [[Perm]]
- d8Classes :: [Perm] -> [[Perm]]
- klein4Classes :: [Perm] -> [[Perm]]
- rotate :: Perm -> Perm
- complement :: Perm -> Perm
- reverse :: Perm -> Perm
- inverse :: Perm -> Perm

# The group elements

Reflection through a horizontal axis (also called `complement`

).

# D8, the klein four-group, and orbits

The dihedral group of order 8 (the symmetries of a square); that is,

d8 = [r0, r1, r2, r3, s0, s1, s2, s3]

klein4 :: [Perm -> Perm]Source

The Klein four-group (the symmetries of a non-equilateral rectangle); that is,

klein4 = [r0, r2, s0, s1]

orbit :: [Perm -> Perm] -> Perm -> [Perm]Source

`orbit fs x`

is the orbit of `x`

under the *group* of function `fs`

. E.g.,

orbit klein4 "2314" == ["1423","2314","3241","4132"]

symmetryClasses :: [Perm -> Perm] -> [Perm] -> [[Perm]]Source

`symmetryClasses fs xs`

is the list of equivalence classes under
the action of the *group* of functions `fs`

.

klein4Classes :: [Perm] -> [[Perm]]Source

Symmetry classes with respect to Klein4

# Aliases

complement :: Perm -> PermSource

The complement of the given permutation: if `v = complement u`

then
`v `at` i = n - 1 - u `at` i`

.

The reverse of the given permutation: if `v = reverse u`

then
`v `at` i = u `at` (n-1-i)`

.