permlib
0.2.9
Library for permutation computations
|
Tests a transitive group for which a strong generating set is availble for primitivity. More...
#include <primitivity_sgs_test.h>
Public Member Functions | |
template<typename InputIterator > | |
PrimitivitySGSTest (InputIterator genBegin, InputIterator genEnd, dom_int alpha, InputIterator genStabBegin, InputIterator genStabEnd, const TRANS &U) | |
bool | blockOfImprimitivity (std::vector< dom_int > *minimalBlock) const |
bool | isPrimitive () const |
Tests a transitive group for which a strong generating set is availble for primitivity.
If group is not primitive, it can compute a minimal block.
This class implements the algorithm described in Seress: Permutation Group Algorithms, 2003. Chapter 5.5
permlib::PrimitivitySGSTest< TRANS >::PrimitivitySGSTest | ( | InputIterator | genBegin, |
InputIterator | genEnd, | ||
dom_int | alpha, | ||
InputIterator | genStabBegin, | ||
InputIterator | genStabEnd, | ||
const TRANS & | U | ||
) |
Sets up the test
genBegin | iterator<PERM::ptr> begin for group generators |
genEnd | iterator<PERM::ptr> end for group generators |
alpha | an arbitrary element of the domain the group acts on |
genStabBegin | iterator<PERM::ptr> begin for generators of the stabilizer of alpha in the group |
genStabEnd | iterator<PERM::ptr> end for generators of the stabilizer of alpha in the group |
U | transversal for group modulo the stabilizer of alpha |
bool permlib::PrimitivitySGSTest< TRANS >::blockOfImprimitivity | ( | std::vector< dom_int > * | minimalBlock | ) | const |
minimalBlock | If not null, this vector will be filled a (non-sorted) minimal block for the group. If the group is primitive, the vector will contain all elements of the domain. |
|
inline |