permlib
0.2.6
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 | |
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 | |
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 |
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
GiantTestBase::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 |
GiantGroupType permlib::GiantTest< PERM >::determineGiantType | ( | double | eps, |
unsigned int | n, | ||
ForwardIterator | begin, | ||
ForwardIterator | end, | ||
bool | isKnownPrimitive = false |
||
) | const [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 |
bool permlib::GiantTest< PERM >::isSubgroupOfAlternatingGroup | ( | ForwardIterator | begin, |
ForwardIterator | end | ||
) | [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 |