permlib 0.2.9
Library for permutation computations
Loading...
Searching...
No Matches
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
template<class ForwardIterator>
BSGS< PERM, TRANSconstruct (ForwardIterator generatorsBegin, ForwardIterator generatorsEnd) const
 constructs a BSGS for group given by generators with no base prescribed
template<class ForwardIterator, class InputIterator>
BSGS< PERM, TRANSconstruct (ForwardIterator generatorsBegin, ForwardIterator generatorsEnd, InputIterator prescribedBaseBegin, InputIterator prescribedBaseEnd) const
 constructs a BSGS for group given by generators respecting prescribed base elements
Public Member Functions inherited from permlib::BaseConstruction< PERM, TRANS >
 BaseConstruction (dom_int n)
 constructor

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
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
 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: