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
xdoes 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
xdoes 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 towmay not yet have been enumerated.See also
- Parameters:
w – the word in the generators to evaluate.
- Throws:
LibsemigroupsException – if
wis 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.