policy::froidure_pin¶
-
enum libsemigroups::congruence::ToddCoxeter::policy::froidure_pin¶
The values in this enum can be used as the argument for ToddCoxeter::fpp (which stands for “Froidure-Pin policy”) to specify whether the defining relations, or the left/right Cayley graph, of a FroidurePin instance, should be used in the coset enumeration.
If the number of classes in the congruence represented by a ToddCoxeter instance is relatively small, by some definition, compared to the size of the semigroup represented by the FroidurePin instance, then the use_relations policy is often faster. If the number of classes is relatively large, then use_cayley_graph is often faster. It is guaranteed that ToddCoxeter::run will terminate in an amount of time proportionate to the size of the input if the policy use_cayley_graph is used, whereas the run time when using the policy use_relations can be arbitrarily high regardless of the size of the input.
Values:
-
enumerator none¶
No policy has been specified.
-
enumerator use_relations¶
Use the relations of a FroidurePin instance.
-
enumerator use_cayley_graph¶
Use the left or right Cayley graph of a FroidurePin instance.
-
enumerator none¶