61.18 Strategies for Double Coset Enumeration

As with the Todd-Coxeter algorithm, the order of defining new (double) cosets and applying relations can make a huge difference to the performance of the algorithm. There is considerable scope for user control of the strategy followed by the DCE program. This is exercised by setting the strategy field in the presentation record (and less importantly by adding various fields to the relators). This field should be set to a record, for which various fields are meaningful. The most important is whichStrategy, which should take one of three values:

``HLT'':
A weighted Haselgrove-Leech-Trotter strategy. This is the default.

``Felsch'':
A pure Felsch strategy.

``Havas'':
A family of hybrid strategies, controlled by three parameters: FF which regulates the use of the preferred definition list to ensure that all definitions get made eventually (high values use the list more); HavN which is the number of double cosets that will be filled by definition before the relators are pushed from HavK double cosets.

When it completes successfully HLT is generally much the fastest strategy.

Apart from the fields FF, HavN and HavK, the other meaningful field in the strategy record is EC, which is the set (usually a range) of degrees at which early-closing is allowed. Even if you know the exact degree of the final representation it is worth-while allowing some ``slack'' so that the ``end-game'' strategy can come into play.

The ``HLT'' strategy can be fine-tuned by setting ``weights'' on the relators. Weights are integers, and a relator with higher weight will be used less than one with lower weight. This is done by adding a field weight to the relator record. The default weight is the base two logarithm of the length of the relator (after consecutive elements of K in the relator have been combined).

Finally, setting the insg field of a relator causes it to be used as a subgroup generator as well.

Previous Up Top Next
Index

GAP 3.4.4
April 1997