Copyright | (c) Mikael Johansson 2006 |
---|---|

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

Stability | provisional |

Portability | requires multi-parameter type classes |

Safe Haskell | None |

Language | Haskell98 |

Permutation of Integers represented by cycles.

## Synopsis

- 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 i Source #

cycleRightAction :: Eq i => i -> Cycle i -> i Source #

cycleLeftAction :: Eq i => Cycle i -> i -> i Source #

cycleAction :: Eq i => [i] -> i -> i Source #

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

(*>) :: Eq i => T i -> i -> i Source #

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 i Source #

isEssential :: Cycle i -> Bool Source #