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

Safe Haskell | None |

The dihedral group of order 8 acting on permutations.

To avoid name clashes this module is best imported `qualified`

;
e.g.

import qualified Math.Sym.D8 as D8

- r0 :: Perm a => a -> a
- r1 :: Perm a => a -> a
- r2 :: Perm a => a -> a
- r3 :: Perm a => a -> a
- s0 :: Perm a => a -> a
- s1 :: Perm a => a -> a
- s2 :: Perm a => a -> a
- s3 :: Perm a => a -> a
- d8 :: Perm a => [a -> a]
- klein4 :: Perm a => [a -> a]
- orbit :: Ord a => Perm a => [a -> a] -> a -> [a]
- id :: Perm a => a -> a
- rotate :: Perm a => a -> a
- complement :: Perm a => a -> a
- reverse :: Perm a => a -> a
- inverse :: Perm a => a -> a

# The group elements

Reflection through a horizontal axis (also called `complement`

).

# D8, the klein four-group, and orbits

d8 :: Perm a => [a -> a]Source

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

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

klein4 :: Perm a => [a -> a]Source

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

klein4 = [r0, r2, s0, s1]

orbit :: Ord a => Perm a => [a -> a] -> a -> [a]Source

`orbit fs x`

is the orbit of `x`

under the functions in `fs`

. E.g.,

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

# Aliases

complement :: Perm a => a -> aSource

complement = s0