33#ifndef PARTITION_SET_IMAGE_SEARCH_H_
34#define PARTITION_SET_IMAGE_SEARCH_H_
36#include <permlib/search/partition/r_base.h>
37#include <permlib/predicate/set_image_predicate.h>
46template<
class BSGSIN,
class TRANSRET>
49 typedef typename RBase<BSGSIN,TRANSRET>::PERM PERM;
65 template<
class InputIterator>
66 void construct(InputIterator begin, InputIterator end, InputIterator beginImg, InputIterator endImg);
70 std::vector<unsigned long> toStab;
73template<
class BSGSIN,
class TRANSRET>
75 :
RBase<BSGSIN,TRANSRET>(bsgs, pruningLevelDCM, true)
78template<
class BSGSIN,
class TRANSRET>
79template<
class InputIterator>
82 toStab.insert(toStab.begin(), begin, end);
87 sir.
apply2(RBase<BSGSIN,TRANSRET>::m_partition2, empty);
92template<
class BSGSIN,
class TRANSRET>
97 BOOST_FOREACH(
unsigned long alpha, toStab) {
unsigned int m_limitLevel
maximal backtrack level
Definition base_search.h:112
bool m_limitInitialized
true iff other m_limit variables have been initialized
Definition base_search.h:108
unsigned int m_limitBase
number of base points that correspond to maximal backtrack level m_limitLevel
Definition base_search.h:110
BSGSIN m_bsgs
main BSGS to search in
Definition base_search.h:91
coset-type predicate for group elements that map one set of points onto another given set of points
Definition set_image_predicate.h:47
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
RBase(const BSGSIN &bsgs, unsigned int pruningLevelDCM, bool stopAfterFirstElement=false)
constructor
Definition r_base.h:109
void construct(SubgroupPredicate< PERM > *pred, RefinementFamily< PERM > *predRefinement)
constructs an R-base for given predicate and refinement family
Definition r_base.h:115
Partition m_partition
partition to base the backtrack tree on
Definition r_base.h:80
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
bool initializeAndApply(Partition &pi)
applies (left-)refinement to partition and initializes refinement for future use in R-base
Definition refinement.h:136
Definition set_image_refinement.h:51
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 set_image_refinement.h:95
void construct(InputIterator begin, InputIterator end, InputIterator beginImg, InputIterator endImg)
initializes search
Definition set_image_search.h:80
SetImageSearch(const BSGSIN &bsgs, unsigned int pruningLevelDCM)
constructor
Definition set_image_search.h:74
virtual unsigned int processNewFixPoints(const Partition &pi, unsigned int backtrackCount)
callback when a new fix point appears during R-base construction
Definition set_image_search.h:93