33 #ifndef KNOWNBSGSCONSTRUCTION_H_ 34 #define KNOWNBSGSCONSTRUCTION_H_ 36 #include <permlib/construct/base_construction.h> 37 #include <permlib/bsgs.h> 42 template <
class PERM,
class TRANS>
58 template <
class ForwardIterator,
class InputIterator>
59 BSGS<PERM, TRANS> construct(ForwardIterator generatorsBegin, ForwardIterator generatorsEnd, InputIterator knownBaseBegin, InputIterator knownBaseEnd)
const;
66 template <
class PERM,
class TRANS>
72 template <
class PERM,
class TRANS>
73 template <
class ForwardIterator,
class InputIterator>
75 ::construct(ForwardIterator generatorsBegin, ForwardIterator generatorsEnd, InputIterator knownBaseBegin, InputIterator knownBaseEnd)
const 77 const unsigned int &n = this->m_n;
79 std::vector<std::list<typename PERM::ptr> > S;
80 this->setup(generatorsBegin, generatorsEnd, knownBaseBegin, knownBaseEnd, ret, S);
81 BOOST_ASSERT( S.size() > 0 );
84 ret.
S.insert(ret.
S.end(), S[0].begin(), S[0].end());
90 #endif // -- KNOWNBSGSCONSTRUCTION_H_ BSGS construction from a known base and strong generating set.
Definition: known_bsgs_construction.h:43
KnownBSGSConstruction(unsigned int n)
constructor
Definition: known_bsgs_construction.h:67
base class for BSGS construction algorithms
Definition: base_construction.h:46
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:58
PERMlist S
strong generating set
Definition: bsgs_core.h:57
Definition: abstract_bsgs.h:49