permlib  0.2.9
Library for permutation computations
Public Member Functions | Public Attributes | Protected Types | Protected Member Functions | List of all members
permlib::BaseTranspose< PERM, TRANS > Class Template Referenceabstract

abstract base class for base transposition More...

#include <base_transpose.h>

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

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

Detailed Description

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

abstract base class for base transposition

A base transposition is a base change where two adjacent base points are exchanged.

Member Function Documentation

◆ setupGenerator()

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

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

Implemented in permlib::RandomBaseTranspose< PERM, TRANS >, and permlib::DeterministicBaseTranspose< PERM, TRANS >.

◆ transpose()

template<class PERM , class 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]

Parameters
bsgsthe BSGS that the transposition is performed on
iexchanges i-th and (i+1)-st base point

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