Skip to content

Add difference polynomial rings and differential polynomial rings#5212

Merged
lgoettgens merged 100 commits intooscar-system:masterfrom
SirToby25:tb/ActionPolyRing
Aug 30, 2025
Merged

Add difference polynomial rings and differential polynomial rings#5212
lgoettgens merged 100 commits intooscar-system:masterfrom
SirToby25:tb/ActionPolyRing

Conversation

@SirToby25
Copy link
Copy Markdown
Collaborator

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.

SirToby25 and others added 30 commits April 16, 2025 12:05
Merge branch 'tb/ActionPolyRing' of github:SirToby25/Oscar.jl into tb/ActionPolyRing
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
Copy link
Copy Markdown
Member

@lgoettgens lgoettgens left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Comment thread experimental/ActionPolyRing/src/Types.jl
Comment thread experimental/ActionPolyRing/src/Content.jl Outdated
Comment thread experimental/ActionPolyRing/src/Content.jl Outdated
Comment thread experimental/ActionPolyRing/src/Content.jl Outdated
Comment thread experimental/ActionPolyRing/src/Content.jl Outdated
Comment thread experimental/ActionPolyRing/src/Content.jl Outdated
Comment thread experimental/ActionPolyRing/src/Content.jl Outdated
Comment thread experimental/ActionPolyRing/src/IO.jl Outdated
Comment thread experimental/ActionPolyRing/src/IO.jl Outdated
Comment thread experimental/ActionPolyRing/src/Operators.jl
@lgoettgens lgoettgens added the release notes: use title For PRs: the title of this PR is suitable for direct use in the release notes label Aug 26, 2025
@thofma
Copy link
Copy Markdown
Collaborator

thofma commented Aug 26, 2025

Had an artificial glance and it looks fine to me.

Comment thread experimental/ActionPolyRing/src/exports.jl Outdated
Copy link
Copy Markdown
Member

@lgoettgens lgoettgens left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

SirToby25 and others added 4 commits August 26, 2025 16:51
- Introduced the usual derivative method for variables and tests
- Streamlined some methods
- Increased test coverage
- Fixed terse printing for iterators
@SirToby25
Copy link
Copy Markdown
Collaborator Author

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.

@lgoettgens lgoettgens merged commit f4c570a into oscar-system:master Aug 30, 2025
27 of 31 checks passed
@SirToby25 SirToby25 deleted the tb/ActionPolyRing branch September 1, 2025 09:12
@SirToby25 SirToby25 restored the tb/ActionPolyRing branch September 1, 2025 09:17
@SirToby25 SirToby25 deleted the tb/ActionPolyRing branch September 1, 2025 09:21
@SirToby25 SirToby25 restored the tb/ActionPolyRing branch September 1, 2025 09:32
@SirToby25 SirToby25 deleted the tb/ActionPolyRing branch September 1, 2025 10:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

experimental Only changes experimental parts of the code release notes: use title For PRs: the title of this PR is suitable for direct use in the release notes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants