33 #ifndef CYCLIC_GROUP_CONSTRUCTION_H_ 34 #define CYCLIC_GROUP_CONSTRUCTION_H_ 36 #include <permlib/construct/known_bsgs_construction.h> 41 template <
class TRANS>
58 template <
class TRANS>
64 template <
class TRANS>
68 typedef typename TRANS::PERMtype PERM;
69 const unsigned int &n = this->m_n;
70 typename PERM::perm genPerm(n);
71 for (
unsigned int i = 0; i < n; ++i)
72 genPerm[i] = (i + 1) % n;
73 std::list<typename PERM::ptr> cyclicGenerators;
74 cyclicGenerators.push_back(
typename PERM::ptr(
new PERM(genPerm)));
75 const dom_int knownBase[1] = { 0 };
82 #endif // -- KNOWNBSGSCONSTRUCTION_H_ BSGS construction from a known base and strong generating set.
Definition: known_bsgs_construction.h:43
BSGS< PERM, TRANS > construct(ForwardIterator generatorsBegin, ForwardIterator generatorsEnd, InputIterator knownBaseBegin, InputIterator knownBaseEnd) const
sets up a BSGS data structure for a known base and strong generating set
Definition: known_bsgs_construction.h:75
CyclicGroupConstruction(unsigned int n)
constructor
Definition: cyclic_group_construction.h:59
Represents a base and strong generating set (BSGS)
Definition: bsgs.h:58
BSGS< typename TRANS::PERMtype, TRANS > construct() const
sets up a BSGS data structure for a cyclic group
Definition: cyclic_group_construction.h:66
Definition: abstract_bsgs.h:49
BSGS construction for a cyclic group of given order.
Definition: cyclic_group_construction.h:42