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 | |
![]() | |
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
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 |
|
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 |
|
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 |