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

coset-type predicate for group elements that map one set of zeros and ones to a lex-smaller set (w.r.t. to the indices) More...

#include <lex_smaller_image_predicate.h>

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

Public Member Functions

template<class ForwardIterator >
 LexSmallerImagePredicate (unsigned int n, ForwardIterator zerosBegin, ForwardIterator zerosEnd, ForwardIterator onesBegin, ForwardIterator onesEnd)
 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::LexSmallerImagePredicate< PERM >

coset-type predicate for group elements that map one set of zeros and ones to a lex-smaller set (w.r.t. to the indices)

holds for a $g$ such that $val(\Delta^g) <_{lex} val(\Delta)$

Constructor & Destructor Documentation

◆ LexSmallerImagePredicate()

template<class PERM >
template<class ForwardIterator >
permlib::LexSmallerImagePredicate< PERM >::LexSmallerImagePredicate ( unsigned int  n,
ForwardIterator  zerosBegin,
ForwardIterator  zerosEnd,
ForwardIterator  onesBegin,
ForwardIterator  onesEnd 
)

constructor

Parameters
nnumber of points the permutations act on
zerosBeginbegin iterator to the list of indices with 0-value
zerosEndend iterator to the list of indices with 0-value
onesBeginbegin iterator to the list of indices with 1-value
onesEndend iterator to the list of indices with 1-value

Member Function Documentation

◆ childRestriction()

template<class PERM >
bool permlib::LexSmallerImagePredicate< 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::LexSmallerImagePredicate< 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: