In mathematics, coset enumeration is the problem of counting the cosets of a subgroup H of a groupG given in terms of a presentation. As a by-product, one obtains a permutation representation for G on the cosets of H. If H has a known finite order, coset enumeration gives the order of G as well.
For small groups it is sometimes possible to perform a coset enumeration by hand. However, for large groups it is time-consuming and error-prone, so it is usually carried out by computer. Coset enumeration is usually considered to be one of the fundamental problems in computational group theory.
The original algorithm for coset enumeration was invented by John Arthur Todd and H. S. M. Coxeter. Various improvements to the original Todd-Coxeter algorithm have been suggested. The Knuth-Bendix algorithm also can perform coset enumeration, and unlike the Todd-Coxeter algorithm, it can sometimes solve the word problem for infinite groups.
The main practical difficulties in producing a coset enumerator are that it is difficult or impossible to predict how much memory or time will be needed to complete the process. If a group is finite, then its coset enumeration must terminate eventually, although it may take arbitrarily long and use an arbitrary amount of memory, even if the group is trivial. Depending on the algorithm used, it may happen that making small changes to the presentation that do not change the group nevertheless have a large impact on the amount of time or memory needed to complete the enumeration. These behaviours are a consequence of the unsolvability of the word problem for groups.
This function creates a cosetenumeration process for enumerating the cosets of the subgroup H of the finitely presented group G. Note that no actual cosetenumeration is started for the created cosetenumeration process.
This means that a cosetenumeration process P for the cosets of H in G is transformed into a cosetenumeration process for the cosets of < H, w > in G, where < H, w > denotes the subgroup of G generated by H and w.
Change enumeration parameters of the cosetenumeration process P. The set of parameters accepted by this function is the same as for the function CosetEnumerationProcess; see there for a description.