- newtype Permutation a = P (Map a a)
- (.^) :: Ord k => k -> Permutation k -> k
- (-^) :: Ord t => [t] -> Permutation t -> [t]
- p :: Ord a => [[a]] -> Permutation a
- (^-) :: (Ord k, Show k) => Permutation k -> Int -> Permutation k
- (~^) :: (Ord t, Show t) => Permutation t -> Permutation t -> Permutation t
- (.^^) :: Ord a => a -> [Permutation a] -> [a]
- (-^^) :: Ord t => [t] -> [Permutation t] -> [[t]]
- _C :: Integral a => a -> [Permutation a]
- _S :: Integral a => a -> [Permutation a]
- _A :: Integral a => a -> [Permutation a]
- elts :: (Num a, Ord a) => [a] -> [a]
- order :: (Num a, Ord a) => [a] -> Int
- orderSGS :: Ord a => [Permutation a] -> Integer
- conjClassReps :: (Ord t, Show t) => [Permutation t] -> [(Permutation t, Int)]
- subgps :: (Ord a, Show a) => [Permutation a] -> [[Permutation a]]
- isNormal :: (Ord a, Show a) => [Permutation a] -> [Permutation a] -> Bool
- normalSubgps :: (Ord a, Show a) => [Permutation a] -> [[Permutation a]]
- quotientGp :: (Ord a, Show a) => [Permutation a] -> [Permutation a] -> [Permutation Int]
- (//) :: (Ord a, Show a) => [Permutation a] -> [Permutation a] -> [Permutation Int]
Documentation
newtype Permutation a Source
A type for permutations, considered as functions or actions which can be performed on an underlying set.
Num k => HopfAlgebra k (Permutation Int) | |
Num k => Bialgebra k (Permutation Int) | |
Num k => Coalgebra k (Permutation Int) | |
Num k => Algebra k (Permutation Int) | |
Num k => Module k (Permutation Int) Int | |
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) | |
Mon (Permutation Int) |
(.^) :: Ord k => k -> Permutation k -> kSource
x .^ g returns the image of a vertex or point x under the action of the permutation g. The dot is meant to be a mnemonic for point or vertex.
(-^) :: Ord t => [t] -> Permutation t -> [t]Source
b -^ g returns the image of an edge or block b under the action of the permutation g. The dash is meant to be a mnemonic for edge or line or block.
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. The tilde is meant to a mnemonic, because conjugacy is an equivalence relation.
(.^^) :: Ord a => a -> [Permutation a] -> [a]Source
x .^^ gs returns the orbit of the point or vertex x under the action of the gs
(-^^) :: Ord t => [t] -> [Permutation t] -> [[t]]Source
b -^^ gs returns the orbit of the block or edge b under the action of the gs
_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)
orderSGS :: Ord a => [Permutation a] -> IntegerSource
Given a strong generating set, return the order of the group it generates
conjClassReps :: (Ord t, Show t) => [Permutation t] -> [(Permutation t, Int)]Source
conjClassReps gs returns a conjugacy class representatives and sizes for the group generated by gs. This implementation is only suitable for use with small groups (|G| < 10000).
subgps :: (Ord a, Show a) => [Permutation a] -> [[Permutation a]]Source
Return the subgroups of a group. Only suitable for use on small groups (eg < 100 elts)
isNormal :: (Ord a, Show a) => [Permutation a] -> [Permutation a] -> BoolSource
isNormal gs ks returns True if <ks> is normal in <gs>. Note, it is caller's responsibility to ensure that <ks> is a subgroup of <gs> (ie that each k is in <gs>).
normalSubgps :: (Ord a, Show a) => [Permutation a] -> [[Permutation a]]Source
Return the normal subgroups of a group. Only suitable for use on small groups (eg < 100 elts)
quotientGp :: (Ord a, Show a) => [Permutation a] -> [Permutation a] -> [Permutation Int]Source
quotientGp gs ks returns <gs> / <ks>
(//) :: (Ord a, Show a) => [Permutation a] -> [Permutation a] -> [Permutation Int]Source
Synonym for quotientGp