abstract base class for orbit computation More...
#include <orbit.h>
Public Member Functions | |
virtual bool | contains (const DOMAIN &val) const =0 |
true iff there exists a transversal element mapping ![]() | |
virtual const DOMAIN & | element () const =0 |
returns one element of the orbit | |
virtual bool | contains (const DOMAIN &val) const =0 |
true iff there exists a transversal element mapping ![]() | |
virtual const DOMAIN & | element () const =0 |
returns one element of the orbit | |
Protected Member Functions | |
template<class Action > | |
void | orbit (const DOMAIN &beta, const PERMlist &generators, Action a, std::list< DOMAIN > &orbitList) |
computes orbit of beta under generators | |
template<class Action > | |
void | orbitUpdate (const DOMAIN &beta, const PERMlist &generators, const PERMptr &g, Action a, std::list< DOMAIN > &orbitList) |
updates an existing orbit of beta after one element has been added | |
virtual bool | foundOrbitElement (const DOMAIN &alpha, const DOMAIN &alpha_p, const PERMptr &p)=0 |
callback when the orbit algorithm constructs an element alpha_p from alpha and p | |
template<class Action > | |
void | orbit (const DOMAIN &beta, const PERMlist &generators, Action a, std::list< DOMAIN > &orbitList) |
computes orbit of beta under generators | |
template<class Action > | |
void | orbitUpdate (const DOMAIN &beta, const PERMlist &generators, const PERMptr &g, Action a, std::list< DOMAIN > &orbitList) |
updates an existing orbit of beta after one element has been added | |
virtual bool | foundOrbitElement (const DOMAIN &alpha, const DOMAIN &alpha_p, const PERMptr &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, DOMAIN >::foundOrbitElement | ( | const DOMAIN & | alpha, | |
const DOMAIN & | alpha_p, | |||
const PERMptr & | p | |||
) | [protected, pure virtual] |
callback when the orbit algorithm constructs an element alpha_p from alpha and p
Implemented in permlib::OrbitList< PERM, DOMAIN >, permlib::OrbitSet< PERM, DOMAIN >, permlib::Transversal< PERM >, permlib::OrbitList< PERM, DOMAIN >, permlib::OrbitSet< PERM, DOMAIN >, and permlib::Transversal< PERM >.
virtual bool permlib::Orbit< PERM, DOMAIN >::foundOrbitElement | ( | const DOMAIN & | alpha, | |
const DOMAIN & | alpha_p, | |||
const PERMptr & | p | |||
) | [protected, pure virtual] |
callback when the orbit algorithm constructs an element alpha_p from alpha and p
Implemented in permlib::OrbitList< PERM, DOMAIN >, permlib::OrbitSet< PERM, DOMAIN >, permlib::Transversal< PERM >, permlib::OrbitList< PERM, DOMAIN >, permlib::OrbitSet< PERM, DOMAIN >, and permlib::Transversal< PERM >.
void permlib::Orbit< PERM, DOMAIN >::orbit | ( | const DOMAIN & | beta, | |
const PERMlist & | generators, | |||
Action | a, | |||
std::list< DOMAIN > & | orbitList | |||
) | [inline, protected] |
computes orbit of beta under generators
beta | ||
generators | ||
a | ()-callable structure that defines how a PERM acts on a DOMAIN-element | |
orbitList | a list of all orbit elements to be filled by the algorithm |
void permlib::Orbit< PERM, DOMAIN >::orbit | ( | const DOMAIN & | beta, | |
const PERMlist & | generators, | |||
Action | a, | |||
std::list< DOMAIN > & | orbitList | |||
) | [inline, protected] |
computes orbit of beta under generators
beta | ||
generators | ||
a | ()-callable structure that defines how a PERM acts on a DOMAIN-element | |
orbitList | a list of all orbit elements to be filled by the algorithm |
void permlib::Orbit< PERM, DOMAIN >::orbitUpdate | ( | const DOMAIN & | beta, | |
const PERMlist & | generators, | |||
const PERMptr & | g, | |||
Action | a, | |||
std::list< DOMAIN > & | 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 DOMAIN-element | |
orbitList | a list of all orbit elements to be filled by the algorithm |
void permlib::Orbit< PERM, DOMAIN >::orbitUpdate | ( | const DOMAIN & | beta, | |
const PERMlist & | generators, | |||
const PERMptr & | g, | |||
Action | a, | |||
std::list< DOMAIN > & | 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 DOMAIN-element | |
orbitList | a list of all orbit elements to be filled by the algorithm |