Konieczny¶
- class Konieczny¶
This page contains the documentation for functionality in
libsemigroups_pybind11
for Konieczny's algorithm described in the article Green's equivalences in finite semigroups of binary relations by Janusz Konieczny. This algorithm is similar to that of Lallement and McFadden in this paper. 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 isKonieczny.run()
, which implements Konieczny's Algorithm. IfKonieczny.run()
is invoked andKonieczny.finished()
returnsTrue
, then the size, partial order of \(\mathscr{D}\)-classes, and frames for each \(\mathscr{D}\)-class are known.While
Konieczny
is not a class the objects returned byKonieczny
have identical methods, and so we documentKonieczny
as if it was a class.
Constructors¶
Construct from list of generators. |
Generators¶
Add a copy of an element to the generators. |
|
Returns the number of generators. |
|
Returns the generator with specified index. |
|
Returns an iterator pointing to the first generator. |
Membership¶
Test membership of an element. |
|
Test membership of an element. |
Attributes¶
Returns the degree of any and all elements. |
|
Returns the size. |
|
Returns the current size. |
Idempotents¶
Returns the number of idempotents. |
|
Returns the current number of idempotents. |
Green's relations¶
Test regularity of an element. |
|
Returns the \(\mathscr{D}\)-class containing an element. |
|
Returns an iterator pointing to the first \(\mathscr{D}\)-class. |
|
Returns an iterator pointing to the first regular \(\mathscr{D}\)-class. |
|
Returns the number of \(\mathscr{D}\)-classes. |
|
Returns the number of \(\mathscr{L}\)-classes. |
|
Returns the number of \(\mathscr{R}\)-classes. |
|
Returns the number of \(\mathscr{H}\)-classes. |
|
Returns the current number of \(\mathscr{D}\)-classes. |
|
Returns the current number of \(\mathscr{L}\)-classes. |
|
Returns the current number of \(\mathscr{R}\)-classes. |
|
Returns the current number of \(\mathscr{H}\)-classes. |
|
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 \(\mathscr{D}\)-classes. |
|
Returns the number of regular \(\mathscr{L}\)-classes. |
|
Returns the number of regular \(\mathscr{R}\)-classes. |
Running and reporting¶
|
Enumerate until at least a specified number of elements are found. |
Run the algorithm until it finishes. |
|
Run for a specified amount of time. |
|
Run until a nullary predicate returns |
|
Stop running the algorithm (thread-safe). |
|
Check if the runner is dead. |
|
Check if the main algorithm has been run to completion or not. |
|
Check if |
|
Check if it is time to report. |
|
Set the minimum elapsed time between reports. |
|
Report why we stopped. |
|
Check if currently running. |
|
Check if the main algorithm has or should timed out. |
|
Check if the main algorithm has or should stop. |
|
Check if the main algorithm was, or should be, stopped by the nullary
predicate passed as first argument to |