permlib
0.2.9
Library for permutation computations
|
implementation of a randomized base transposition algorithm More...
#include <random_base_transpose.h>
Protected Types | |
typedef BaseTranspose< PERM, TRANS >::PERMlist | PERMlist |
![]() | |
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 | |
![]() | |
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... | |
![]() | |
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 | |
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.
|
protectedvirtual |
initializes the specific Schreier Generator that is used for the BaseTranpose implementation
bsgs | the BSGS that the generator is contructed for |
i | setup Schreier Generator for the i-th base element |
S_i | group generators for Schreier generator |
U_i | transversal for Schreier generator |
Implements permlib::BaseTranspose< PERM, TRANS >.