Portability | requires multi-parameter type classes |
---|---|

Stability | provisional |

Maintainer | mik@math.uni-jena.de |

Safe Haskell | None |

Permutation of Integers represented by cycles.

- type Cycle i = [i]
- type T i = [Cycle i]
- fromFunction :: Ix i => (i, i) -> (i -> i) -> T i
- cycleRightAction :: Eq i => i -> Cycle i -> i
- cycleLeftAction :: Eq i => Cycle i -> i -> i
- cycleAction :: Eq i => [i] -> i -> i
- cycleOrbit :: Ord i => Cycle i -> i -> [i]
- (*>) :: Eq i => T i -> i -> i
- cyclesOrbit :: Ord i => T i -> i -> [i]
- orbit :: Ord i => (i -> i) -> i -> [i]
- takeUntilRepetition :: Ord a => [a] -> [a]
- takeUntilRepetitionSlow :: Eq a => [a] -> [a]
- choose :: Set a -> Maybe a
- keepEssentials :: T i -> T i
- isEssential :: Cycle i -> Bool
- inverse :: T i -> T i

# Documentation

fromFunction :: Ix i => (i, i) -> (i -> i) -> T iSource

cycleRightAction :: Eq i => i -> Cycle i -> iSource

cycleLeftAction :: Eq i => Cycle i -> i -> iSource

cycleAction :: Eq i => [i] -> i -> iSource

cycleOrbit :: Ord i => Cycle i -> i -> [i]Source

(*>) :: Eq i => T i -> i -> iSource

Right (left?) group action on the Integers. Close to, but not the same as the module action in Algebra.Module.

cyclesOrbit :: Ord i => T i -> i -> [i]Source

takeUntilRepetition :: Ord a => [a] -> [a]Source

candidates for Utility ?

takeUntilRepetitionSlow :: Eq a => [a] -> [a]Source

keepEssentials :: T i -> T iSource

isEssential :: Cycle i -> BoolSource