Main Page | Class Hierarchy | Class List | File List | Class Members | File Members | Related Pages

repring.H

00001 #ifndef _REPRING_H_
00002 #define _REPRING_H_
00003 
00004 #include "algebras.H"
00005 #include "tables.H"
00006 #include <string>
00007 #include <sstream>
00008 #include <fstream>
00009 #include "my_gmp.H"
00010 using namespace std;
00011 
00013 
00041 class RepresentationRing : public AugmentedAlgebra<QQ> {
00042 public:
00044   string base_field;
00046   map<long, long> schur_indices;
00048   map< long, Tuple< Polynomial<QQ> > > lambda_operations;
00050   RepresentationRing();
00051   // as usual, we need to rewrite the following
00052   Polynomial<QQ> new_variable(const string& name, const QQ& aug, long index);
00053   virtual void swap_variables_order(long i, long j, list< Polynomial<QQ> >& polys);
00054   virtual void swap_variables_order(long i, long j);
00055   virtual void kill_top_variable(const Polynomial<QQ>& replacement,list< Polynomial<QQ> >& polys);
00056   virtual void kill_top_variable(const Polynomial<QQ>& replacement);
00057 
00058 
00060 
00079   virtual long read_variables(ifstream& thefile, Tuple< Polynomial<QQ> >& thevars);
00081 
00103   bool read_from_GAP_file(const string& name);
00104   friend ostream& operator<<(ostream& os, const RepresentationRing& R);
00105 
00106 };
00107 
00109 
00119 class RealRepresentationRing : public RepresentationRing {
00120 public:
00121   map< string, string > conjugates;
00122 
00123 
00124 
00125   RealRepresentationRing();
00127 
00165   virtual long read_variables(ifstream& thefile, Tuple< Polynomial<QQ> >& thevars);
00166   //  friend ostream& operator<<(ostream& os, const RealRepresentationRing& R);
00167 };
00168 
00169 #endif
00170 
00171 

Generated on Wed Jun 18 17:22:40 2008 for Pierre Guillot by  doxygen 1.3.9.1