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

/magnus/back_end/Group/include/FreeByCyclic.h

Go to the documentation of this file.
00001 /*
00002  *   $Id: FreeByCyclic.h,v 1.2 2000/03/03 02:44:12 bormotov Exp $
00003  */
00004 
00005 // Copyright (C) 1995 The New York Group Theory Cooperative
00006 // See magnus/doc/COPYRIGHT for the full notice.
00007 //
00008 // Contents: Definition of FreeByCyclic, a group structure class
00009 //           representing the structure of a free group extended
00010 //           by an automorphism.
00011 //
00012 // Principal Author: Roger Needham
00013 //
00014 // Status: In progress.
00015 //
00016 // Revision History:
00017 //
00018 
00019 
00020 #ifndef _FREE_BY_CYCLIC_H_
00021 #define _FREE_BY_CYCLIC_H_
00022 
00023 
00024 #include "FreeGroup.h"
00025 #include "Map.h"
00026 
00027 
00028 class FreeByCyclic
00029 {
00030 public:
00031 
00032   /////////////////////////////////////////////////////////////////////////
00033   //                                                                     //
00034   // Constructors:                                                       //
00035   //                                                                     //
00036   /////////////////////////////////////////////////////////////////////////
00037 
00038   FreeByCyclic(const FreeGroup F, const Map aut);
00039 
00040   // Destructor supplied by compiler
00041 
00042   FreeByCyclic& operator=( const FreeByCyclic& G );
00043 
00044   /////////////////////////////////////////////////////////////////////////
00045   //                                                                     //
00046   // Accessors:                                                          //
00047   //                                                                     //
00048   /////////////////////////////////////////////////////////////////////////
00049 
00050   VectorOf<Chars> namesOfGenerators( ) const;
00051 
00052   SetOf<Word> getRelators( ) const;
00053 
00054   Word normalForm(const Word& w) const;
00055 
00056   friend ostream& operator<<( ostream& ostr, const FreeByCyclic& G );
00057   friend istream& operator>>( istream& istr,       FreeByCyclic& G );
00058 
00059 private:
00060 
00061   /////////////////////////////////////////////////////////////////////////
00062   //                                                                     //
00063   // Data Members:                                                       //
00064   //                                                                     //
00065   /////////////////////////////////////////////////////////////////////////
00066 
00067   const FreeGroup theGroup;
00068 
00069   const Map theAut;
00070   const Map  theAutInv;
00071 
00072   int newGenerator;
00073 
00074 };
00075 
00076 #endif

Generated at Tue Jun 19 09:49:36 2001 for Magnus Classes by doxygen1.2.6 written by Dimitri van Heesch, © 1997-2001