This page contains the documentation of the various member functions of the Kambites class that can be used to access the state of an instance.
Those functions with the prefix current_
do not perform any further enumeration.
|
size_t | small_overlap_class () |
| Get the small overlap class.
|
|
size_t | small_overlap_class () const noexcept |
| Get the current value of the small overlap class.
|
|
auto const & | ukkonen () noexcept |
| Returns the suffix tree used to compute pieces.
|
|
◆ small_overlap_class() [1/2]
template<typename Word = detail::MultiView<std::string>>
size_t small_overlap_class |
( |
| ) |
|
|
nodiscard |
If \(S\) is a finitely presented semigroup with generating set \(A\), then a word \(w\) over \(A\) is a piece if \(w\) occurs as a factor in at least two of the relations defining \(S\) or if it occurs as a factor of one relation in two different positions (possibly overlapping).
A finitely presented semigroup \(S\) satisfies the condition \(C(n)\), for a positive integer \(n\) if the minimum number of pieces in any factorisation of a word occurring as the left or right hand side of a relation of \(S\) is at least \(n\).
- Returns
- The greatest positive integer \(n\) such that the finitely semigroup represented by
this
satisfies the condition \(C(n)\); or POSITIVE_INFINITY if no word occurring in a relation can be written as a product of pieces.
- Exceptions
- This function guarantees not to throw a LibsemigroupsException.
- Complexity
- The current implementation has complexity no worse than \(O(m ^
3)\) where \(m\) is the sum of the lengths of the words occurring in the relations of the semigroup.
- Warning
- The member functions contains and reduce only work if the return value of this function is at least \(4\).
◆ small_overlap_class() [2/2]
template<typename Word = detail::MultiView<std::string>>
size_t small_overlap_class |
( |
| ) |
const |
|
nodiscardnoexcept |
See small_overlap_class() for more details.
- Returns
- The small overlap class if known or UNDEFINED otherwise.
- Exceptions
- This function is
noexcept
and is guaranteed never to throw.
◆ ukkonen()
template<typename Word = detail::MultiView<std::string>>
This function returns a const reference to the generalised suffix tree Ukkonoen object containing the relation words of a Kambites object, that is used to determine the pieces, and decompositions of the relation words.
- Returns
- A const reference to a Ukkonen object.
- Exceptions
- This function is
noexcept
and is guaranteed never to throw.