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

coset-type predicate for group elements that map one set of points onto another given set of points More...

#include <set_image_predicate.h>

Inheritance diagram for permlib::SetImagePredicate< PERM >:
permlib::SubgroupPredicate< PERM >

Public Member Functions

template<class InputIterator >
 SetImagePredicate (InputIterator deltaBegin, InputIterator deltaEnd, InputIterator gammaBegin, InputIterator gammaEnd)
 constructor More...
 
virtual bool operator() (const PERM &p) const
 true iff group element fulfills predicate
 
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 More...
 
virtual unsigned int limit () const
 limit of recursion depth in backtrack search More...
 
- Public Member Functions inherited from permlib::SubgroupPredicate< PERM >
virtual ~SubgroupPredicate ()
 virtual destructor
 

Detailed Description

template<class PERM>
class permlib::SetImagePredicate< PERM >

coset-type predicate for group elements that map one set of points onto another given set of points

holds for a $g$ such that $\Delta^g = \Gamma$ for two given sets $\Delta,\Gamma$

Constructor & Destructor Documentation

◆ SetImagePredicate()

template<class PERM >
template<class InputIterator >
permlib::SetImagePredicate< PERM >::SetImagePredicate ( InputIterator  deltaBegin,
InputIterator  deltaEnd,
InputIterator  gammaBegin,
InputIterator  gammaEnd 
)

constructor

Parameters
deltaBeginbegin iterator for source list of points (unsigned long) mapped to be onto target
deltaEndend iterator for source list of points (unsigned long) mapped to be onto target
gammaBeginbegin iterator for target list of points (unsigned long)
gammaEndend iterator for target list of points (unsigned long)

Member Function Documentation

◆ childRestriction()

template<class PERM >
bool permlib::SetImagePredicate< PERM >::childRestriction ( const PERM &  h,
unsigned int  i,
unsigned long  beta_i 
) const
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

Implements permlib::SubgroupPredicate< PERM >.

◆ limit()

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

limit of recursion depth in backtrack search

only images of the #{limit()} first base points have to be considered

Implements permlib::SubgroupPredicate< PERM >.


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