#include <gradedalgebras.H>
Inheritance diagram for GradedAlgebra< K >:
All the methods are obvious extensions of those of Affinealgebra.
Definition at line 14 of file gradedalgebras.H.
Public Member Functions | |
Polynomial< K > | new_variable (const string &name, long degree) |
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) |
long | hom_degree_of (const Polynomial< K > &x) const |
homogeneous degree of an element | |
bool | is_homogeneous (const Polynomial< K > x) const |
Polynomial< K > | hom_part_of (const Polynomial< K > &x, long n) const |
void | add_relation (const Polynomial< K > &rel) |
adds a generator in the relations ideal. Checks if it is 0, not if it is redundant. | |
void | split_and_sort_relations () |
turns the relations into sorted, homogeneous relations. | |
void | even_subalgebra (GradedAlgebra< K > &ans, AffineHomomorphism< K > &inclusion) const |
the subalgebra in even degrees | |
long | top_degree () const |
gives a degree above which the algebra is zero | |
void | list_monomials (long degree, Tuple< Polynomial< K > > &result) const |
gives a K-basis of a given homogenous part | |
Public Attributes | |
map< long, long > | hom_degrees |
the homogeneous degrees | |
Friends | |
ostream & | operator<< (ostream &os, const GradedAlgebra< K > &R) |
ofstream & | operator<< (ofstream &file, GradedAlgebra< K > &A) |
write to file | |
void | operator>> (ifstream &file, GradedAlgebra< K > &A) |
|
adds a generator in the relations ideal. Checks if it is 0, not if it is redundant.
Reimplemented from AffineAlgebra< K >. Definition at line 118 of file gradedalgebras.H. Referenced by HomFinder::define_polynomial_variables(), HomFinder::extend(), HomFinder::extend_all(), HomFinder::init(), and HomFinder::test_steenrod(). |
|
the subalgebra in even degrees This writes in 'ans' a polynomial algebra which maps onto the even-degree subalgebra of *this, via the homomorphism written in 'inclusion'. The user may or may not want to compute the kernel of 'inclusion', giving a presentation for the even-degree subalgebra. Definition at line 193 of file gradedalgebras.H. Referenced by MilnorAnalyzer::done(). |
|
homogeneous degree of an element
Definition at line 75 of file gradedalgebras.H. Referenced by GradedAlgebra< F_2 >::add_relation(), DerivationAnalyzer::constant_subalgebra(), and GradedAlgebra< F_2 >::even_subalgebra(). |
|
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 UnstableAlgebra. Definition at line 53 of file gradedalgebras.H. Referenced by Exponentiator< F_2 >::kill_extra_variables(), UnstableAlgebra::kill_top_variable(), and HomFinder::polynomial_test(). |
|
gives a K-basis of a given homogenous part This writes in the Tuple 'result' a bunch of elements of the graded algebra which form a K-basis for the homogeneous part of degree 'degree'. Careful: This will only work if a Grobner basis has been computed ! in fact, what this method really does is list all powerproducts in degree 'degree' and eliminate those which reduce to 0 under reduced_form(). Definition at line 291 of file gradedalgebras.H. Referenced by HomFinder::define_polynomial_variables(), HomFinder::define_polynomial_variables_brutally(), HomFinder::init(), and GradedAlgebra< F_2 >::list_monomials(). |
|
turns the relations into sorted, homogeneous relations. This splits the current relations into homogeneous parts, and organizes the resulting homogeneous relations so that they appear in 'relations' with their degrees nondecreasing. Definition at line 141 of file gradedalgebras.H. |
|
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.
Reimplemented from AffineAlgebra< K >. Reimplemented in UnstableAlgebra. Definition at line 32 of file gradedalgebras.H. Referenced by MilnorAnalyzer::re_setup(), MilnorAnalyzer::setup_for_Sq1(), and UnstableAlgebra::swap_variables_order(). |
|
gives a degree above which the algebra is zero Before using this, it is necessary to call is_finite_dimensional() (from AffineAlgebra<K>), otherwise this enters an infinite loop (and the result would make no sense of course). Also, a Grobner basis must have been computed. Note: The result given is not sharp. Definition at line 252 of file gradedalgebras.H. |
|
write to file
Definition at line 379 of file gradedalgebras.H. |
|
the homogeneous degrees
Definition at line 18 of file gradedalgebras.H. Referenced by HomFinder::branch(), HomFinder::define_polynomial_variables(), HomFinder::define_polynomial_variables_brutally(), HomFinder::extend(), HomFinder::extend_all(), HomFinder::init(), MilnorAnalyzer::re_setup(), DerivationAnalyzer::setup(), MilnorAnalyzer::setup_for_Sq1(), and HomFinder::weight(). |