libsemigroups  v3.0.0
C++ library for semigroups and monoids
Loading...
Searching...
No Matches

This page contains documentation of the member functions of ToddCoxeter that can be used to modify the state of a ToddCoxeter instance. In other words, for modifying the WordGraph that is the output of the algorithm in a way that preserves it up to isomorphism.

Functions

void perform_lookahead (bool stop_early)
 Perform a lookahead.
 
void shrink_to_fit ()
 Shrink the underlying word graph to remove all dead nodes.
 
bool standardize (Order val)
 Standardize the current_word_graph.
 

Function Documentation

◆ perform_lookahead()

void perform_lookahead ( bool stop_early)

This function can be used to explicitly perform a lookahead. The style and extent of this lookahead are controlled by the settings lookahead_style and lookahead_extent.

If the argument stop_early is true, then the settings lookahead_stop_early_interval and lookahead_stop_early_ratio are used to determine whether or not the lookahead should be aborted early. If stop_early is false, then these settings are ignored.

Parameters
stop_earlywhether or not to consider stopping the lookahead early if too few nodes are killed.

◆ shrink_to_fit()

void shrink_to_fit ( )

This function triggers a full enumeration, and standardization, and removes from word_graph any dead nodes.

If finished returns false, then this function does nothing.

◆ standardize()

bool standardize ( Order val)

This function standardizes the return value of current_word_graph, and does not trigger any enumeration. See standardization_order for a full description. The return value of this function indicates whether or not the current_word_graph was modified. In other words, if this function returns true, then the word graph was not previously standardized with respect to val, and was modified by calling this function if false is returned, then the word graph was previously standardized with respect to val (although this might not have been known), and was not modified by calling this function.

Parameters
valthe order of the standardization.
Returns
Whether or not the word graph was modified by the standardization.
Note
If val is Order::none, then this function does nothing.
See also
standardize
current_spanning_tree.