|
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 |