permlib  0.2.8
Library for permutation computations
 All Classes Functions Variables Typedefs Enumerations Friends
Public Types | Public Member Functions
permlib::classic::SetImageSearch< BSGSIN, TRANSRET > Class Template Reference

coset representative search for a set image based on classical backtracking More...

#include <set_image_search.h>

Inheritance diagram for permlib::classic::SetImageSearch< BSGSIN, TRANSRET >:
permlib::classic::BacktrackSearch< BSGSIN, TRANSRET > permlib::BaseSearch< BSGSIN, TRANSRET >

List of all members.

Public Types

typedef BacktrackSearch
< BSGSIN, TRANSRET >::PERM 
PERM
- Public Types inherited from permlib::classic::BacktrackSearch< BSGSIN, TRANSRET >
typedef BaseSearch< BSGSIN,
TRANSRET >::TRANS 
TRANS
- Public Types inherited from permlib::BaseSearch< BSGSIN, TRANSRET >
typedef std::list< typename
PERM::ptr > 
PERMlistType

Public Member Functions

 SetImageSearch (const BSGSIN &bsgs, unsigned int pruningLevelDCM)
 constructor
template<class InputIterator >
void construct (InputIterator begin, InputIterator end, InputIterator beginImg, InputIterator endImg)
 initializes search
- Public Member Functions inherited from permlib::classic::BacktrackSearch< BSGSIN, TRANSRET >
 BacktrackSearch (const BSGSIN &bsgs, unsigned int pruningLevelDCM, bool breakAfterChildRestriction=false, bool stopAfterFirstElement=false)
 constructor
void search (BSGS< PERM, TRANSRET > &groupK)
 searches for a subgroup and stores it into groupK
virtual BaseSearch< BSGSIN,
TRANSRET >::PERM::ptr 
searchCosetRepresentative (BSGS< PERM, TRANSRET > &groupK, BSGS< PERM, TRANSRET > &groupL)
 searches for a coset representative if one exists
- Public Member Functions inherited from permlib::BaseSearch< BSGSIN, TRANSRET >
 BaseSearch (const BSGSIN &bsgs, unsigned int pruningLevelDCM, bool stopAfterFirstElement)
 constructor
virtual ~BaseSearch ()
 destructor
bool minOrbit (unsigned long alpha, BSGS< PERM, TRANSRET > &groupK, unsigned int i, unsigned long beta_i) const
 finds minimal elements in an orbit
virtual PERM::ptr searchCosetRepresentative ()
 searches for a coset representative if one exists

Additional Inherited Members

- Protected Member Functions inherited from permlib::classic::BacktrackSearch< BSGSIN, TRANSRET >
virtual const std::vector
< dom_int > & 
subgroupBase () const
 base of the sought subgroup
void construct (SubgroupPredicate< PERM > *pred, bool addPredRefinement)
 initializes the search
unsigned int search (const PERM &t, unsigned int level, unsigned int &completed, BSGS< PERM, TRANSRET > &groupK, BSGS< PERM, TRANSRET > &groupL)
 recursive backtrack search
- Protected Member Functions inherited from permlib::BaseSearch< BSGSIN, TRANSRET >
bool pruneDCM (const PERM &t, unsigned int backtrackLevel, BSGS< PERM, TRANSRET > &groupK, BSGS< PERM, TRANSRET > &groupL)
 try to prune with advanced double coset minimality
bool checkLeaf (unsigned int level)
 true iff level is a leaf level
unsigned int processLeaf (const PERM &t, unsigned int level, unsigned int backtrackLevel, unsigned int completed, BSGS< PERM, TRANSRET > &groupK, BSGS< PERM, TRANSRET > &groupL)
 processes a leaf and adds corresponding element to the generator set of K
void setupEmptySubgroup (BSGS< PERM, TRANSRET > &group) const
 sets up a BSGS structure for an empty group with base subgroupBase()

Detailed Description

template<class BSGSIN, class TRANSRET>
class permlib::classic::SetImageSearch< BSGSIN, TRANSRET >

coset representative search for a set image based on classical backtracking

tries to find a $g$ such that $\Delta^g = \Gamma$ for two given sets $\Delta,\Gamma$


Constructor & Destructor Documentation

template<class BSGSIN , class TRANSRET >
permlib::classic::SetImageSearch< BSGSIN, TRANSRET >::SetImageSearch ( const BSGSIN &  bsgs,
unsigned int  pruningLevelDCM 
)

constructor

Parameters:
bsgsBSGS of group
pruningLevelDCMlevel up to which expensive double coset minimality pruning is performed; zero to disable

Member Function Documentation

template<class BSGSIN , class TRANSRET >
template<class InputIterator >
void permlib::classic::SetImageSearch< BSGSIN, TRANSRET >::construct ( InputIterator  begin,
InputIterator  end,
InputIterator  beginImg,
InputIterator  endImg 
)

initializes search

Parameters:
beginiterator(unsigned long) begin of the set $\Delta$
enditerator(unsigned long) end of the set $\Delta$
beginImgiterator(unsigned long) begin of the set $\Gamma$
endImgiterator(unsigned long) end of the set $\Gamma$

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