33#ifndef CYCLIC_GROUP_CONSTRUCTION_H_
34#define CYCLIC_GROUP_CONSTRUCTION_H_
36#include <permlib/construct/known_bsgs_construction.h>
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 };
BSGS construction for a cyclic group of given order.
Definition cyclic_group_construction.h:42
CyclicGroupConstruction(unsigned int n)
constructor
Definition cyclic_group_construction.h:59
BSGS< typename TRANS::PERMtype, TRANS > construct() const
sets up a BSGS data structure for a cyclic group
Definition cyclic_group_construction.h:66
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
Represents a base and strong generating set (BSGS)
Definition bsgs.h:89