33 #ifndef RANDOMSCHREIERGENERATOR_H_ 34 #define RANDOMSCHREIERGENERATOR_H_ 36 #include <permlib/generator/random_generator.h> 45 template <
class PERM,
class TRANS>
66 template <
class PERM,
class TRANS>
68 : m_bsgs(bsgs), m_i(i), m_U(U)
71 template <
class PERM,
class TRANS>
73 PERM g = m_bsgs.random(m_i);
74 boost::scoped_ptr<PERM> u_g(m_U.at(g / m_bsgs.B[m_i]));
82 #endif // -- RANDOMSCHREIERGENERATOR_H_ abstract base class for random group element generators
Definition: random_generator.h:42
RandomSchreierGenerator(const BSGS< PERM, TRANS > &bsgs, unsigned int i, const TRANS &U)
constructor
Definition: random_schreier_generator.h:67
virtual PERM next()
generates an element
Definition: random_schreier_generator.h:72
generates a uniformly distributed random element of
Definition: random_schreier_generator.h:46
Represents a base and strong generating set (BSGS)
Definition: bsgs.h:58
Definition: abstract_bsgs.h:49