Transversal class that stores elements in a shallow Schreier tree. More...
#include <shallow_schreier_tree_transversal.h>
Public Member Functions | |
ShallowSchreierTreeTransversal (unsigned int n) | |
constructor | |
virtual void | orbit (ulong beta, const PERMlist &generators) |
computes transversal based on orbit of ![]() | |
virtual void | orbitUpdate (ulong alpha, const PERMlist &generators, const PERMptr &g) |
updates transversal based on orbit of ![]() | |
virtual void | updateGenerators (const std::map< PERM *, PERMptr > &generatorChange) |
updates transversal after group generators have been exchanged | |
ShallowSchreierTreeTransversal < PERM > | clone (const std::map< PERM *, PERMptr > &generatorChange) const |
returns a clone of this transversal | |
virtual void | permute (const PERM &g, const PERM &gInv) |
updates transversal after group generators have been conjugated by g | |
ShallowSchreierTreeTransversal (unsigned int n) | |
constructor | |
virtual void | orbit (ulong beta, const PERMlist &generators) |
computes transversal based on orbit of ![]() | |
virtual void | orbitUpdate (ulong alpha, const PERMlist &generators, const PERMptr &g) |
updates transversal based on orbit of ![]() | |
virtual void | updateGenerators (const std::map< PERM *, PERMptr > &generatorChange) |
updates transversal after group generators have been exchanged | |
ShallowSchreierTreeTransversal < PERM > | clone (const std::map< PERM *, PERMptr > &generatorChange) const |
returns a clone of this transversal | |
virtual void | permute (const PERM &g, const PERM &gInv) |
updates transversal after group generators have been conjugated by g | |
Protected Member Functions | |
void | addNewCubeLabel (ulong beta, const PERM &s, const ulong &beta_prime) |
adds a new cube label where s maps beta_prime to a point that has no transversal element yet | |
void | addNewCubeLabel (ulong beta, const PERM &s, const ulong &beta_prime) |
adds a new cube label where s maps beta_prime to a point that has no transversal element yet | |
Protected Attributes | |
PERMlist | m_cubeLabels |
ordered list of group elements that are used as cube labels |
Transversal class that stores elements in a shallow Schreier tree.
ShallowSchreierTreeTransversal<PERM> permlib::ShallowSchreierTreeTransversal< PERM >::clone | ( | const std::map< PERM *, PERMptr > & | generatorChange | ) | const |
returns a clone of this transversal
the group generators that the clone may use are given by the transition map
generatorChange | transition map |
Reimplemented from permlib::SchreierTreeTransversal< PERM >.
ShallowSchreierTreeTransversal< PERM > permlib::ShallowSchreierTreeTransversal< PERM >::clone | ( | const std::map< PERM *, PERMptr > & | generatorChange | ) | const [inline] |
returns a clone of this transversal
the group generators that the clone may use are given by the transition map
generatorChange | transition map |
Reimplemented from permlib::SchreierTreeTransversal< PERM >.
virtual void permlib::ShallowSchreierTreeTransversal< PERM >::orbit | ( | ulong | alpha, | |
const PERMlist & | generators | |||
) | [virtual] |
computes transversal based on orbit of under generators
alpha | ![]() | |
generators | group generators for the orbit |
Reimplemented from permlib::Transversal< PERM >.
void permlib::ShallowSchreierTreeTransversal< PERM >::orbit | ( | ulong | alpha, | |
const PERMlist & | generators | |||
) | [inline, virtual] |
computes transversal based on orbit of under generators
alpha | ![]() | |
generators | group generators for the orbit |
Reimplemented from permlib::Transversal< PERM >.
virtual void permlib::ShallowSchreierTreeTransversal< PERM >::orbitUpdate | ( | ulong | alpha, | |
const PERMlist & | generators, | |||
const PERMptr & | g | |||
) | [virtual] |
updates transversal based on orbit of under generators where g is a new generator
alpha | ![]() | |
generators | group generators for the orbit | |
g | new generator that the transversal is updated for |
Reimplemented from permlib::Transversal< PERM >.
void permlib::ShallowSchreierTreeTransversal< PERM >::orbitUpdate | ( | ulong | alpha, | |
const PERMlist & | generators, | |||
const PERMptr & | g | |||
) | [inline, virtual] |
updates transversal based on orbit of under generators where g is a new generator
alpha | ![]() | |
generators | group generators for the orbit | |
g | new generator that the transversal is updated for |
Reimplemented from permlib::Transversal< PERM >.
virtual void permlib::ShallowSchreierTreeTransversal< PERM >::permute | ( | const PERM & | g, | |
const PERM & | gInv | |||
) | [virtual] |
updates transversal after group generators have been conjugated by g
g | permutation to conjugate | |
gInv | inverse of g for performance reasons |
Reimplemented from permlib::Transversal< PERM >.
void permlib::ShallowSchreierTreeTransversal< PERM >::permute | ( | const PERM & | g, | |
const PERM & | gInv | |||
) | [inline, virtual] |
updates transversal after group generators have been conjugated by g
g | permutation to conjugate | |
gInv | inverse of g for performance reasons |
Reimplemented from permlib::Transversal< PERM >.
virtual void permlib::ShallowSchreierTreeTransversal< PERM >::updateGenerators | ( | const std::map< PERM *, PERMptr > & | generatorChange | ) | [virtual] |
updates transversal after group generators have been exchanged
generatorChange | map of old generators to new generators |
Reimplemented from permlib::SchreierTreeTransversal< PERM >.
void permlib::ShallowSchreierTreeTransversal< PERM >::updateGenerators | ( | const std::map< PERM *, PERMptr > & | generatorChange | ) | [inline, virtual] |
updates transversal after group generators have been exchanged
generatorChange | map of old generators to new generators |
Reimplemented from permlib::SchreierTreeTransversal< PERM >.