33 #ifndef VECTORSTABILIZERPREDICATE_H_ 34 #define VECTORSTABILIZERPREDICATE_H_ 36 #include <permlib/predicate/subgroup_predicate.h> 38 #include <boost/foreach.hpp> 51 template<
class InputIterator>
55 virtual bool childRestriction(
const PERM &h,
unsigned int i,
unsigned long beta_i)
const;
56 virtual unsigned int limit()
const;
58 std::vector<unsigned int> m_vec;
66 template <
class InputIterator>
73 for (
unsigned int i = 0; i < m_vec.size(); ++i) {
74 if (m_vec[p / i] != m_vec[i])
82 return (m_vec[h / beta_i] == m_vec[beta_i]);
92 #endif // -- VECTORSTABILIZERPREDICATE_H_ virtual bool childRestriction(const PERM &h, unsigned int i, unsigned long beta_i) const
checks if a given group element should not be followed in backtrack search
Definition: vector_stabilizer_predicate.h:81
virtual unsigned int limit() const
limit of recursion depth in backtrack search
Definition: vector_stabilizer_predicate.h:86
VectorStabilizerPredicate(InputIterator begin, InputIterator end)
constructor
Definition: vector_stabilizer_predicate.h:67
abstract base class for subgroup (and coset) predicates
Definition: subgroup_predicate.h:45
virtual bool operator()(const PERM &p) const
true iff group element fulfills predicate
Definition: vector_stabilizer_predicate.h:72
Definition: abstract_bsgs.h:49
predicate for the subgroup that stabilizes a given integer vector
Definition: vector_stabilizer_predicate.h:44