permlib  0.2.9
Library for permutation computations
Public Member Functions | Public Attributes | List of all members
permlib::SchreierSimsConstruction< PERM, TRANS > Class Template Reference

BSGS construction with classic Schreier-Sims algorithm. More...

#include <schreier_sims_construction.h>

Inheritance diagram for permlib::SchreierSimsConstruction< PERM, TRANS >:
permlib::BaseConstruction< PERM, TRANS >

Public Member Functions

 SchreierSimsConstruction (unsigned int n)
 constructor More...
 
template<class ForwardIterator >
BSGS< PERM, TRANS > construct (ForwardIterator generatorsBegin, ForwardIterator generatorsEnd) const
 constructs a BSGS for group given by generators with no base prescribed More...
 
template<class ForwardIterator , class InputIterator >
BSGS< PERM, TRANS > construct (ForwardIterator generatorsBegin, ForwardIterator generatorsEnd, InputIterator prescribedBaseBegin, InputIterator prescribedBaseEnd) const
 constructs a BSGS for group given by generators respecting prescribed base elements More...
 
- Public Member Functions inherited from permlib::BaseConstruction< PERM, TRANS >
 BaseConstruction (dom_int n)
 constructor More...
 

Public Attributes

unsigned int m_statScheierGeneratorsConsidered
 number of Schreier generators examined during the last construct call
 

Additional Inherited Members

- Protected Member Functions inherited from permlib::BaseConstruction< PERM, TRANS >
template<class ForwardIterator , class InputIterator >
void setup (ForwardIterator generatorsBegin, ForwardIterator generatorsEnd, InputIterator prescribedBaseBegin, InputIterator prescribedBaseEnd, BSGS< PERM, TRANS > &bsgs, std::vector< std::list< typename PERM::ptr > > &S) const
 initializes BSGS object More...
 
void mergeGenerators (std::vector< std::list< typename PERM::ptr > > &S, BSGS< PERM, TRANS > &ret) const
 merges all strong generators in S into a single strong generating set ret.S
 
- Protected Attributes inherited from permlib::BaseConstruction< PERM, TRANS >
dom_int m_n
 cardinality of the set the group is acting on
 
- Static Protected Attributes inherited from permlib::BaseConstruction< PERM, TRANS >
static const unsigned long * empty = static_cast<unsigned long*>(0)
 auxilliary element marking an empty iterator
 

Detailed Description

template<class PERM, class TRANS>
class permlib::SchreierSimsConstruction< PERM, TRANS >

BSGS construction with classic Schreier-Sims algorithm.

Constructor & Destructor Documentation

◆ SchreierSimsConstruction()

template<class PERM , class TRANS >
permlib::SchreierSimsConstruction< PERM, TRANS >::SchreierSimsConstruction ( unsigned int  n)
explicit

constructor

Parameters
ncardinality of the set the group is acting on

Member Function Documentation

◆ construct() [1/2]

template<class PERM , class TRANS >
template<class ForwardIterator >
BSGS< PERM, TRANS > permlib::SchreierSimsConstruction< PERM, TRANS >::construct ( ForwardIterator  generatorsBegin,
ForwardIterator  generatorsEnd 
) const
inline

constructs a BSGS for group given by generators with no base prescribed

See also
construct(ForwardIterator generatorsBegin, ForwardIterator generatorsEnd, InputIterator prescribedBaseBegin, InputIterator prescribedBaseEnd)

◆ construct() [2/2]

template<class PERM , class TRANS >
template<class ForwardIterator , class InputIterator >
BSGS< PERM, TRANS > permlib::SchreierSimsConstruction< PERM, TRANS >::construct ( ForwardIterator  generatorsBegin,
ForwardIterator  generatorsEnd,
InputIterator  prescribedBaseBegin,
InputIterator  prescribedBaseEnd 
) const

constructs a BSGS for group given by generators respecting prescribed base elements

Parameters
generatorsBeginbegin iterator of group generators of type PERM
generatorsEndend iterator of group generators of type PERM
prescribedBaseBeginbegin iterator of prescribed base of type unsigned long
prescribedBaseEndend iterator of prescribed base of type unsigned long

The documentation for this class was generated from the following file: