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 onesided 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 onesided congruences with up to a given number of classes. 