multiplier_to_scc_root

inline element_type libsemigroups::Action::multiplier_to_scc_root(index_type pos)

Returns an element x of the semigroup generated by the generators in the action such that after TActionType()(res, at(pos), x) the point res is the root of the strongly connected component containing at(pos).

Complexity

At most \(O(mn)\) where \(m\) is the complexity of multiplying elements of type TElementType and \(n\) is the size of the fully enumerated orbit.

Parameters

pos – a position in the action.

Throws

LibsemigroupsException – if there are no generators yet added or the index pos is out of range.

Returns

An element of type TElementType.