Add difference polynomial rings and differential polynomial rings#5212
Add difference polynomial rings and differential polynomial rings#5212lgoettgens merged 100 commits intooscar-system:masterfrom
Conversation
Added degree, total_degree, is_monomial, ngens for action polynomial rings. Additionally added gens and ngens to maintain the current lists of variables. Finally, added gen to add new variables.
- standard functionality, such as degree, total_degree, gen, gens, is_monomial, etc. are now available - implemented derivations
lgoettgens
left a comment
There was a problem hiding this comment.
This is really getting into shape! One (probably last) round of comments from me. Once they are incorporated this is good from my POV. But I would be happy if @thofma or @fingolfin want to have a look as well, as this is mostly just wrapping basic AA things
|
Had an artificial glance and it looks fine to me. |
lgoettgens
left a comment
There was a problem hiding this comment.
Looks good from my POV now. Adapting to the result of #5231 (whatever will be decided there) can be approached in a future PR.
I would give people another day to comment, and if there is nothing, then proceed with merging.
- Introduced the usual derivative method for variables and tests - Streamlined some methods - Increased test coverage - Fixed terse printing for iterators
|
Following the ongoing discussion in #5231 I will for now throw an error for both leading and trailing coefficients of the zero polynomial as I expect this to be the result of the discussion. |
This branch adds the basic functionality for difference polynomial rings and differential polynomial rings. These are polynomial rings in countably infinitely many so-called jet variables (f_i)_J equipped with n commuting maps (endomorphisms in the difference case and derivations in the differential case) that act on these. The f_1,...,f_m are certain elementary symbols (in practise these could be functions) and J in \N_0^n are multi-indices, that represent the multiplicities of how many times a certain map has been applied to f_i.
Our implementation wraps the existing functionality for universal polynomial rings for computations and adding variables while managing the relations of the jet variables.
Note that jet variables can be totally ordered by using so called rankings see, e.g. this paper, which is essential for printing, the notion of a leading term, etc. We already provide basic ways to define and change the rankings of difference and differential polynomial rings.