permlib  0.2.9
Library for permutation computations
Public Member Functions | List of all members
permlib::SubgroupPredicate< PERM > Class Template Referenceabstract

abstract base class for subgroup (and coset) predicates More...

#include <subgroup_predicate.h>

Inheritance diagram for permlib::SubgroupPredicate< PERM >:
permlib::GroupIntersectionPredicate< PERM, TRANS > permlib::LexSmallerImagePredicate< PERM > permlib::MatrixAutomorphismPredicate< PERM, MATRIX > permlib::SetImagePredicate< PERM > permlib::SetwiseStabilizerPredicate< PERM > permlib::VectorStabilizerPredicate< PERM >

Public Member Functions

virtual ~SubgroupPredicate ()
 virtual destructor
 
virtual bool operator() (const PERM &) const =0
 true iff group element fulfills predicate
 
virtual bool childRestriction (const PERM &h, unsigned int i, unsigned long beta_i) const =0
 checks if a given group element should not be followed in backtrack search More...
 
virtual unsigned int limit () const =0
 limit of recursion depth in backtrack search More...
 

Detailed Description

template<class PERM>
class permlib::SubgroupPredicate< PERM >

abstract base class for subgroup (and coset) predicates

Member Function Documentation

◆ childRestriction()

template<class PERM>
virtual bool permlib::SubgroupPredicate< PERM >::childRestriction ( const PERM &  h,
unsigned int  i,
unsigned long  beta_i 
) const
pure virtual

checks if a given group element should not be followed in backtrack search

If returns false then element h that arises at backtrack level i with corresponding base element beta_i will not extend to a "complete" group element that fulfills the predicate

Parameters
h(partial) group element, arising in the backtrack search
ibacktrack recursion level
beta_ibase element corresponding to current backtrack recursion level

Implemented in permlib::LexSmallerImagePredicate< PERM >, permlib::SetImagePredicate< PERM >, permlib::GroupIntersectionPredicate< PERM, TRANS >, permlib::SetwiseStabilizerPredicate< PERM >, permlib::VectorStabilizerPredicate< PERM >, and permlib::MatrixAutomorphismPredicate< PERM, MATRIX >.

◆ limit()

template<class PERM>
virtual unsigned int permlib::SubgroupPredicate< PERM >::limit ( ) const
pure virtual

The documentation for this class was generated from the following file: