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

SubgroupBasis Class Reference

#include <SubgroupBasis.h>

List of all members.

Public Methods

 SubgroupBasis (const VectorOf< Word > &v, const NilpotentGroup &ng)
void initialize () const
int cardinality () const
const NilpotentGroupparentGroup () const
const VectorOf<Word>& generators () const
bool isFull () const
bool isNormalClosure () const
int theHirschNumber () const
SubgroupBasis normalClosure () const
bool contains (const Word &w) const
bool decomposeWord (const PolyWord &w, PolyWord &decomp) const
VectorOf<WordasWords () const
VectorOf<PolyWordasGroupWords () const

Private Methods

PolyWord parentMultiply (const PolyWord &pw1, const PolyWord &pw2) const
PolyWord parentInvert (const PolyWord &pw) const
PolyWord parentRaiseToPower (const PolyWord &pw, int power) const
PolyWord parentCommute (const PolyWord &pw1, const PolyWord &pw2) const
int leaderOrder (const PolyWord &pw) const
PolyWord toParentBasis (const PolyWord &pw) const
PolyWord toBasicCommutators (const PolyWord &pw) const
bool reduceWords (PolyWord &mw1, PolyWord &mw2) const
void checkMembership (PolyWord &w) const
bool addWord (const Word &w)
bool addWord (const PolyWord &w)
void makeFull ()
void makeNormalClosure ()

Private Attributes

NilpotentGroup theParent
VectorOf<WordtheGenerators
QuickAssociationsOf<Generator,
PolyWord
theSet
bool basisIsFull
Trichotomy isNormal
int hirschNumber

Static Private Methods

int power (const PolyWord &pw)
int absPower (const PolyWord &pw)
Generator leader (const PolyWord &pw)
int sign (const PolyWord &pw)

Friends

ostream& operator< (ostream &s, const SubgroupBasis &b)
istream& operator> (istream &s, const SubgroupBasis &b)


Constructor & Destructor Documentation

SubgroupBasis::SubgroupBasis ( const VectorOf< Word > & v,
const NilpotentGroup & ng )
 


Member Function Documentation

void SubgroupBasis::initialize ( ) const
 

int SubgroupBasis::cardinality ( ) const [inline]
 

Definition at line 51 of file SubgroupBasis.h.

const NilpotentGroup & SubgroupBasis::parentGroup ( ) const [inline]
 

Definition at line 54 of file SubgroupBasis.h.

const VectorOf< Word > & SubgroupBasis::generators<Word> ( ) const [inline]
 

Definition at line 59 of file SubgroupBasis.h.

bool SubgroupBasis::isFull ( ) const [inline]
 

Definition at line 64 of file SubgroupBasis.h.

Referenced by SGOfFPNilpotentGroupRep::basisIsInitialized().

bool SubgroupBasis::isNormalClosure ( ) const
 

int SubgroupBasis::theHirschNumber ( ) const
 

Referenced by SGOfFPNilpotentGroupRep::theHirschNumber().

SubgroupBasis SubgroupBasis::normalClosure ( ) const
 

bool SubgroupBasis::contains ( const Word & w ) const
 

bool SubgroupBasis::decomposeWord ( const PolyWord & w,
PolyWord & decomp ) const
 

VectorOf<Word> SubgroupBasis::asWords ( ) const
 

VectorOf<PolyWord> SubgroupBasis::asGroupWords ( ) const
 

PolyWord SubgroupBasis::parentMultiply ( const PolyWord & pw1,
const PolyWord & pw2 ) const [private]
 

PolyWord SubgroupBasis::parentInvert ( const PolyWord & pw ) const [private]
 

PolyWord SubgroupBasis::parentRaiseToPower ( const PolyWord & pw,
int power ) const [private]
 

PolyWord SubgroupBasis::parentCommute ( const PolyWord & pw1,
const PolyWord & pw2 ) const [private]
 

int SubgroupBasis::leaderOrder ( const PolyWord & pw ) const [private]
 

PolyWord SubgroupBasis::toParentBasis ( const PolyWord & pw ) const [private]
 

PolyWord SubgroupBasis::toBasicCommutators ( const PolyWord & pw ) const [private]
 

int SubgroupBasis::power ( const PolyWord & pw ) [inline, static, private]
 

Definition at line 167 of file SubgroupBasis.h.

int SubgroupBasis::absPower ( const PolyWord & pw ) [inline, static, private]
 

Definition at line 173 of file SubgroupBasis.h.

Generator SubgroupBasis::leader ( const PolyWord & pw ) [inline, static, private]
 

Definition at line 179 of file SubgroupBasis.h.

int SubgroupBasis::sign ( const PolyWord & pw ) [inline, static, private]
 

Definition at line 185 of file SubgroupBasis.h.

bool SubgroupBasis::reduceWords ( PolyWord & mw1,
PolyWord & mw2 ) const [private]
 

void SubgroupBasis::checkMembership ( PolyWord & w ) const [private]
 

bool SubgroupBasis::addWord ( const Word & w ) [private]
 

bool SubgroupBasis::addWord ( const PolyWord & w ) [private]
 

void SubgroupBasis::makeFull ( ) [private]
 

void SubgroupBasis::makeNormalClosure ( ) [private]
 


Friends And Related Function Documentation

ostream& operator< ( ostream & s,
const SubgroupBasis & b ) [friend]
 

istream& operator> ( istream & s,
const SubgroupBasis & b ) [friend]
 


Member Data Documentation

NilpotentGroup SubgroupBasis::theParent [private]
 

Definition at line 230 of file SubgroupBasis.h.

VectorOf<Word> SubgroupBasis::theGenerators [private]
 

Definition at line 231 of file SubgroupBasis.h.

QuickAssociationsOf<Generator, PolyWord> SubgroupBasis::theSet [private]
 

Definition at line 233 of file SubgroupBasis.h.

bool SubgroupBasis::basisIsFull [private]
 

Definition at line 234 of file SubgroupBasis.h.

Trichotomy SubgroupBasis::isNormal [private]
 

Definition at line 235 of file SubgroupBasis.h.

int SubgroupBasis::hirschNumber [private]
 

Definition at line 237 of file SubgroupBasis.h.


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