|
permlib
0.2.8
Library for permutation computations
|
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 (unsigned long beta, const std::list< typename PERM::ptr > &generators) |
computes transversal based on orbit of under generators | |
| virtual void | orbitUpdate (unsigned long alpha, const std::list< typename PERM::ptr > &generators, const typename PERM::ptr &g) |
updates transversal based on orbit of under generators where g is a new generator | |
| virtual void | updateGenerators (const std::map< PERM *, typename PERM::ptr > &generatorChange) |
| updates transversal after group generators have been exchanged | |
| ShallowSchreierTreeTransversal < PERM > | clone (const std::map< PERM *, typename PERM::ptr > &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 (unsigned long beta, const PERM &s, const unsigned long &beta_prime) |
| adds a new cube label where s maps beta_prime to a point that has no transversal element yet | |
Protected Attributes | |
| std::list< typename PERM::ptr > | 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 *, typename PERM::ptr > & | 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 >.
| void permlib::ShallowSchreierTreeTransversal< PERM >::orbit | ( | unsigned long | alpha, |
| const std::list< typename PERM::ptr > & | 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 >::orbitUpdate | ( | unsigned long | alpha, |
| const std::list< typename PERM::ptr > & | generators, | ||
| const typename PERM::ptr & | 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 >::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 >::updateGenerators | ( | const std::map< PERM *, typename PERM::ptr > & | generatorChange | ) | [virtual] |
updates transversal after group generators have been exchanged
| generatorChange | map of old generators to new generators |
Reimplemented from permlib::SchreierTreeTransversal< PERM >.
1.7.6.1