permlib::GroupIntersectionPredicate< PERM, TRANS > Class Template Reference

predicate for the subgroup that arises as the intersection of two given groups More...

#include <group_intersection_predicate.h>

Inheritance diagram for permlib::GroupIntersectionPredicate< PERM, TRANS >:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 GroupIntersectionPredicate (const BSGS< PERM, TRANS > &g, const BSGS< PERM, TRANS > &h)
 constructor
virtual bool operator() (const PERM &p) const
 true iff group element fulfills predicate
virtual bool childRestriction (const PERM &h, uint i, ulong beta_i) const
 checks if a given group element should not be followed in backtrack search
virtual uint limit () const
 limit of recursion depth in backtrack search
 GroupIntersectionPredicate (const BSGS< PERM, TRANS > &g, const BSGS< PERM, TRANS > &h)
 constructor
virtual bool operator() (const PERM &p) const
 true iff group element fulfills predicate
virtual bool childRestriction (const PERM &h, uint i, ulong beta_i) const
 checks if a given group element should not be followed in backtrack search
virtual uint limit () const
 limit of recursion depth in backtrack search

Detailed Description

template<class PERM, class TRANS>
class permlib::GroupIntersectionPredicate< PERM, TRANS >

predicate for the subgroup that arises as the intersection of two given groups


Constructor & Destructor Documentation

template<class PERM , class TRANS >
permlib::GroupIntersectionPredicate< PERM, TRANS >::GroupIntersectionPredicate ( const BSGS< PERM, TRANS > &  g,
const BSGS< PERM, TRANS > &  h 
) [inline]

constructor

Parameters:
g first subgroup of the intersection
h second subgroup of the intersection
template<class PERM, class TRANS>
permlib::GroupIntersectionPredicate< PERM, TRANS >::GroupIntersectionPredicate ( const BSGS< PERM, TRANS > &  g,
const BSGS< PERM, TRANS > &  h 
)

constructor

Parameters:
g first subgroup of the intersection
h second subgroup of the intersection

Member Function Documentation

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

Implements permlib::SubgroupPredicate< PERM >.

template<class PERM , class TRANS >
bool permlib::GroupIntersectionPredicate< PERM, TRANS >::childRestriction ( const PERM &  h,
uint  i,
ulong  beta_i 
) const [inline, 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

Implements permlib::SubgroupPredicate< PERM >.

template<class PERM, class TRANS>
virtual uint permlib::GroupIntersectionPredicate< PERM, TRANS >::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 >.

template<class PERM , class TRANS >
uint permlib::GroupIntersectionPredicate< PERM, TRANS >::limit (  )  const [inline, 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 files:
Generated on Fri Jun 18 21:59:48 2010 for PermLib by  doxygen 1.6.3