permlib::ShallowSchreierTreeTransversal< PERM > Class Template Reference

Transversal class that stores elements in a shallow Schreier tree. More...

#include <shallow_schreier_tree_transversal.h>

Inheritance diagram for permlib::ShallowSchreierTreeTransversal< PERM >:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 ShallowSchreierTreeTransversal (unsigned int n)
 constructor
virtual void orbit (ulong beta, const PERMlist &generators)
 computes transversal based on orbit of $\alpha$ under generators
virtual void orbitUpdate (ulong alpha, const PERMlist &generators, const PERMptr &g)
 updates transversal based on orbit of $\alpha$ under generators where g is a new generator
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 $\alpha$ under generators
virtual void orbitUpdate (ulong alpha, const PERMlist &generators, const PERMptr &g)
 updates transversal based on orbit of $\alpha$ under generators where g is a new generator
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

Detailed Description

template<class PERM>
class permlib::ShallowSchreierTreeTransversal< PERM >

Transversal class that stores elements in a shallow Schreier tree.


Member Function Documentation

template<class PERM>
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

Parameters:
generatorChange transition map

Reimplemented from permlib::SchreierTreeTransversal< PERM >.

template<class 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

Parameters:
generatorChange transition map

Reimplemented from permlib::SchreierTreeTransversal< PERM >.

template<class PERM>
virtual void permlib::ShallowSchreierTreeTransversal< PERM >::orbit ( ulong  alpha,
const PERMlist &  generators 
) [virtual]

computes transversal based on orbit of $\alpha$ under generators

Parameters:
alpha $\alpha$
generators group generators for the orbit

Reimplemented from permlib::Transversal< PERM >.

template<class PERM >
void permlib::ShallowSchreierTreeTransversal< PERM >::orbit ( ulong  alpha,
const PERMlist &  generators 
) [inline, virtual]

computes transversal based on orbit of $\alpha$ under generators

Parameters:
alpha $\alpha$
generators group generators for the orbit

Reimplemented from permlib::Transversal< PERM >.

template<class PERM>
virtual void permlib::ShallowSchreierTreeTransversal< PERM >::orbitUpdate ( ulong  alpha,
const PERMlist &  generators,
const PERMptr &  g 
) [virtual]

updates transversal based on orbit of $\alpha$ under generators where g is a new generator

Parameters:
alpha $\alpha$
generators group generators for the orbit
g new generator that the transversal is updated for

Reimplemented from permlib::Transversal< PERM >.

template<class PERM >
void permlib::ShallowSchreierTreeTransversal< PERM >::orbitUpdate ( ulong  alpha,
const PERMlist &  generators,
const PERMptr &  g 
) [inline, virtual]

updates transversal based on orbit of $\alpha$ under generators where g is a new generator

Parameters:
alpha $\alpha$
generators group generators for the orbit
g new generator that the transversal is updated for

Reimplemented from permlib::Transversal< PERM >.

template<class PERM>
virtual void permlib::ShallowSchreierTreeTransversal< PERM >::permute ( const PERM &  g,
const PERM &  gInv 
) [virtual]

updates transversal after group generators have been conjugated by g

Parameters:
g permutation to conjugate
gInv inverse of g for performance reasons

Reimplemented from permlib::Transversal< PERM >.

template<class PERM >
void permlib::ShallowSchreierTreeTransversal< PERM >::permute ( const PERM &  g,
const PERM &  gInv 
) [inline, virtual]

updates transversal after group generators have been conjugated by g

Parameters:
g permutation to conjugate
gInv inverse of g for performance reasons

Reimplemented from permlib::Transversal< PERM >.

template<class PERM>
virtual void permlib::ShallowSchreierTreeTransversal< PERM >::updateGenerators ( const std::map< PERM *, PERMptr > &  generatorChange  )  [virtual]

updates transversal after group generators have been exchanged

Parameters:
generatorChange map of old generators to new generators

Reimplemented from permlib::SchreierTreeTransversal< PERM >.

template<class PERM >
void permlib::ShallowSchreierTreeTransversal< PERM >::updateGenerators ( const std::map< PERM *, PERMptr > &  generatorChange  )  [inline, virtual]

updates transversal after group generators have been exchanged

Parameters:
generatorChange map of old generators to new generators

Reimplemented from permlib::SchreierTreeTransversal< PERM >.


The documentation for this class was generated from the following files:
Generated on Fri Jun 18 22:00:08 2010 for PermLib by  doxygen 1.6.3