#include <sw_maker.H>
Inheritance diagram for SW_Maker:
This is an Exponentiator<F_2> which knows:
If a pointer to a chern ring has been provided, then 'chern_sw' will contain the homomorphism between this ring and the sw ring just created by SW_Maker. It is public.
Definition at line 33 of file sw_maker.H.
Public Member Functions | |
void | start (RealRepresentationRing *thesource, GradedAlgebra< F_2 > *thetarget, GradedAlgebra< F_2 > *the_chern_ring=0) |
start() with a slightly different prototype | |
virtual void | create_regular_variables (string prefix) |
new version, which takes the schur indices into account | |
void | add_complex_relations () |
translate relations between Chern classes into SW relations | |
AffineHomomorphism< F_2 > | translate_homomorphism (const AffineHomomorphism< QQ > &r, SW_Maker &sw) |
turn a homomorphism of representation rings into a homomorphism between the exponential algebras | |
Public Attributes | |
GradedAlgebra< F_2 > * | chern_ring |
a pointer to an algebra created by Chern_Maker | |
AbstractHomomorphism< F_2 > | chern_sw |
the homomorphism from the Chern ring to the SW ring | |
Private Member Functions | |
string | name_of_rep (const string &name_chern) |
long | index_of_chern_class (const string &name_chern) |
F_2 | comb (long n, long i) |
|
translate relations between Chern classes into SW relations This is called at the end of the new create_regular_variables() when the pointer chern_ring is nonzero. This method looks for the variables in *chern_ring and expects them to have names of the form c_i(r_j). They are all converted into the corresponding SW classes (using info in *source such as source->nameof() but also source->conjugates). Then, the relations in *chern_ring are converted into SW relations and added to total_relations. Definition at line 96 of file sw_maker.cpp. References Polynomial< K >::alphabet, chern_ring, chern_sw, RealRepresentationRing::conjugates, Ideal< K >::generators, SimpleAlphabet::nameof(), AbstractHomomorphism< K >::of(), AffineAlgebra< K >::relations, RepresentationRing::schur_indices, AbstractHomomorphism< K >::set_image(), Exponentiator< F_2 >::var, SimpleAlphabet::variables_in_use(), and AffineAlgebra< K >::very_verbose. Referenced by create_regular_variables(). |
|
new version, which takes the schur indices into account Some of the var(i,j) will be 0, depending on the Schur indices. Then the Steenrod operations are computed using Wu's formula. If chern_ring is not the zero pointer, then add_complex_relations() is called. Reimplemented from Exponentiator< F_2 >. Definition at line 16 of file sw_maker.cpp. References add_complex_relations(), Polynomial< K >::alphabet, chern_ring, AugmentedAlgebra< K >::epsilon, SimpleAlphabet::nameof(), GradedAlgebra< K >::new_variable(), AffineAlgebra< K >::one(), Table< T >::resize(), RepresentationRing::schur_indices, Polynomial< K >::sets_to_zero(), UnstableAlgebra::steenrod, Exponentiator< F_2 >::var, SimpleAlphabet::variables_in_use(), and UnstableAlgebra::write_trivial_steenrod_operations(). |
|
start() with a slightly different prototype
Definition at line 7 of file sw_maker.cpp. References chern_ring, and Exponentiator< K >::start(). |
|
turn a homomorphism of representation rings into a homomorphism between the exponential algebras This is the first attempt to make the Exponentiators functorial. It is a bit ad hoc at the moment, so we do not integrate this as a member of Exponentiator. What this is doing: we have two Exponentiators, this and sw, and we assume that they have both done their job (cf start()). Given a homomorphism r between their respective representation rings (r for restriction, the most common type of homomorphism that we shall need), the method translates r into the corresponding homomorphism between the exponential algebras. Limitation: we assume that r is of the form r(rep)= sum of reps with nonnegative, integer coefficents. Note: the sw is not 'const' here, as we may need to compute more universal polynomials in the process. These will be stored. Definition at line 225 of file sw_maker.cpp. References Polynomial< K >::coeffs, AugmentedAlgebra< K >::epsilon, Exponentiator< K >::exp_classes_after_tensoring(), GradedAlgebra< K >::hom_part_of(), Polynomial< K >::is_zero(), AbstractHomomorphism< K >::of_generator(), AffineAlgebra< K >::one(), Exponentiator< K >::target, Exponentiator< F_2 >::var, and SimpleAlphabet::variables_in_use(). |
|
a pointer to an algebra created by Chern_Maker
Definition at line 44 of file sw_maker.H. Referenced by add_complex_relations(), create_regular_variables(), and start(). |
|
the homomorphism from the Chern ring to the SW ring
Definition at line 46 of file sw_maker.H. Referenced by add_complex_relations(). |