Schreier–Sims algorithm: Difference between revisions

Content deleted Content added
Line 80:
 
Notable details left out here include the growing of the orbit tree and the calculation of each new Schreier generator. In place of the orbit tree, a [[Schreier vector]] can be used, but the idea is essentially the same. The tree is rooted at the identity element, which fixes the point stabilized by the subgroup. Each node of the tree can represent a permutation that, when combined with all permutations in the path from the root to it, takes that point to some new point not visited by any other node of the tree. By the [[orbit-stabilizer theorem]], these form a [[transversal]] of the subgroup of our group that stabilizes the point whose entire orbit is maintained by the tree. Calculating a Schreier generator is a simple matter of applying [[Schreier's subgroup lemma]].
 
Another detail left out is the membership test. This is a simple matter of sifting the given permutation down the chain. The trivial group is reached in this process if and only if the given permutation is a member of the group. To sift a permutation, start by finding the coset that it is in. If not found, it's not a member. Otherwise, multiply by the inverse of the coset's representative to get a permutation in the subgroup and recurse until we've hit the bottom of the chain.
 
==References==