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

Safe HaskellNone
LanguageHaskell98

Math.Algebra.Group.RandomSchreierSims

Synopsis

Documentation

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

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

initLevels :: (Foldable t, Ord k, Num a1) => 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 #

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