-
Notifications
You must be signed in to change notification settings - Fork 129
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
Gröbner basis for modules #4303
Comments
Conversion from Oscar to Singular orderings for modules is missing. |
@jankoboehm If it were missing in total, i.e. would throw an error, it were significantly less dangerous than the current state. Right now, it appears to be working at first glance and you only see at a closer look that there is even an inconsistency between taking the |
@afkafkafk13 that is not so easy. We have mathematical data structures, e.g. modules, which we can ask mathematical questions (perhaps the underlying question can be handled this way as an short term fix) and get as far as we know correct answers. For modules these homological questions are over various rings internally translated directly or indirectly to Gröbner basis questions to answer these questions. So throwing an error might make this machine inoperable. So I think, as we have observed multiple times, someone has to pick up on the module orderings since the original author (Daniel) is not here any more. There is to some extent a conversion function singular(ord::ModuleOrdering), so this is probably not so difficult, one has to understand what is there. Some things to take into account that come to my mind: Oscar orderings can be used in a two-fold way: Do comparisons on the Oscar side, translate the ordering to Singular to do computations there. Some questions can in principle be addressed in both ways and have to give consistent answers. Some orderings created on the Oscar side might not have a direct Singular counterpart and would have to use a matrix ordering. |
@jankoboehm I am fully aware of this situation. I do not suggest to throw an error, but I wanted to point out that the current state is even more dangerous (but currently without alternative). |
Describe the bug
While computing some Gröbner bases for modules I encountered some differences between documentation and behaviour in Oscar. It seems like the Gröbner basis is not computed with respect to the requested module ordering. In the example below it looks like during the computation of
groebner_basis
andleading_module
the orderinginvlex(M)*deglex(R)
is replaced bylex(M)*deglex(R)
and therefore does not return a correct result.To Reproduce
Expected behavior
The expected result can currently be computed by the following, mathmatically wrong code by replacing
invlex(M)*deglex(R)
withlex(M)*deglex(R)
.Version Information
Additional context
The same problem also occurs with the orderings
deglex(R)*lex(M)
anddeglex(R)*invlex(M)
.The text was updated successfully, but these errors were encountered: