Konieczny¶
-
template<typename
TElementType
, typenameTTraits
= KoniecznyTraits<TElementType>>
classKonieczny
: 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 member 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 complete frames for each \(\mathscr{D}\)-class are known.- See
- Template Parameters
TElementType
: the type of the elements of the semigroup.TTraits
: the type of a traits class with the requirements of libsemigroups::KoniecznyTraits.