SchreierSims¶
-
template<size_t N, typename TPointType = typename SmallestInteger<N>::type, typename TElementType = LeastPerm<N>, typename TTraits = SchreierSimsTraits<N, TPointType, TElementType>>
class SchreierSims : private libsemigroups::detail::BruidhinnTraits<LeastPerm<N>>¶ 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 also
- 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: the member
typeof SmallestInteger with template parameterN).TElementType – the type of the group elements acting on
TPointType(default: the membertypeof LeastPerm with template parameterN).TTraits – the type of traits object (default: SchreierSimsTraits with template parameters
N,TPointType, andTElementType).
Member types¶
Type of the object containing all points acted on. |
|
Type of indices. |
|
Adapter types¶
Constructors¶
Default move constructor. |
Deleted constructors¶
Deleted. |
|
Deleted. |
|
Deleted. |