permlib  0.2.9
Library for permutation computations
Protected Types | Protected Member Functions | List of all members
permlib::RandomBaseTranspose< PERM, TRANS > Class Template Reference

implementation of a randomized base transposition algorithm More...

#include <random_base_transpose.h>

Inheritance diagram for permlib::RandomBaseTranspose< PERM, TRANS >:
permlib::BaseTranspose< PERM, TRANS >

Protected Types

typedef BaseTranspose< PERM, TRANS >::PERMlist PERMlist
 
- Protected Types inherited from permlib::BaseTranspose< PERM, TRANS >
typedef std::list< typename PERM::ptr > PERMlist
 

Protected Member Functions

virtual Generator< PERM > * setupGenerator (BSGS< PERM, TRANS > &bsgs, unsigned int i, const PERMlist &S_i, const TRANS &U_i) const
 initializes the specific Schreier Generator that is used for the BaseTranpose implementation More...
 

Additional Inherited Members

- Public Member Functions inherited from permlib::BaseTranspose< PERM, TRANS >
 BaseTranspose ()
 constructor
 
virtual ~BaseTranspose ()
 virtual destructor
 
void transpose (BSGS< PERM, TRANS > &bsgs, unsigned int i) const
 performs a base transposition on bsgs between bsgs.B[i] and bsgs.B[i+1] More...
 
- Public Attributes inherited from permlib::BaseTranspose< PERM, TRANS >
unsigned int m_statScheierGeneratorsConsidered
 number of Schreier generators that have been considered during the last transpose call
 
unsigned int m_statNewGenerators
 number of new strong generators that have been added during the last transpose call
 

Detailed Description

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

implementation of a randomized base transposition algorithm

Randomly constructed Schreier generators are considered for updating the BSGS. The algorithm is Las Vegas type, so the result is guaranteed to be correct, the time to completion may vary.

Member Function Documentation

◆ setupGenerator()

template<class PERM , class TRANS >
Generator< PERM > * permlib::RandomBaseTranspose< PERM, TRANS >::setupGenerator ( BSGS< PERM, TRANS > &  bsgs,
unsigned int  i,
const PERMlist &  S_i,
const TRANS &  U_i 
) const
protectedvirtual

initializes the specific Schreier Generator that is used for the BaseTranpose implementation

Parameters
bsgsthe BSGS that the generator is contructed for
isetup Schreier Generator for the i-th base element
S_igroup generators for Schreier generator
U_itransversal for Schreier generator

Implements permlib::BaseTranspose< PERM, TRANS >.


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