HaskellForMaths-0.4.8: Combinatorics, group theory, commutative algebra, non-commutative algebra

Safe HaskellNone
LanguageHaskell98

Math.Algebra.Group.RandomSchreierSims

Synopsis

Documentation

updateArray :: (HasInverses a, MArray a1 a m, Ix i, Num i, Num a, Integral t) => a1 i a -> i -> i -> t -> m (Maybe a) 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 :: (Show k, Ord k) => [Permutation k] -> [((k, Map k (Permutation k)), [Permutation k])] Source

rss' :: (Show k, Ord k, Num a, Eq a) => (Int, IOArray Int (Permutation k)) -> [((k, Map k (Permutation k)), [Permutation k])] -> a -> IO [((k, Map k (Permutation k)), [Permutation k])] Source

initLevels :: (Ord k, Num a) => [Permutation k] -> [((k, Map k a), [t])] Source

updateLevels :: Ord k => [((k, Map k (Permutation k)), [Permutation k])] -> Maybe (Permutation k) -> (Bool, [((k, Map k (Permutation k)), [Permutation k])]) Source

updateLevels' :: Ord k => [((k, Map k (Permutation k)), [Permutation k])] -> [((k, Map k (Permutation k)), [Permutation k])] -> Permutation k -> k -> [((k, Map k (Permutation 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