Safe Haskell | None |
---|---|
Language | Haskell98 |
Synopsis
- testProdRepl :: IO ()
- initProdRepl :: (Ord a, Show a) => [Permutation a] -> IO (Int, IOArray Int (Permutation a))
- nextProdRepl :: (Ord a, Show a) => (Int, IOArray Int (Permutation a)) -> IO (Maybe (Permutation a))
- updateArray :: (MArray a1 a2 m, Ix i, Num i, Integral b, HasInverses a2, Num a2) => a1 i a2 -> i -> i -> b -> m (Maybe a2)
- sgs :: (Ord a, Show a) => [Permutation a] -> [Permutation a]
- rss :: (Ord k, Show k) => [Permutation k] -> [((k, Map k (Permutation k)), [Permutation k])]
- rss' :: (Num t, Show a, Eq t, Ord a) => (Int, IOArray Int (Permutation a)) -> [((a, Map a (Permutation a)), [Permutation a])] -> t -> IO [((a, Map a (Permutation a)), [Permutation a])]
- initLevels :: (Num a1, Ord k, Foldable t) => t (Permutation k) -> [((k, Map k a1), [a2])]
- updateLevels :: Ord c => [((c, Map c (Permutation c)), [Permutation c])] -> Maybe (Permutation c) -> (Bool, [((c, Map c (Permutation c)), [Permutation c])])
- updateLevels' :: Ord t => [((t, Map t (Permutation t)), [Permutation t])] -> [((t, Map t (Permutation t)), [Permutation t])] -> Permutation t -> t -> [((t, Map t (Permutation t)), [Permutation t])]
- baseTransversalsSGS :: Ord k => [Permutation k] -> [(k, Map k (Permutation k))]
- isMemberSGS :: (Ord a, Show a) => [Permutation a] -> Permutation a -> Bool
Documentation
testProdRepl :: IO () Source #
initProdRepl :: (Ord a, Show a) => [Permutation a] -> IO (Int, IOArray Int (Permutation a)) Source #
nextProdRepl :: (Ord a, Show a) => (Int, IOArray Int (Permutation a)) -> IO (Maybe (Permutation a)) Source #
updateArray :: (MArray a1 a2 m, Ix i, Num i, Integral b, HasInverses a2, Num a2) => a1 i a2 -> i -> i -> b -> m (Maybe a2) Source #
sgs :: (Ord a, Show a) => [Permutation a] -> [Permutation a] Source #
Given generators for a permutation group, return a strong generating set. The result is calculated using random Schreier-Sims algorithm, so has a small (<10^-6) chance of being incomplete. The sgs is relative to the base implied by the Ord instance.
rss :: (Ord k, Show k) => [Permutation k] -> [((k, Map k (Permutation k)), [Permutation k])] Source #
rss' :: (Num t, Show a, Eq t, Ord a) => (Int, IOArray Int (Permutation a)) -> [((a, Map a (Permutation a)), [Permutation a])] -> t -> IO [((a, Map a (Permutation a)), [Permutation a])] Source #
initLevels :: (Num a1, Ord k, Foldable t) => t (Permutation k) -> [((k, Map k a1), [a2])] Source #
updateLevels :: Ord c => [((c, Map c (Permutation c)), [Permutation c])] -> Maybe (Permutation c) -> (Bool, [((c, Map c (Permutation c)), [Permutation c])]) Source #
updateLevels' :: Ord t => [((t, Map t (Permutation t)), [Permutation t])] -> [((t, Map t (Permutation t)), [Permutation t])] -> Permutation t -> t -> [((t, Map t (Permutation t)), [Permutation t])] Source #
baseTransversalsSGS :: Ord k => [Permutation k] -> [(k, Map k (Permutation k))] Source #
isMemberSGS :: (Ord a, Show a) => [Permutation a] -> Permutation a -> Bool Source #
Given a strong generating set gs, isMemberSGS gs is a membership test for the group