HaskellForMaths-0.1.6

Math.Algebra.Group.PermutationGroup

Synopsis

Documentation

newtype Permutation a Source

Type for permutations, considered as group elements.

Constructors

P (Map a a) 

Instances

Eq a => Eq (Permutation a) 
(Ord a, Show a) => Fractional (Permutation a) 
(Ord a, Show a) => Num (Permutation a) 
Ord a => Ord (Permutation a) 
(Ord a, Show a) => Show (Permutation a) 

(.^) :: Ord k => k -> Permutation k -> kSource

x .^ g returns the image of a vertex or point x under the action of the permutation g

p :: Ord a => [[a]] -> Permutation aSource

Construct a permutation from a list of cycles |For example, p [[1,2,3],[4,5]] returns the permutation that sends 1 to 2, 2 to 3, 3 to 1, 4 to 5, 5 to 4

(^-) :: (Ord k, Show k) => Permutation k -> Int -> Permutation kSource

A trick: g^-1 returns the inverse of g

(~^) :: (Ord t, Show t) => Permutation t -> Permutation t -> Permutation tSource

g ~^ h returns the conjugate of g by h

(-^) :: Ord t => [t] -> Permutation t -> [t]Source

b -^ g returns the image of an edge or block b under the action of g

_C :: Integral a => a -> [Permutation a]Source

_C n returns generators for Cn, the cyclic group of order n

_S :: Integral a => a -> [Permutation a]Source

_S n returns generators for Sn, the symmetric group on [1..n]

_A :: Integral a => a -> [Permutation a]Source

_A n returns generators for An, the alternating group on [1..n]

elts :: (Num a, Ord a) => [a] -> [a]Source

Given generators for a group, return a (sorted) list of all elements of the group. |Implemented using a naive closure algorithm, so only suitable for small groups (|G| < 10000)

order :: (Num a, Ord a) => [a] -> IntSource

Given generators for a group, return the order of the group (the number of elements). |Implemented using a naive closure algorithm, so only suitable for small groups (|G| < 10000)