minimal_factorisation(word_type&, element_index_type)¶
-
void
libsemigroups::FroidurePinBase::minimal_factorisation(word_type &word, element_index_type pos)¶ Changes
wordin-place to contain a minimal word with respect to the short-lex ordering in the generators equal to theposelement of the semigroup.If
posis less than the size of this semigroup, then this member function changes its first parameterwordin-place by first clearing it and then to contain a minimal factorization of the element in positionposof the semigroup with respect to the generators of the semigroup. This member function enumerates the semigroup until at least theposelement is known. Ifposis greater than the size of the semigroup, then a LibsemigroupsException is thrown.