predicate for the subgroup that arises as the intersection of two given groups More...
#include <group_intersection_predicate.h>
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 |
predicate for the subgroup that arises as the intersection of two given groups
permlib::GroupIntersectionPredicate< PERM, TRANS >::GroupIntersectionPredicate | ( | const BSGS< PERM, TRANS > & | g, | |
const BSGS< PERM, TRANS > & | h | |||
) | [inline] |
constructor
g | first subgroup of the intersection | |
h | second subgroup of the intersection |
permlib::GroupIntersectionPredicate< PERM, TRANS >::GroupIntersectionPredicate | ( | const BSGS< PERM, TRANS > & | g, | |
const BSGS< PERM, TRANS > & | h | |||
) |
constructor
g | first subgroup of the intersection | |
h | second subgroup of the intersection |
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
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 >.
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
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 >.
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 >.
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 >.