Attributes

This page contains information about attributes of the FroidurePinBase class.

inline size_t libsemigroups::FroidurePinBase::current_number_of_rules() const noexcept

Returns the number of relations that have been found so far.

This is only guaranteed to be the actual number of relations in a presentation defining the semigroup if the semigroup is fully enumerated.

Parameters

(None)

Exceptions

This function is noexcept and is guaranteed never to throw.

Complexity

Constant.

Returns

A value of type size_t.

inline size_t libsemigroups::FroidurePinBase::current_size() const noexcept

Returns the number of elements so far enumerated.

This is only the actual size of the semigroup if the semigroup is fully enumerated.

Parameters

(None)

Exceptions

This function is noexcept and is guaranteed never to throw.

Complexity

Constant.

Returns

A value of type size_t.

inline size_t libsemigroups::FroidurePinBase::degree() const noexcept

Returns the degree of any and all elements.

Parameters

(None)

Exceptions

This function is noexcept and is guaranteed never to throw.

Complexity

Constant.

Returns

A value of type size_t.

void libsemigroups::FroidurePinBase::enumerate(size_t limit)

Enumerate until at least a specified number of elements are found.

If the semigroup is already fully enumerated, or the number of elements previously enumerated exceeds limit, then calling this function does nothing. Otherwise, run attempts to find at least the maximum of limit and batch_size elements of the semigroup.

Exceptions

This function guarantees not to throw a LibsemigroupsException.

Complexity

At worst \(O(mn)\) where \(m\) equals limit and \(n\) is the return value of FroidurePin::number_of_generators.

Parameters

limit – the limit for current_size()

Returns

(None)

inline bool libsemigroups::FroidurePinBase::is_monoid()

Check if the semigroup is a monoid.

Exceptions

This function guarantees not to throw a LibsemigroupsException.

Complexity

At worst \(O(|S|n)\) where \(S\) is the semigroup represented by this, and \(n\) is the return value of FroidurePin::number_of_generators.

Parameters

(None).

Returns

true if the semigroup represented by this contains FroidurePin::One, and false if not.

inline size_t libsemigroups::FroidurePinBase::size()

Returns the size.

Parameters

(None)

Exceptions

This function guarantees not to throw a LibsemigroupsException.

Complexity

At worst \(O(|S|n)\) where \(S\) is the semigroup represented by this, and \(n\) is the return value of FroidurePin::number_of_generators.

Returns

A value of type size_t.