MathObj.Permutation.Table
 Portability Permutation represented by an array of the images. Stability provisional Maintainer numericprelude@henning-thielemann.de
Description
Synopsis
 type T i = Array i i fromFunction :: Ix i => (i, i) -> (i -> i) -> T i toFunction :: Ix i => T i -> i -> i fromPermutation :: (Ix i, C p) => p i -> T i fromCycles :: Ix i => (i, i) -> [[i]] -> T i identity :: Ix i => (i, i) -> T i cycle :: Ix i => [i] -> T i -> T i inverse :: Ix i => T i -> T i compose :: Ix i => T i -> T i -> T i swap :: (a, b) -> (b, a) choose :: Set a -> Maybe (a, Set a) closure :: Ix i => [T i] -> [T i] closureSlow :: Ix i => [T i] -> [T i]
Documentation
 type T i = Array i i Source
 fromFunction :: Ix i => (i, i) -> (i -> i) -> T i Source
 toFunction :: Ix i => T i -> i -> i Source
 fromPermutation :: (Ix i, C p) => p i -> T i Source
 fromCycles :: Ix i => (i, i) -> [[i]] -> T i Source
 identity :: Ix i => (i, i) -> T i Source
 cycle :: Ix i => [i] -> T i -> T i Source
 inverse :: Ix i => T i -> T i Source
 compose :: Ix i => T i -> T i -> T i Source
 swap :: (a, b) -> (b, a) Source
candidate for Utility
 choose :: Set a -> Maybe (a, Set a) Source
Extremely nave algorithm to generate a list of all elements in a group. Should be replaced by a Schreier-Sims system if this code is ever used for anything bigger than .. say .. groups of order 512 or so.
 closure :: Ix i => [T i] -> [T i] Source
 closureSlow :: Ix i => [T i] -> [T i] Source