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:
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.
GAP 3.4.4