Factorisation and relations¶
This page contains information about the member functions of the FroidurePin
class related to factorising elements, products, and defining relations.
-
word_type libsemigroups::FroidurePin::factorisation(const_reference x)¶
Factorise an element as a word in the generators.
The key difference between this function and minimal_factorisation(const_reference x), is that the resulting factorisation may not be minimal.
Note
This function may trigger a (partial) enumeration.
- Parameters
x – a const reference to a possible element to factorise.
- Throws
LibsemigroupsException – if
x
does not belong tothis
.- Returns
Returns a word_type which evaluates to
x
.
-
word_type libsemigroups::FroidurePin::minimal_factorisation(const_reference x)¶
Factorise an element as a word in the generators.
Returns the short-lex minimum word (if any) in the generators that evaluates to
x
.Note
This function may trigger a (partial) enumeration.
- Parameters
x – a const reference to a possible element to factorise.
- Throws
LibsemigroupsException – if
x
does not belong tothis
.- Returns
Returns a word_type which evaluates to
x
.
-
element_type libsemigroups::FroidurePin::word_to_element(word_type const &w) const¶
Convert a word in the generators to an element.
This function returns a copy of the element obtained by evaluating
w
. A copy is returned instead of a reference, because the element corresponding tow
may not yet have been enumerated.See also
- Parameters
w – the word in the generators to evaluate.
- Throws
LibsemigroupsException – if
w
is not a valid word in the generators, i.e. if it contains a value greater than or equal to the number of generators.- Returns
A copy of the element represented by the word
w
.