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