SchreierSims¶
-
template<size_t
N, typenameTPointType= typename SmallestInteger<N>::type, typenameTElementType= typename NewPermHelper<N>::type, typenameTTraits= SchreierSimsTraits<N, TPointType, TElementType>>
classSchreierSims: private libsemigroups::detail::BruidhinnTraits<typename NewPermHelper<N>::type>¶ Defined in
schreier-sims.hpp.This class implements a deterministic version of the Schreier-Sims algorithm acting on a relatively small number of points (< 1000).
- See
- Example
SchreierSims<5> S; using Perm = decltype(S)::element_type; S.add_generator(Perm({1, 0, 2, 3, 4})); S.add_generator(Perm({1, 2, 3, 4, 0})); S.size(); // 120
- Template Parameters
N: the largest point not fixed by the permutations in the permutation group to be represented by this.TPointType: the type of the points acted on (default: SmallestInteger<N>::type).TElementType: the type of the group elements acting onTPointType(default: NewPermHelper<N>::type)TTraits: the type of traits object (default: SchreierSimsTraits<N, TPointType, TElementType>)