Copyright | (c) Henning Thielemann 2006 |
---|---|
Maintainer | numericprelude@henning-thielemann.de |
Stability | provisional |
Portability | Permutation represented by an array of the images. |
Safe Haskell | Safe-Inferred |
Language | Haskell98 |
- 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
- choose :: Set a -> Maybe (a, Set a)
- closure :: Ix i => [T i] -> [T i]
- closureSlow :: Ix i => [T i] -> [T i]
Documentation
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
choose :: Set a -> Maybe (a, Set a) Source
Extremely naïve 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.
closureSlow :: Ix i => [T i] -> [T i] Source