enumerate¶
-
void
libsemigroups::FroidurePinBase::enumerate(size_t limit)¶ Enumerate the semigroup until
limitelements are found.If the semigroup is already fully enumerated, or the number of elements previously enumerated exceeds
limit, then calling this member function does nothing. Otherwise, run attempts to find at least the maximum oflimitand FroidurePin::batch_size elements of the semigroup. Ifkilledis set totrue(usually by another process), then the enumeration is terminated as soon as possible. It is possible to resume enumeration at some later point after any call to this member function.If the semigroup is fully enumerated, then it knows its left and right Cayley graphs, and a minimal factorisation of every element (in terms of its generating set). All of the elements are stored in memory until the object is destroyed.
The parameter
limitdefaults to FroidurePin::LIMIT_MAX.