Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Making use of Gröbner Walk #4651

Open
fingolfin opened this issue Feb 26, 2025 · 6 comments
Open

Making use of Gröbner Walk #4651

fingolfin opened this issue Feb 26, 2025 · 6 comments
Labels
enhancement New feature or request

Comments

@fingolfin
Copy link
Member

We have some experimental Gröbner walk abilities since PR #3821 but this is not yet used anywhere. Eventually we really want this.

One blocker is the need for polynomial reduction wrt to arbitrary weights (i.e. weights which may not fit into an Int). We may have a student who can work on the latter.

In the meantime I'd like to have an issue were we can point people to who are interested in this.

E.g. @afkafkafk13 @YueRen @fpnowell ...

@fingolfin fingolfin added the enhancement New feature or request label Feb 26, 2025
@afkafkafk13
Copy link
Collaborator

I would like to also ping @ooinaruhugh here, who authored #3821 and mentioned further contributions there.
He should definitely stay in the loop.

@YueRen
Copy link
Member

YueRen commented Feb 28, 2025

Thanks for the ping, I will give it a spin. Assuming it works well (and I have no reason to assume otherwise), I personally wouldn't mind having it as an alternative strategy for groebner_basis (with a small warning that it is currently experimental):
https://docs.oscar-system.org/stable/CommutativeAlgebra/GroebnerBases/groebner_bases/#groebner_basis-Tuple%7BMPolyIdeal%7D

@fingolfin
Copy link
Member Author

We (@fieker and me) have a student who could work on implementing polynomial reduction with respect to "arbitrary" monomial orderings (including those with large weights that don't fit into a machine int). As far as I understand this is an important missing step. Once he is finished with that he could also work on additional aspects.

I am posting this here to make sure we don't conflict with work on this, but if anyone already started working on such reduction code in the meantime, or if you have any other comments, please let us know.

@fpnowell
Copy link
Contributor

Hi all, thanks for the ping. Yes, @ooinaruhugh and I assume that larger integer vectors are truncated upon passing to singular, but do not see a way around this without rewriting normal_form. Neither of us plan to work on this in the near future.

For the generic walk, our polynomial reduction with respect to a marked Gröbner basis currently uses naive division. I can think of several improvements, but do not know when I will get around to trying them out. Generally, I imagine more marked Gröbner basis functionality (similar to M2's markedGB) could be of great interest to others.

More information on the current state is available in our preprint: https://arxiv.org/abs/2503.09254

@ooinaruhugh
Copy link
Contributor

Hi all, I apologise for my late answer.
I was quite occupied with finishing a project and preparing for a conference.

@fingolfin What exactly do you have in mind in terms of "arbitrary" monomial orderings? For us, the data we have for a marked Gröbner basis are just polynomials with designated leading term. The glaring issue about our implementation as @fpnowell mentioned that our division algorithm for those marked Gröbner bases is just the naive one.

I'm very interested on what you have in mind with your student, so I'd like to discuss your plans more in detail.

@ooinaruhugh
Copy link
Contributor

Thanks for the ping, I will give it a spin. Assuming it works well (and I have no reason to assume otherwise), I personally wouldn't mind having it as an alternative strategy for groebner_basis (with a small warning that it is currently experimental): https://docs.oscar-system.org/stable/CommutativeAlgebra/GroebnerBases/groebner_bases/#groebner_basis-Tuple%7BMPolyIdeal%7D

I also thought of this but there is this slight issue of different input data, since the Gröbner walk needs a starting term order and a target term order. I suppose to make this an alternate strategy for groebner_basis we can use the default_ordering of the defining polynomial ring as a default (just leaving this as a suggestion)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

5 participants