Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

SubgroupGraphRep Class Reference

#include <SubgroupGraphRep.h>

Inheritance diagram for SubgroupGraphRep::

PureRep RefCounter NCChunkRep List of all members.

Public Types

typedef long VertexType
typedef int LabelType

Public Methods

 SubgroupGraphRep (int ambientRank, const SetOf< Word > &S)
 SubgroupGraphRep (int ambientRank, const VectorOf< Word > &V)
 SubgroupGraphRep (const SubgroupGraphRep &)
 ~SubgroupGraphRep ()
SubgroupGraphRep* clone () const
int rank () const
VectorOf<Wordnormalizer ()
VectorOf<WordnielsenBasis ()
Word nielsenWord (int i)
Word inNielsenWords (const Word &w)
SubgroupGraphRep* join (const SubgroupGraphRep &) const
SubgroupGraphRep* intersection (const SubgroupGraphRep &SGR) const
Bool contains (const Word &w) const
Bool contains (const SetOf< Word > &S) const
Bool contains (const VectorOf< Word > &V) const
Bool contains (SubgroupGraphRep &SGR) const
Bool equalTo (const SetOf< Word > &S)
Bool equalTo (SubgroupGraphRep &SGR)
Bool conjugateInSubgroup (const Word &w, Word &conjugator) const
Bool conjugateInSubgroup (const SetOf< Word > &S, Word &conjugator)
bool conjugateTo (const SetOf< Word > &S)
long powerInSubgroup (const Word &aWord) const
int findIndex ()
VectorOf<WordfindWhiteheadBasis ()
Bool isAFreeFactor ()
Bool generatesTheFreeGroup () const
Word rightSchreierRepresentative (const Word &)
void MHallComplete ()
void joinConjugate (int generator)
float completeness () const
Bool isComplete () const
long vertexCount () const
LabelType generatorToLabel (int g) const
int labelToGenerator (LabelType label) const
LabelType inverseLabel (LabelType label) const
VertexType targetOfGenerator (VertexType source, int generator) const
VertexType targetOfLabel (VertexType source, LabelType label) const
LabelType getValence () const
virtual void write (ostream &ostr) const
virtual void read (istream &istr)
virtual bool readPiece (istream &istr, const class Timer &timer)

Static Public Attributes

const VertexType baseVertex = 0
const VertexType emptyTarget = -1

Protected Types

enum  { STOP, TABLE, SUBTREE, BASIS_EDGES }

Protected Methods

 SubgroupGraphRep (int whatValence, long howManyVertices)
void resize (long howManyVertices)
void defineEdges (VertexType source, int generator, VertexType target)
VertexType defineEdges (VertexType source, int generator)
void defineEdge (VertexType source, LabelType label, VertexType target)
long numberOfEdges () const
long valenceAt (VertexType v) const
void adjoinWord (const Word &, VertexType)
void addWordArc (const Word &, VertexType, VertexType, int, int)
void addWordLoop (const Word &, VertexType, int, int)
void identifyVertices (VertexType, VertexType)
void reduceGraph (VertexType *)
SubgroupGraphRep* disjointUnion (const SubgroupGraphRep &) const
Bool loopSearch (const Word &w, VertexType v) const
Word getLabel (VertexType v) const
Word getInverseLabel (VertexType v) const
int findBasisEdgeIndex (VertexType source, LabelType label)
void makeMaxlSubtree ()
int distanceFromOrigin (VertexType) const

Protected Attributes

int isReading
int tableSize
int n
VertexTypetable
VertexType numberOfVertices
VertexType spaceForVertices
LabelType valence
LabelTypemaximalSubtree
EdgebasisEdges

Friends

class  SubgroupGraphRepReader

Member Typedef Documentation

typedef long SubgroupGraphRep::VertexType
 

Definition at line 181 of file SubgroupGraphRep.h.

typedef int SubgroupGraphRep::LabelType
 

Definition at line 191 of file SubgroupGraphRep.h.


Member Enumeration Documentation

anonymous enum [protected]
 

Enumeration values:
STOP  
TABLE  
SUBTREE  
BASIS_EDGES  

Definition at line 258 of file SubgroupGraphRep.h.


Constructor & Destructor Documentation

SubgroupGraphRep::SubgroupGraphRep ( int ambientRank,
const SetOf< Word > & S )
 

Referenced by clone().

SubgroupGraphRep::SubgroupGraphRep ( int ambientRank,
const VectorOf< Word > & V )
 

SubgroupGraphRep::SubgroupGraphRep ( const SubgroupGraphRep & )
 

SubgroupGraphRep::~SubgroupGraphRep ( )
 

SubgroupGraphRep::SubgroupGraphRep ( int whatValence,
long howManyVertices ) [protected]
 


Member Function Documentation

SubgroupGraphRep * SubgroupGraphRep::clone ( ) const [inline, virtual]
 

Returns a pointer to a copy of the object. Should be implemented as a member which gives a new `deep-copy' by each representation derived from this; normally, by making it new CopyConstrutor(*this) with CopyConstructor doing `deep-copy' (`' because it is enough for the copy constructor to do logical deep copy).

Reimplemented from PureRep.

Reimplemented in NCChunkRep.

Definition at line 77 of file SubgroupGraphRep.h.

int SubgroupGraphRep::rank ( ) const [inline]
 

Definition at line 80 of file SubgroupGraphRep.h.

Referenced by generatesTheFreeGroup().

VectorOf<Word> SubgroupGraphRep::normalizer ( )
 

VectorOf<Word> SubgroupGraphRep::nielsenBasis ( )
 

Word SubgroupGraphRep::nielsenWord ( int i )
 

Word SubgroupGraphRep::inNielsenWords ( const Word & w )
 

SubgroupGraphRep* SubgroupGraphRep::join ( const SubgroupGraphRep & ) const
 

SubgroupGraphRep* SubgroupGraphRep::intersection ( const SubgroupGraphRep & SGR ) const
 

Bool SubgroupGraphRep::contains ( const Word & w ) const [inline]
 

Definition at line 105 of file SubgroupGraphRep.h.

Bool SubgroupGraphRep::contains ( const SetOf< Word > & S ) const
 

Bool SubgroupGraphRep::contains ( const VectorOf< Word > & V ) const
 

Bool SubgroupGraphRep::contains ( SubgroupGraphRep & SGR ) const
 

Bool SubgroupGraphRep::equalTo ( const SetOf< Word > & S )
 

Bool SubgroupGraphRep::equalTo ( SubgroupGraphRep & SGR )
 

Bool SubgroupGraphRep::conjugateInSubgroup ( const Word & w,
Word & conjugator ) const
 

Bool SubgroupGraphRep::conjugateInSubgroup ( const SetOf< Word > & S,
Word & conjugator )
 

bool SubgroupGraphRep::conjugateTo ( const SetOf< Word > & S )
 

long SubgroupGraphRep::powerInSubgroup ( const Word & aWord ) const
 

int SubgroupGraphRep::findIndex ( )
 

VectorOf<Word> SubgroupGraphRep::findWhiteheadBasis ( )
 

Bool SubgroupGraphRep::isAFreeFactor ( )
 

Bool SubgroupGraphRep::generatesTheFreeGroup ( ) const [inline]
 

Definition at line 149 of file SubgroupGraphRep.h.

Word SubgroupGraphRep::rightSchreierRepresentative ( const Word & )
 

void SubgroupGraphRep::MHallComplete ( )
 

Referenced by SubgroupGraph::MHallCompletion().

void SubgroupGraphRep::joinConjugate ( int generator )
 

float SubgroupGraphRep::completeness ( ) const [inline]
 

Definition at line 165 of file SubgroupGraphRep.h.

Bool SubgroupGraphRep::isComplete ( ) const [inline]
 

Definition at line 169 of file SubgroupGraphRep.h.

long SubgroupGraphRep::vertexCount ( ) const [inline]
 

Definition at line 173 of file SubgroupGraphRep.h.

LabelType SubgroupGraphRep::generatorToLabel ( int g ) const [inline]
 

Definition at line 195 of file SubgroupGraphRep.h.

Referenced by defineEdges(), and targetOfGenerator().

int SubgroupGraphRep::labelToGenerator ( LabelType label ) const [inline]
 

Definition at line 204 of file SubgroupGraphRep.h.

LabelType SubgroupGraphRep::inverseLabel ( LabelType label ) const [inline]
 

Definition at line 213 of file SubgroupGraphRep.h.

VertexType SubgroupGraphRep::targetOfGenerator ( VertexType source,
int generator ) const [inline]
 

Definition at line 220 of file SubgroupGraphRep.h.

VertexType SubgroupGraphRep::targetOfLabel ( VertexType source,
LabelType label ) const [inline]
 

Definition at line 227 of file SubgroupGraphRep.h.

LabelType SubgroupGraphRep::getValence ( ) const [inline]
 

Definition at line 234 of file SubgroupGraphRep.h.

virtual void SubgroupGraphRep::write ( ostream & ostr ) const [virtual]
 

virtual void SubgroupGraphRep::read ( istream & istr ) [virtual]
 

virtual bool SubgroupGraphRep::readPiece ( istream & istr,
const class Timer & timer ) [virtual]
 

void SubgroupGraphRep::resize ( long howManyVertices ) [protected]
 

Referenced by defineEdges().

void SubgroupGraphRep::defineEdges ( VertexType source,
int generator,
VertexType target ) [inline, protected]
 

Definition at line 371 of file SubgroupGraphRep.h.

Referenced by defineEdges().

VertexType SubgroupGraphRep::defineEdges ( VertexType source,
int generator ) [inline, protected]
 

Definition at line 387 of file SubgroupGraphRep.h.

void SubgroupGraphRep::defineEdge ( VertexType source,
LabelType label,
VertexType target ) [inline, protected]
 

Definition at line 402 of file SubgroupGraphRep.h.

long SubgroupGraphRep::numberOfEdges ( ) const [protected]
 

Referenced by completeness(), isComplete(), and rank().

long SubgroupGraphRep::valenceAt ( VertexType v ) const [protected]
 

void SubgroupGraphRep::adjoinWord ( const Word &,
VertexType ) [protected]
 

void SubgroupGraphRep::addWordArc ( const Word &,
VertexType,
VertexType,
int,
int ) [protected]
 

void SubgroupGraphRep::addWordLoop ( const Word &,
VertexType,
int,
int ) [protected]
 

void SubgroupGraphRep::identifyVertices ( VertexType,
VertexType ) [protected]
 

void SubgroupGraphRep::reduceGraph ( VertexType * ) [protected]
 

SubgroupGraphRep* SubgroupGraphRep::disjointUnion ( const SubgroupGraphRep & ) const [protected]
 

Bool SubgroupGraphRep::loopSearch ( const Word & w,
VertexType v ) const [protected]
 

Referenced by contains().

Word SubgroupGraphRep::getLabel ( VertexType v ) const [protected]
 

Word SubgroupGraphRep::getInverseLabel ( VertexType v ) const [protected]
 

int SubgroupGraphRep::findBasisEdgeIndex ( VertexType source,
LabelType label ) [protected]
 

void SubgroupGraphRep::makeMaxlSubtree ( ) [protected]
 

int SubgroupGraphRep::distanceFromOrigin ( VertexType ) const [protected]
 


Friends And Related Function Documentation

friend class SubgroupGraphRepReader [friend]
 

Definition at line 60 of file SubgroupGraphRep.h.


Member Data Documentation

const VertexType SubgroupGraphRep::baseVertex = 0 [static]
 

Definition at line 185 of file SubgroupGraphRep.h.

const VertexType SubgroupGraphRep::emptyTarget = -1 [static]
 

Definition at line 189 of file SubgroupGraphRep.h.

int SubgroupGraphRep::isReading [protected]
 

Definition at line 259 of file SubgroupGraphRep.h.

int SubgroupGraphRep::tableSize [protected]
 

Definition at line 260 of file SubgroupGraphRep.h.

int SubgroupGraphRep::n [protected]
 

Definition at line 260 of file SubgroupGraphRep.h.

VertexType* SubgroupGraphRep::table [protected]
 

Definition at line 316 of file SubgroupGraphRep.h.

VertexType SubgroupGraphRep::numberOfVertices [protected]
 

Definition at line 324 of file SubgroupGraphRep.h.

VertexType SubgroupGraphRep::spaceForVertices [protected]
 

Definition at line 325 of file SubgroupGraphRep.h.

LabelType SubgroupGraphRep::valence [protected]
 

Definition at line 326 of file SubgroupGraphRep.h.

LabelType* SubgroupGraphRep::maximalSubtree [protected]
 

Definition at line 329 of file SubgroupGraphRep.h.

Edge* SubgroupGraphRep::basisEdges [protected]
 

Definition at line 330 of file SubgroupGraphRep.h.


The documentation for this class was generated from the following file:
Generated at Tue Jun 19 09:50:09 2001 for Magnus Classes by doxygen1.2.6 written by Dimitri van Heesch, © 1997-2001