Konieczny¶
-
template<typename TElementType, typename TTraits = KoniecznyTraits<TElementType>>
class Konieczny : public libsemigroups::Runner, private libsemigroups::detail::BruidhinnTraits<TElementType>¶ Defined in
konieczny.hpp
.The class template Konieczny implements Konieczny’s algorithm as described in the article ‘Green’s equivalences in finite semigroups of binary relations’ by Janusz Konieczny; see here for more details. This algorithm is similar to that of Lallement and McFadden; see this paper for more details. It differs in being applicable to subsemigroups of a non-regular semigroup, though is essentially the same algorithm for elements which happen to be regular.
A Konieczny instance is defined by a generating set, and the main function is Konieczny::run, which implements Konieczny’s Algorithm. If Konieczny::run is invoked and Konieczny::finished returns
true
, then the size, partial order of \(\mathscr{D}\)-classes, and frames for each \(\mathscr{D}\)-class are known.See also
- Template Parameters
TElementType – the type of the elements of the semigroup (must not be a pointer).
TTraits – the type of a traits class with the requirements of KoniecznyTraits.
Member types¶
Type of indices of \(\mathscr{D}\) -classes. |
|
Return type of |
|
The type of const elements. |
|
A type for const iterators through elements. |
|
Type of element const references. |
|
Return type of |
|
The type of elements. |
|
The type of the orbit of the lambda values. |
|
The type of lambda values. |
|
The type of the orbit of the rho values. |
|
The type of rho values. |
Adapter member types¶
Adapter for the degree of an element. |
|
Adapter for testing equality. |
|
Adapter for the action on |
|
Adapter for comparisons. |
|
Adapter for the identity element of the given type. |
|
Adapter for the product of two elements. |
|
Adapter for calculating ranks. |
|
Adapter for the action on |
|
Adapter for swapping. |
Constructors¶
Default constructor. |
|
Construct from generators. |
Deleted constructors¶
Deleted. |
|
Deleted. |
|
Deleted. |
|
Deleted. |
Initialisation¶
Add a copy of an element to the generators. |
|
Add collection of generators from container. |
|
Add collection of generators from iterators. |
|
Add collection of generators from initializer list. |
Elements¶
Test membership of an element. |
|
Test regularity of an element. |
Attributes¶
Returns the \(\mathscr{D}\) -class containing an element. |
|
Returns the number of \(\mathscr{D}\) -classes. |
|
Returns the number of \(\mathscr{H}\) -classes. |
|
Returns the number of \(\mathscr{L}\) -classes. |
|
Returns the number of \(\mathscr{R}\) -classes. |
|
Returns the number of idempotents. |
|
Returns the number of regular \(\mathscr{D}\) -classes. |
|
Returns the number of regular \(\mathscr{L}\) -classes. |
|
Returns the number of regular \(\mathscr{R}\) -classes. |
|
Returns the number of regular elements. |
|
Returns the size. |
Const Attributes¶
Returns the current number of \(\mathscr{D}\) -classes. |
|
Returns the current number of \(\mathscr{H}\) -classes. |
|
Returns the current number of \(\mathscr{L}\) -classes. |
|
Returns the current number of regular \(\mathscr{R}\) -classes. |
|
Returns the current number of idempotents. |
|
Returns the current number of regular \(\mathscr{D}\) -classes. |
|
Returns the current number of regular \(\mathscr{L}\) -classes. |
|
Returns the current number of regular \(\mathscr{R}\) -classes. |
|
Returns the current number of regular elements. |
|
Returns the current size. |
|
Returns the degree of elements. |
|
Returns a const reference to the generator given by an index. |
|
Returns the number of generators. |
Iterators¶
Returns a const iterator referring to a pointer to the first \(\mathscr{D}\) -class. |
|
Returns a const iterator pointing to the first generator. |
|
Shorter form of |
|
Returns a const iterator referring to a pointer to the first regular \(\mathscr{D}\) -class. |
|
Returns a const iterator referring to past the pointer to the last \(\mathscr{D}\) -class. |
|
Returns a const iterator pointing to one past the last generator. |
|
Shorter form of |
|
Returns a const iterator referring to past the pointer to the last regular \(\mathscr{D}\) -class. |
Member functions inherited from Runner¶
Check if the runner is dead. |
|
Check if |
|
Stop |
|
Check if it is time to report. |
|
Get the minimum elapsed time between reports. |
|
Set the minimum elapsed time between reports. |
|
Set the minimum elapsed time between reports. |
|
Report why |
|
Run until |
|
Run for a specified amount of time. |
|
Run for a specified amount of time. |
|
Run until a nullary predicate returns |
|
Run until a nullary predicate returns |
|
Check if currently running. |
|
Check if the runner is currently running for a particular length of time. |
|
Check if the runner is currently running until a nullary predicate returns |
|
Check if |
|
Check if the runner is stopped. |
|
Check if the runner was, or should, stop because of the argument for |
|
Check if the amount of time passed to |