permlib  0.2.6
Library for permutation computations
 All Classes Functions Variables Typedefs Enumerations Friends
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes
permlib::partition::RBase< BSGSIN, TRANSRET > Class Template Reference

R-base for partition backtracking. More...

#include <r_base.h>

Inheritance diagram for permlib::partition::RBase< BSGSIN, TRANSRET >:
permlib::BaseSearch< BSGSIN, TRANSRET > permlib::partition::IntersectionSearch< BSGSIN, TRANSRET > permlib::partition::MatrixAutomorphismSearch< BSGSIN, TRANSRET > permlib::partition::SetImageSearch< BSGSIN, TRANSRET > permlib::partition::SetStabilizerSearch< BSGSIN, TRANSRET > permlib::partition::VectorStabilizerSearch< BSGSIN, TRANSRET >

List of all members.

Public Types

typedef BaseSearch< BSGSIN,
TRANSRET >::PERM 
PERM
typedef BaseSearch< BSGSIN,
TRANSRET >::TRANS 
TRANS
typedef Refinement< PERM >
::RefinementPtr 
RefinementPtr
typedef RefinementFamily< PERM >
::PartitionPtr 
PartitionPtr
typedef std::list< std::pair
< PartitionPtr, RefinementPtr >
>::const_iterator 
PartitionIt

Public Member Functions

 RBase (const BSGSIN &bsgs, unsigned int pruningLevelDCM, bool stopAfterFirstElement=false)
 constructor
void search (BSGS< PERM, TRANSRET > &groupK)
 perform search and store result in groupK
virtual BaseSearch< BSGSIN,
TRANSRET >::PERM::ptr 
searchCosetRepresentative (BSGS< PERM, TRANSRET > &groupK, BSGS< PERM, TRANSRET > &groupL)
 searches for a coset representative if one exists

Protected Member Functions

void construct (SubgroupPredicate< PERM > *pred, RefinementFamily< PERM > *predRefinement)
 constructs an R-base for given predicate and refinement family
virtual unsigned int processNewFixPoints (const Partition &pi, unsigned int level)
 callback when a new fix point appears during R-base construction
virtual const std::vector
< dom_int > & 
subgroupBase () const
 base of the sought subgroup

Protected Attributes

Partition m_partition
 partition to base the backtrack tree on
Partition m_partition2

Detailed Description

template<class BSGSIN, class TRANSRET>
class permlib::partition::RBase< BSGSIN, TRANSRET >

R-base for partition backtracking.


Constructor & Destructor Documentation

template<class BSGSIN , class TRANSRET >
permlib::partition::RBase< BSGSIN, TRANSRET >::RBase ( const BSGSIN &  bsgs,
unsigned int  pruningLevelDCM,
bool  stopAfterFirstElement = false 
)

constructor

Parameters:
bsgsBSGS to search in
pruningLevelDCMprune levels smaller than pruningLevelDCM by double coset minimality with base change
stopAfterFirstElementtrue iff the search can be stopped after the first element found with the desired property

Member Function Documentation

template<class BSGSIN , class TRANSRET >
void permlib::partition::RBase< BSGSIN, TRANSRET >::construct ( SubgroupPredicate< PERM > *  pred,
RefinementFamily< PERM > *  predRefinement 
) [protected]

constructs an R-base for given predicate and refinement family

group membership $\mathcal P$-refinement for m_bsgs is used by default

Parameters:
pred
predRefinementrefinement family to use; may be zero to use only group membership $\mathcal P$-refinement
template<class BSGSIN , class TRANSRET >
BaseSearch< BSGSIN, TRANSRET >::PERM::ptr permlib::partition::RBase< BSGSIN, TRANSRET >::searchCosetRepresentative ( BSGS< PERM, TRANSRET > &  groupK,
BSGS< PERM, TRANSRET > &  groupL 
) [virtual]

searches for a coset representative if one exists

the two arguments are two groups K and L such that $KgL \subseteq G(\mathcal P)\quad \Leftrightarrow g \in G(\mathcal P)$

Parameters:
groupKsubgroup of G
groupLsubgroup of G
Returns:
pointer to a coset representative element or NULL

Implements permlib::BaseSearch< BSGSIN, TRANSRET >.


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