sympy/sympy — pull request #1406 by amakelov (2012-07-06 14:13:20+00:00)
Title: Permutation groups: Random Schreier-Sims, fundamental tools for backtracking, minor additions

Implemented the randomized version of the Schreier-Sims algorithm. Implemented a depth-first search visiting all group elements (to be used in backtracking algorithms) and a function for swapping two consecutive points in the base of a permutation group.
Added some more attributes to the PermutationGroup class so that the output of the deterministic version of Schreier-Sims is more easily usable.
Implemented the direct product of several groups at once (faster than applying * repeatedly), and from that a function constructing an arbitrary abelian group by a cyclic decomposition.
Added a function that finds the degree of transitivity of a permutation group.