|
permlib
0.2.9
Library for permutation computations
|
Tests a group given by generators for being an Alternating Group or a Symmetric Group. More...
#include <giant_test.h>
Public Member Functions | |
| template<typename ForwardIterator , typename TRANS > | |
| GiantGroupType | determineGiantType (double eps, unsigned int n, ForwardIterator begin, ForwardIterator end, BSGS< PERM, TRANS > &bsgs, bool isKnownPrimitive=false) const |
| tests whether group given by generators is an Alternating or a Symmetric Group More... | |
| template<typename ForwardIterator > | |
| GiantGroupType | determineGiantType (double eps, unsigned int n, ForwardIterator begin, ForwardIterator end, bool isKnownPrimitive=false) const |
| tests whether group given by generators is an Alternating or a Symmetric Group More... | |
| template<typename T > | |
| GiantTestBase::GiantGroupType | giantTypeByOrder (const T &order, const T &symOrder) |
| template<typename ForwardIterator , typename TRANS > | |
| GiantTestBase::GiantGroupType | determineGiantType (double eps, unsigned int n, ForwardIterator begin, ForwardIterator end, BSGS< PERM, TRANS > &bsgs, bool isKnownPrimitive) const |
Static Public Member Functions | |
| template<typename ForwardIterator > | |
| static bool | isSubgroupOfAlternatingGroup (ForwardIterator begin, ForwardIterator end) |
| tests whether group given by generators is a subgroup of an Alternating Group More... | |
Additional Inherited Members | |
Public Types inherited from permlib::GiantTestBase | |
| enum | GiantGroupType { None , Alternating , Symmetric } |
| Enumeration of "giant" groups, i.e. Alternating and Symmetric group. | |
Tests a group given by generators for being an Alternating Group or a Symmetric Group.
This an implementation of the algorithm given in Holt, Eick, O'Brien: Handbook of Computational Group Theory, 2005. Chapter 4.2
|
inline |
tests whether group given by generators is an Alternating or a Symmetric Group
The test is deterministic for n < 8 and randomized for n >= 8. The randomized test assumes that n is smaller than
| eps | If randomized, 1-eps is the probability that the decision "None" is wrong |
| n | Degree of the group |
| begin | iterator of Permutation::ptr, group generators |
| end | iterator of Permutation::ptr, group generators |
| isKnownPrimitive | true if group is known to be primitive |
| GiantGroupType permlib::GiantTest< PERM >::determineGiantType | ( | double | eps, |
| unsigned int | n, | ||
| ForwardIterator | begin, | ||
| ForwardIterator | end, | ||
| BSGS< PERM, TRANS > & | bsgs, | ||
| bool | isKnownPrimitive = false |
||
| ) | const |
tests whether group given by generators is an Alternating or a Symmetric Group
The test is deterministic for n < 8 and randomized for n >= 8. The randomized test assumes that n is smaller than
| eps | If randomized, 1-eps is the probability that the decision "None" is wrong |
| n | Degree of the group |
| begin | iterator of Permutation::ptr, group generators |
| end | iterator of Permutation::ptr, group generators |
| bsgs | if for the test a BSGS is computed, it is stored into this variable |
| isKnownPrimitive | true if group is known to be primitive |
|
static |
tests whether group given by generators is a subgroup of an Alternating Group
Tests subgroup property by computing parity of all generators.
| begin | iterator of Permutation::ptr, group generators |
| end | iterator of Permutation::ptr, group generators |