Settings specifically for MinimalRepOrc¶
This page contains information about the various settings specifically for the MinimalRepOrc
class.
-
template<typename T = uint32_t>
ActionDigraph<T> libsemigroups::MinimalRepOrc::digraph() const¶ Get the digraph.
This 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 and0
edges).The algorithm implemented by this function repeatedly runs:
whereRepOrc(*this) .min_nodes(1) .max_nodes(best) .target_size(target_size()) .digraph();
best
is initially target_size, until the returned ActionDigraph is empty, and then the penultimate ActionDigraph is returned (if any).Warning
The return value of this function is recomputed every time it is called.
Warning
If the return value of number_of_threads is greater than
1
, then the value returned by this function is non-deterministic, and may vary even for the same parameters.- Template Parameters
T – the type of the nodes in the returned digraph.
- Parameters
(None) – this function has no parameters.
- Throws
(None) – This function guarantees not to throw a
LibsemigroupsException
.- Returns
A value of type
ActionDigraph
.
-
inline size_t libsemigroups::MinimalRepOrc::target_size() const noexcept¶
The current target size.
This function returns the current value for the target size, i.e. the desired size of the transformation semigroup corresponding to the ActionDigraph returned by the function digraph.
- Parameters
(None) – this function has no parameters.
- Throws
(None) – This function is
noexcept
and is guaranteed never to throw.- Returns
A value of type
size_t
.
-
inline MinimalRepOrc &libsemigroups::MinimalRepOrc::target_size(size_t val) noexcept¶
Set the target size.
This function sets the target size, i.e. the desired size of the transformation semigroup corresponding to the ActionDigraph returned by the function digraph.
- Parameters
val – the target size.
- Throws
(None) – This function is
noexcept
and is guaranteed never to throw.- Returns
A reference to
this
.