permlib 0.2.9
Library for permutation computations
|
abstract base class for orbit computation More...
#include <orbit.h>
Public Types | |
typedef PERM | PERMtype |
type of permutation used for this orbit | |
Public Member Functions | |
virtual bool | contains (const PDOMAIN &val) const =0 |
true iff there exists a transversal element mapping ![]() | |
virtual const PDOMAIN & | element () const =0 |
returns one element of the orbit More... | |
Protected Member Functions | |
template<class Action > | |
void | orbit (const PDOMAIN &beta, const std::list< typename PERM::ptr > &generators, Action a, std::list< PDOMAIN > &orbitList) |
computes orbit of beta under generators More... | |
template<class Action > | |
void | orbitUpdate (const PDOMAIN &beta, const std::list< typename PERM::ptr > &generators, const typename PERM::ptr &g, Action a, std::list< PDOMAIN > &orbitList) |
updates an existing orbit of beta after one element has been added More... | |
virtual bool | foundOrbitElement (const PDOMAIN &alpha, const PDOMAIN &alpha_p, const typename PERM::ptr &p)=0 |
callback when the orbit algorithm constructs an element alpha_p from alpha and p More... | |
abstract base class for orbit computation
|
pure virtual |
true iff there exists a transversal element mapping to val
Implemented in permlib::OrbitList< PERM, PDOMAIN >, permlib::OrbitSet< PERM, PDOMAIN >, and permlib::Transversal< PERM >.
|
pure virtual |
returns one element of the orbit
Implemented in permlib::OrbitList< PERM, PDOMAIN >, permlib::OrbitSet< PERM, PDOMAIN >, and permlib::Transversal< PERM >.
|
protectedpure virtual |
callback when the orbit algorithm constructs an element alpha_p from alpha and p
Implemented in permlib::OrbitList< PERM, PDOMAIN >, permlib::OrbitSet< PERM, PDOMAIN >, and permlib::Transversal< PERM >.
|
inlineprotected |
computes orbit of beta under generators
beta | |
generators | |
a | ()-callable structure that defines how a PERM acts on a PDOMAIN-element |
orbitList | a list of all orbit elements to be filled by the algorithm |
|
inlineprotected |
updates an existing orbit of beta after one element has been added
if this instance of Orbit represents the orbit , then after call of orbitUpdate it will represent the orbit
where
beta | |
generators | updated generators, which must include g |
g | new generator which has not been there before |
a | ()-callable structure that defines how a PERM acts on a PDOMAIN-element |
orbitList | a list of all orbit elements to be filled by the algorithm |