permlib
0.2.9
Library for permutation computations
|
abstract base class for base transposition More...
#include <base_transpose.h>
Public Member Functions | |
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 | |
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 | |
Protected Types | |
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 =0 |
initializes the specific Schreier Generator that is used for the BaseTranpose implementation More... | |
abstract base class for base transposition
A base transposition is a base change where two adjacent base points are exchanged.
|
protectedpure virtual |
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 |
Implemented in permlib::RandomBaseTranspose< PERM, TRANS >, and permlib::DeterministicBaseTranspose< PERM, TRANS >.
void permlib::BaseTranspose< PERM, TRANS >::transpose | ( | BSGS< PERM, TRANS > & | bsgs, |
unsigned int | i | ||
) | const |
performs a base transposition on bsgs between bsgs.B[i] and bsgs.B[i+1]
bsgs | the BSGS that the transposition is performed on |
i | exchanges i-th and (i+1)-st base point |