permlib::BaseTranspose< PERM, TRANS > Class Template Reference

abstract base class for base transposition More...

#include <base_transpose.h>

Inheritance diagram for permlib::BaseTranspose< PERM, TRANS >:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 BaseTranspose ()
 constructor
virtual ~BaseTranspose ()
 virtual destructor
void transpose (BSGS< PERM, TRANS > &bsgs, uint i) const
 performs a base transposition on bsgs between bsgs.B[i] and bsgs.B[i+1]
 BaseTranspose ()
 constructor
virtual ~BaseTranspose ()
 virtual destructor
void transpose (BSGS< PERM, TRANS > &bsgs, uint i) const
 performs a base transposition on bsgs between bsgs.B[i] and bsgs.B[i+1]

Public Attributes

uint m_statScheierGeneratorsConsidered
 number of Schreier generators that have been considered during the last transpose call
uint m_statNewGenerators
 number of new strong generators that have been added during the last transpose call

Protected Member Functions

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

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

template<class PERM , class TRANS >
virtual Generator<PERM>* permlib::BaseTranspose< PERM, TRANS >::setupGenerator ( BSGS< PERM, TRANS > &  bsgs,
uint  i,
const PERMlist &  S_i,
const TRANS &  U_i 
) const [protected, pure virtual]

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

Parameters:
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::DeterministicBaseTranspose< PERM, TRANS >, permlib::RandomBaseTranspose< PERM, TRANS >, permlib::DeterministicBaseTranspose< PERM, TRANS >, and permlib::RandomBaseTranspose< PERM, TRANS >.

template<class PERM , class TRANS >
virtual Generator<PERM>* permlib::BaseTranspose< PERM, TRANS >::setupGenerator ( BSGS< PERM, TRANS > &  bsgs,
uint  i,
const PERMlist &  S_i,
const TRANS &  U_i 
) const [protected, pure virtual]

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

Parameters:
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::DeterministicBaseTranspose< PERM, TRANS >, permlib::RandomBaseTranspose< PERM, TRANS >, permlib::DeterministicBaseTranspose< PERM, TRANS >, and permlib::RandomBaseTranspose< PERM, TRANS >.

template<class PERM , class TRANS >
void permlib::BaseTranspose< PERM, TRANS >::transpose ( BSGS< PERM, TRANS > &  bsgs,
uint  i 
) const

performs a base transposition on bsgs between bsgs.B[i] and bsgs.B[i+1]

Parameters:
bsgs the BSGS that the transposition is performed on
i exchanges i-th and (i+1)-st base point
template<class PERM , class TRANS >
void permlib::BaseTranspose< PERM, TRANS >::transpose ( BSGS< PERM, TRANS > &  bsgs,
uint  i 
) const [inline]

performs a base transposition on bsgs between bsgs.B[i] and bsgs.B[i+1]

Parameters:
bsgs the BSGS that the transposition is performed on
i exchanges i-th and (i+1)-st base point

The documentation for this class was generated from the following files:
Generated on Fri Jun 18 21:59:18 2010 for PermLib by  doxygen 1.6.3