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

RepresentationRing Class Reference

#include <repring.H>

Inheritance diagram for RepresentationRing:

AugmentedAlgebra< QQ > AffineAlgebra< QQ > SimpleAlphabet Alphabet RealRepresentationRing List of all members.

Detailed Description

RepresentationRing class.

This represents the (complex) representation ring of a finite group -- or so we think of it. In practice it is an augmented algebra over QQ with the following extra features:

Definition at line 41 of file repring.H.

Public Member Functions

 RepresentationRing ()
 a constuctor setting base_field to "complex"
Polynomial< QQ > new_variable (const string &name, const QQ &aug, long index)
virtual void swap_variables_order (long i, long j, list< Polynomial< QQ > > &polys)
 changes the order of two variables
virtual void swap_variables_order (long i, long j)
virtual void kill_top_variable (const Polynomial< QQ > &replacement, list< Polynomial< QQ > > &polys)
 replaces the top variable by a polynomial in the others
virtual void kill_top_variable (const Polynomial< QQ > &replacement)
virtual long read_variables (ifstream &thefile, Tuple< Polynomial< QQ > > &thevars)
 read information on the variables in .gaprep file
bool read_from_GAP_file (const string &name)
 read information on the algebra from .gaprep file

Public Attributes

string base_field
 for display purposes. A string containing "complex". Replaced in RealRepresentationRing.
map< long, long > schur_indices
 the schur indices
map< long, Tuple< Polynomial<
QQ > > > 
lambda_operations
 the lambda operations

Friends

ostream & operator<< (ostream &os, const RepresentationRing &R)


Constructor & Destructor Documentation

RepresentationRing::RepresentationRing  ) 
 

a constuctor setting base_field to "complex"

Definition at line 8 of file repring.cpp.

References base_field.


Member Function Documentation

void RepresentationRing::kill_top_variable const Polynomial< QQ > &  replacement,
list< Polynomial< QQ > > &  polys
[virtual]
 

replaces the top variable by a polynomial in the others

This modifies the list polys so its members take the changes into account.

Reimplemented from AugmentedAlgebra< QQ >.

Definition at line 57 of file repring.cpp.

References AugmentedAlgebra< K >::kill_top_variable(), lambda_operations, and schur_indices.

bool RepresentationRing::read_from_GAP_file const string &  name  ) 
 

read information on the algebra from .gaprep file

This opens a .gaprep file.

  • First, read_variables is called -- see corresponding comments. So n-1 variables have been created. Call them x_i.
  • Next, the file contains a collection of integers, which in fact should be seen as a sequence of n-tuples of integers.
    • The first n-tuple indicates how to express x_1^2 as a linear combination of the n variables 1, x_1, ..., x_n-1.
    • Then the second n-tuple expresses x_1x_2 as such a combination.
    • Follow x_1x_3, x_1x_4, ..., x_1x_n.
    • Then this repeats starting from x_2, so: x_2^2, x_2x_3, x_2x_4, ..., x_2x_n.
    • And so on until x_n^2.
  • Finally, the lambda operations are described in the file in the same fashion: so for each variable x, call d its augmentation, and for each i with 2 <= i <= d, there is an n-tuple of integers expressing lambda i(x) as a linear combination of 1, x_1, ..., x_n-1.

Definition at line 106 of file repring.cpp.

References Ideal< K >::generators, lambda_operations, read_variables(), and Polynomial< K >::sets_to_zero().

long RepresentationRing::read_variables ifstream &  thefile,
Tuple< Polynomial< QQ > > &  thevars
[virtual]
 

read information on the variables in .gaprep file

This is called by read_from_GAP_file, which has opened a file with gaprep extension.

The .gaprep file contains first an integer, call it n. This is the number of (complex) representations.

Then the file contains a sequence of n-1 pairs of integers. The first is the Schur index, the second is the (complex) dimension. Using this, n-1 variables are created (dropping the first one which is the trivial rep, and which will correspond to 1 in the rep ring). They are stored in thevars[i] (2<= i <=n) as polynomials. thevars[1] contains this->one(). thevars[0] is not used.

The variables are automatically named r_1, r_2, ..., r_{n-1}.

Returns:
the number of variables created + 1, ie n.

Reimplemented in RealRepresentationRing.

Definition at line 79 of file repring.cpp.

References AffineAlgebra< QQ >::new_variable(), AffineAlgebra< QQ >::one(), and Tuple< T >::resize().

Referenced by read_from_GAP_file().

void RepresentationRing::swap_variables_order long  i,
long  j,
list< Polynomial< QQ > > &  polys
[virtual]
 

changes the order of two variables

This corrects all the relations generators so they take the change of order into account. Likewise all polynomials created with this before should be modified.

Parameters:
 polys, a list of polynomials to update.

Reimplemented from AugmentedAlgebra< QQ >.

Definition at line 26 of file repring.cpp.

References lambda_operations, schur_indices, Tuple< T >::steal(), and AugmentedAlgebra< K >::swap_variables_order().


Member Data Documentation

string RepresentationRing::base_field
 

for display purposes. A string containing "complex". Replaced in RealRepresentationRing.

Definition at line 44 of file repring.H.

Referenced by RepresentationRing().

map< long, Tuple< Polynomial<QQ> > > RepresentationRing::lambda_operations
 

the lambda operations

Definition at line 48 of file repring.H.

Referenced by Exponentiator< F_2 >::compute_exp_relations(), kill_top_variable(), read_from_GAP_file(), and swap_variables_order().

map<long, long> RepresentationRing::schur_indices
 

the schur indices

Definition at line 46 of file repring.H.

Referenced by SW_Maker::add_complex_relations(), SW_Maker::create_regular_variables(), Chern_Maker::create_regular_variables(), kill_top_variable(), and swap_variables_order().


The documentation for this class was generated from the following files:
Generated on Wed Jun 18 17:22:47 2008 for Pierre Guillot by  doxygen 1.3.9.1