class MinimalRepOrc : public libsemigroups::Sims1Settings<MinimalRepOrc>

Defined in sims1.hpp.

This class is a helper for Sims1, calling the digraph member function attempts to find a right congruence, represented as an ActionDigraph, with the minimum possible number of nodes such that the action of the semigroup or monoid defined by the presentation consisting of its short_rules and long_rules on the nodes of the ActionDigraph corresponds to a semigroup of size target_size.

If no such ActionDigraph can be found, then an empty ActionDigraph is returned (with 0 nodes and 0 edges).


MinimalRepOrc() = default

Default constructor.


extra() const noexcept

Returns a const reference to the additional defining pairs.

extra(P const&)

Set the extra rules.


Define the long rule length.

long_rules() const noexcept

Returns the current long rules.

long_rules(P const&)

Set the long rules.

number_of_threads() const noexcept

Returns the current number of threads.


Set the number of threads.

report_interval() const noexcept

Returns the current report interval.

report_interval(size_t) noexcept

Set the report interval.

settings() const noexcept

Returns the settings object of *this.

settings(Sims1Settings const &)

Copy the settings from that into this.

short_rules() const noexcept

Returns a const reference to the current short rules.

short_rules(P const&)

Set the short rules.


Split the rules in short_rules and long_rules .

stats() const noexcept


Settings specifically for MinimalRepOrc

digraph() const

Get the digraph.

target_size() const noexcept

The current target size.

target_size(size_t) noexcept

Set the target size.