numeric-prelude-0.0.2: An experimental alternative hierarchy of numeric type classesSource codeContentsIndex
MathObj.Permutation.CycleList.Check
Portabilityrequires multi-parameter type classes
Stabilityprovisional
Maintainernumericprelude@henning-thielemann.de
Description
Synopsis
newtype Cycle i = Cycle {
cycle :: [i]
}
data T i = Cons {
range :: (i, i)
cycles :: [Cycle i]
}
fromCycles :: (i, i) -> [[i]] -> T i
toCycles :: T i -> [[i]]
toTable :: Ix i => T i -> T i
fromTable :: Ix i => T i -> T i
errIncompat :: a
liftCmpTable2 :: Ix i => (T i -> T i -> a) -> T i -> T i -> a
liftTable2 :: Ix i => (T i -> T i -> T i) -> T i -> T i -> T i
closure :: Ix i => [T i] -> [T i]
Documentation
newtype Cycle i Source

We shall make a little bit of a hack here, enabling us to use additive or multiplicative syntax for groups as we wish by simply instantiating Num with both operations corresponding to the group operation of the permutation group we're studying

There are quite a few way we could represent elements of permutation groups: the images in a row, a list of the cycles, et.c. All of these differ highly in how complex various operations end up being.

Constructors
Cycle
cycle :: [i]
show/hide Instances
Eq i => Eq (Cycle i)
Read i => Read (Cycle i)
Show i => Show (Cycle i)
data T i Source
Constructors
Cons
range :: (i, i)
cycles :: [Cycle i]
show/hide Instances
C T
Ix i => Eq (T i)
Ix i => Ord (T i)
Show i => Show (T i)
Ix i => C (T i)
fromCycles :: (i, i) -> [[i]] -> T iSource
Does not check whether the input values are in range.
toCycles :: T i -> [[i]]Source
toTable :: Ix i => T i -> T iSource
fromTable :: Ix i => T i -> T iSource
errIncompat :: aSource
liftCmpTable2 :: Ix i => (T i -> T i -> a) -> T i -> T i -> aSource
liftTable2 :: Ix i => (T i -> T i -> T i) -> T i -> T i -> T iSource
closure :: Ix i => [T i] -> [T i]Source
Produced by Haddock version 2.6.0