permlib::SubgroupPredicate< PERM > Class Template Reference

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

#include <subgroup_predicate.h>

Inheritance diagram for permlib::SubgroupPredicate< PERM >:
Inheritance graph
[legend]

List of all members.

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, uint i, ulong beta_i) const =0
 checks if a given group element should not be followed in backtrack search
virtual uint limit () const =0
 limit of recursion depth in backtrack search
virtual ~SubgroupPredicate ()
 virtual destructor
virtual bool operator() (const PERM &) const =0
 true iff group element fulfills predicate
virtual bool childRestriction (const PERM &h, uint i, ulong beta_i) const =0
 checks if a given group element should not be followed in backtrack search
virtual uint limit () const =0
 limit of recursion depth in backtrack search

Detailed Description

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

abstract base class for subgroup (and coset) predicates


Member Function Documentation

template<class PERM>
virtual bool permlib::SubgroupPredicate< PERM >::childRestriction ( const PERM &  h,
uint  i,
ulong  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
i backtrack recursion level
beta_i base element corresponding to current backtrack recursion level

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

template<class PERM>
virtual bool permlib::SubgroupPredicate< PERM >::childRestriction ( const PERM &  h,
uint  i,
ulong  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
i backtrack recursion level
beta_i base element corresponding to current backtrack recursion level

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

template<class PERM>
virtual uint permlib::SubgroupPredicate< PERM >::limit (  )  const [pure virtual]
template<class PERM>
virtual uint permlib::SubgroupPredicate< PERM >::limit (  )  const [pure virtual]

The documentation for this class was generated from the following files:
Generated on Fri Jun 18 21:59:52 2010 for PermLib by  doxygen 1.6.3