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

AugmentedAlgebra< K > Class Template Reference

#include <augmentedalgebras.H>

Inheritance diagram for AugmentedAlgebra< K >:

AffineAlgebra< K > SimpleAlphabet Alphabet List of all members.

Detailed Description

template<class K>
class AugmentedAlgebra< K >

AugmentedAlgebra class: an affine algebra with a scalar associated with each variable.

The scalars are the "augmentations" of the variables. All the methods are obvious extensions of those àf Affinealgebra.

Definition at line 13 of file augmentedalgebras.H.

Public Member Functions

Polynomial< K > new_variable (const string &name, const K &aug)
virtual void swap_variables_order (long i, long j, list< Polynomial< K > > &polys)
 changes the order of two variables
virtual void swap_variables_order (long i, long j)
virtual void kill_top_variable (const Polynomial< K > &replacement, list< Polynomial< K > > &polys)
 replaces the top variable by a polynomial in the others
virtual void kill_top_variable (const Polynomial< K > &replacement)

Public Attributes

map< long, K > epsilon
 the augmentation

Friends

ostream & operator<< (ostream &os, const AugmentedAlgebra< K > &R)
ofstream & operator<< (ofstream &file, AugmentedAlgebra< K > &A)
 write to file
void operator>> (ifstream &file, AugmentedAlgebra< K > &A)


Member Function Documentation

template<class K>
virtual void AugmentedAlgebra< K >::kill_top_variable const Polynomial< K > &  replacement,
list< Polynomial< K > > &  polys
[inline, 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 AffineAlgebra< K >.

Reimplemented in RepresentationRing.

Definition at line 56 of file augmentedalgebras.H.

Referenced by RepresentationRing::kill_top_variable().

template<class K>
virtual void AugmentedAlgebra< K >::swap_variables_order long  i,
long  j,
list< Polynomial< K > > &  polys
[inline, 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 AffineAlgebra< K >.

Reimplemented in RepresentationRing.

Definition at line 33 of file augmentedalgebras.H.

Referenced by RepresentationRing::swap_variables_order().


Friends And Related Function Documentation

template<class K>
ofstream& operator<< ofstream &  file,
AugmentedAlgebra< K > &  A
[friend]
 

write to file

Definition at line 91 of file augmentedalgebras.H.


Member Data Documentation

template<class K>
map<long, K> AugmentedAlgebra< K >::epsilon
 

the augmentation

We use a map<long,K> so we can parallel what we do with names without having much to re-think. This combines conveniently with the evaluate method from the Polynomial<K> class.

Definition at line 22 of file augmentedalgebras.H.

Referenced by Exponentiator< F_2 >::clean_up_equations(), Exponentiator< F_2 >::compute_exp_relations(), SW_Maker::create_regular_variables(), Chern_Maker::create_regular_variables(), Exponentiator< F_2 >::create_regular_variables(), Exponentiator< F_2 >::exp_classes_after_tensoring(), Exponentiator< F_2 >::exp_classes_of_ext_power(), and SW_Maker::translate_homomorphism().


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