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> 45 template<
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;
70 template<
class BSGSIN,
class TRANSRET>
72 :
RBase<BSGSIN,TRANSRET>(bsgs, pruningLevelDCM)
75 template<
class BSGSIN,
class TRANSRET>
76 template<
class InputIterator>
79 toStab.insert(toStab.begin(), begin, end);
89 template<
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;
112 #endif // -- PARTITION_SET_STABILIZER_SEARCH_H_ bool initializeAndApply(Partition &pi)
applies (left-)refinement to partition and initializes refinement for future use in R-base ...
Definition: refinement.h:136
vector_t::const_iterator fixPointsEnd() const
iterator to the end of fix points
Definition: partition.h:167
concrete -refinements for set stabilization
Definition: set_stabilize_refinement.h:50
SetStabilizerSearch(const BSGSIN &bsgs, unsigned int pruningLevelDCM)
constructor
Definition: set_stabilizer_search.h:71
partition
Definition: partition.h:48
predicate for the subgroup that stabilizes a given point set
Definition: setwise_stabilizer_predicate.h:44
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
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
void construct(InputIterator begin, InputIterator end)
initializes search
Definition: set_stabilizer_search.h:77
vector_t::const_iterator fixPointsBegin() const
iterator to the begin of fix points
Definition: partition.h:164
Definition: abstract_bsgs.h:49