We introduce new, elementary Monte Carlo methods to speed up and greatly simplify the manipulation of permutation groups (given by a list of generators). The methods are of a combinatorial character, using only elementary group theory. The key idea is that under certain conditions, "random subproducts" of the generators successfully emulate truly random elements of a group. We achieve a nearly optimal O(n3 logcn) asymptotic running time for membership testing, where n is the size of the permutation domain. This is an improvement of two orders of magnitude compared to known elementary algorithms and one order of magnitude compared to algorithms which depend on heavy use of group theory. An even greater asymptotic speedup is achieved for normal closures, a key ingredient in group-theoretic computation, now constructible in Monte Carlo time O(n2 logcn), i.e., essentially linear time (as a function of the input length). Some of the new techniques are sufficiently general to allow polynomial-time implementations in the very general model of "black box groups" (group operations are performed by an oracle). In particular, the normal closure algorithm has a number of applications to matrix-group computation. It should be stressed that our randomized algorithms are not heuristic: the probability of error is guaranteed not to exceed a bound ϵ > 0, prescribed by the user. The cost of this requirement is a factor of |log ϵ| in the running time.
Read full abstract