Sims1¶
-
template<typename T>
class Sims1 : public libsemigroups::Sims1Settings<Sims1<T>>¶ Defined in
sims1.hpp
.On this page we describe the functionality relating to the small index congruence algorithm. The algorithm implemented by this class template is essentially the low index subgroup algorithm for finitely presented groups described in Section 5.6 of Computation with Finitely Presented Groups by C. Sims. The low index subgroups algorithm was adapted for semigroups and monoids by J. D. Mitchell and M. Tsalakou.
The purpose of this class is to provide the functions cbegin, cend, for_each, and find_if which permit iterating through the one-sided congruences of a semigroup or monoid defined by a presentation containing (a possibly empty) set of pairs and with at most a given number of classes. An iterator returned by cbegin points at an ActionDigraph instance containing the action of the semigroup or monoid on the classes of a congruence.
Member types¶
The type of the associated |
|
Type for letters in the underlying presentation. |
|
Type for the nodes in the associated |
|
The size_type of the associated |
Constructors¶
Default constructor - deleted! |
|
Default copy constructor. |
|
Default move constructor. |
|
Construct from |
|
Default copy assignment operator. |
|
Default move assignment operator. |
Settings¶
Returns a const reference to the additional defining pairs. |
|
Set the extra rules. |
|
Define the long rule length. |
|
Returns the current long rules. |
|
Set the long rules. |
|
Returns the current number of threads. |
|
Set the number of threads. |
|
Returns the current report interval. |
|
Set the report interval. |
|
Returns the settings object of *this. |
|
Copy the settings from |
|
Returns a const reference to the current short rules. |
|
Set the short rules. |
|
Split the rules in |
|
|
None |
Member functions¶
Returns a forward iterator pointing at the first congruence. |
|
Returns a forward iterator pointing one beyond the last congruence. |
|
|
Apply the function |
|
Apply the function |
Returns the number of one-sided congruences with up to a given number of classes. |