subgroup search for a stabilizer of an integer vector based on partition backtracking
More...
|
typedef RBase< BSGSIN, TRANSRET >::PERM | PERM |
|
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 |
|
typedef BSGSIN::PERMtype | PERM |
|
typedef BSGSIN::TRANStype | TRANS |
|
typedef std::list< typename PERM::ptr > | PERMlistType |
|
|
| VectorStabilizerSearch (const BSGSIN &bsgs, unsigned int pruningLevelDCM) |
| constructor More...
|
|
template<class InputIterator > |
void | construct (InputIterator begin, InputIterator end, unsigned int maxEntries) |
| initializes search More...
|
|
| RBase (const BSGSIN &bsgs, unsigned int pruningLevelDCM, bool stopAfterFirstElement=false) |
| constructor More...
|
|
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 More...
|
|
| BaseSearch (const BSGSIN &bsgs, unsigned int pruningLevelDCM, bool stopAfterFirstElement) |
| constructor More...
|
|
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 More...
|
|
virtual PERM::ptr | searchCosetRepresentative () |
| searches for a coset representative if one exists
|
|
|
virtual unsigned int | processNewFixPoints (const Partition &pi, unsigned int backtrackCount) |
| callback when a new fix point appears during R-base construction
|
|
void | construct (SubgroupPredicate< PERM > *pred, RefinementFamily< PERM > *predRefinement) |
| constructs an R-base for given predicate and refinement family More...
|
|
virtual const std::vector< dom_int > & | subgroupBase () const |
| base of the sought subgroup
|
|
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()
|
|
template<class BSGSIN, class TRANSRET>
class permlib::partition::VectorStabilizerSearch< BSGSIN, TRANSRET >
subgroup search for a stabilizer of an integer vector based on partition backtracking