multiplier_from_scc_root

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

Returns an element x of the semigroup generated by the generators in the action such that if r is the root of the strongly connected component containing at(pos), then after TActionType()(res, r, x) the point res equals 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.