33#ifndef PARTITION_SET_STABILIZER_SEARCH_H_
34#define PARTITION_SET_STABILIZER_SEARCH_H_
36#include <permlib/search/partition/r_base.h>
37#include <permlib/predicate/setwise_stabilizer_predicate.h>
38#include <permlib/search/partition/set_stabilize_refinement.h>
39#include <permlib/search/partition/refinement_family.h>
45template<
class BSGSIN,
class TRANSRET>
48 typedef typename RBase<BSGSIN,TRANSRET>::PERM PERM;
62 template<
class InputIterator>
63 void construct(InputIterator begin, InputIterator end);
67 std::vector<unsigned long> toStab;
70template<
class BSGSIN,
class TRANSRET>
72 :
RBase<BSGSIN,TRANSRET>(bsgs, pruningLevelDCM)
75template<
class BSGSIN,
class TRANSRET>
76template<
class InputIterator>
79 toStab.insert(toStab.begin(), begin, end);
89template<
class BSGSIN,
class TRANSRET>
92 if (!this->m_limitInitialized) {
94 BOOST_FOREACH(
unsigned long alpha, toStab) {
101 this->m_limitLevel = level;
102 this->m_limitBase = basePos;
103 this->m_limitInitialized =
true;
predicate for the subgroup that stabilizes a given point set
Definition setwise_stabilizer_predicate.h:44
partition
Definition partition.h:48
vector_t::const_iterator fixPointsBegin() const
iterator to the begin of fix points
Definition partition.h:164
vector_t::const_iterator fixPointsEnd() const
iterator to the end of fix points
Definition partition.h:167
R-base for partition backtracking.
Definition r_base.h:56
void construct(SubgroupPredicate< PERM > *pred, RefinementFamily< PERM > *predRefinement)
constructs an R-base for given predicate and refinement family
Definition r_base.h:115
virtual unsigned int processNewFixPoints(const Partition &pi, unsigned int level)
callback when a new fix point appears during R-base construction
Definition r_base.h:197
virtual unsigned int apply2(Partition &pi, const PERM &t) const
applies (right-)refinement to pi which is the image of the original partition this refinement was ini...
Definition refinement.h:156
bool initializeAndApply(Partition &pi)
applies (left-)refinement to partition and initializes refinement for future use in R-base
Definition refinement.h:136
concrete -refinements for set stabilization
Definition set_stabilize_refinement.h:50
subgroup search for a set stabilizer based on partition backtracking
Definition set_stabilizer_search.h:46
virtual unsigned int processNewFixPoints(const Partition &pi, unsigned int backtrackCount)
callback when a new fix point appears during R-base construction
Definition set_stabilizer_search.h:90
void construct(InputIterator begin, InputIterator end)
initializes search
Definition set_stabilizer_search.h:77
SetStabilizerSearch(const BSGSIN &bsgs, unsigned int pruningLevelDCM)
constructor
Definition set_stabilizer_search.h:71