|
permlib
0.2.8
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 to val | |
| virtual const PDOMAIN & | element () const =0 |
| returns one element of the orbit | |
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 | |
| 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 | |
| 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 | |
abstract base class for orbit computation
| virtual bool permlib::Orbit< PERM, PDOMAIN >::foundOrbitElement | ( | const PDOMAIN & | alpha, |
| const PDOMAIN & | alpha_p, | ||
| const typename PERM::ptr & | p | ||
| ) | [protected, pure virtual] |
callback when the orbit algorithm constructs an element alpha_p from alpha and p
Implemented in permlib::Transversal< PERM >, permlib::OrbitSet< PERM, PDOMAIN >, and permlib::OrbitList< PERM, PDOMAIN >.
| void permlib::Orbit< PERM, PDOMAIN >::orbit | ( | const PDOMAIN & | beta, |
| const std::list< typename PERM::ptr > & | generators, | ||
| Action | a, | ||
| std::list< PDOMAIN > & | orbitList | ||
| ) | [inline, protected] |
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 |
| void permlib::Orbit< PERM, PDOMAIN >::orbitUpdate | ( | const PDOMAIN & | beta, |
| const std::list< typename PERM::ptr > & | generators, | ||
| const typename PERM::ptr & | g, | ||
| Action | a, | ||
| std::list< PDOMAIN > & | orbitList | ||
| ) | [inline, protected] |
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 |
1.7.6.1