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

reduced Groebner basis not unique #12839

Closed
sagetrac-mariah mannequin opened this issue Apr 13, 2012 · 10 comments
Closed

reduced Groebner basis not unique #12839

sagetrac-mariah mannequin opened this issue Apr 13, 2012 · 10 comments

Comments

@sagetrac-mariah
Copy link
Mannequin

sagetrac-mariah mannequin commented Apr 13, 2012

Using sage-4.8

sage: R.<x,y> = PolynomialRing(ZZ)
sage: I = R*[x^2-y, 2*y]
sage: J = R*[x^2+y, 2*y]

I and J are visibly the same ideal, but Sage finds different reduced Groebner bases:

sage: I.groebner_basis()
[x^2 - y, 2*y]
sage: J.groebner_basis()
[x^2 + y, 2*y]
sage: I == J   // should say True
False

Depends on #12802

Component: commutative algebra

Keywords: sd40.5, groebner bases, ideals

Reviewer: John Perry

Issue created by migration from https://trac.sagemath.org/ticket/12839

@sagetrac-mariah sagetrac-mariah mannequin added this to the sage-5.1 milestone Apr 13, 2012
@sagetrac-mariah sagetrac-mariah mannequin assigned malb Apr 13, 2012
@johnperry-math
Copy link

comment:1

Correct me if I am wrong, but you cannot have a reduced Groebner basis over a ring that is not a field. Besides, the ideals are not the same, even if their varieties are.

Singular seems to feel this way:

  • Singular is computing the basis.
  • According to Remark 1.6.14 in A Singular Introduction to Commutative Algebra, if you want to compute a standard basis over a ring which is merely Noetherian (not necessarily a field, as in Definition 1.6.1), you need to have agreement of leading terms (which includes coefficients), not leading monomials.
  • See this answer in the Singular forums.

Macaulay also feels this way:

  • I installed Macaulay2, computed groebner bases for both I and J, and got the same thing singular computes.
  • Macaulay2's webpage implies the same.

Unless I'm wrong, this is not a bug.

Edit: I had ring and field switched in the first sentence.

@johnperry-math
Copy link

comment:2

Replying to @johnperry-math:

Besides, the ideals are not the same, even if their varieties are.

This was a dumb thing to say, & I had doubts almost immediately after hitting the Submit button. In fact, Macaulay2 recognizes I==J, even though it computes different gb's. Singular does not recognize this.

@johnperry-math
Copy link

comment:3

I think I see a way to get this to work.

The first thing that can be tried is whether the groebner bases are equal, which is what we are doing now. If that succeeds, then great.

Otherwise, we can compare by reducing the elements of one groebner basis over the other's groebner basis. If all reductions give us 0, then we return true. Otherwise, we return false.

I think this is related to #12802, and this trick should fix both of them: __lt__ can test if the first is contained in the second, __gt__ can check if the second is contained in the first, and __eq__ checks if both are satisfied.

This would be easy to implement, but is the algorithm I'm outlining correct?

@johnperry-math
Copy link

comment:4

Hello

I'm still of the opinion that what I wrote about reduced Groebner bases in integer rings is correct, given the behavior of Singular and Macaulay2.

That said, the incorrect conclusion that I != J is easily fixed, using the algorithm I outlined. I have uploaded a patch to #12802 that does precisely this.

Assuming that what I've done there is correct, is there a way to mark this patch as a duplicate, or something similar?

@johnperry-math
Copy link

Changed keywords from none to sd40.5, groebner bases, ideals

@williamstein
Copy link
Contributor

comment:6

john_perry: to mark this as a dup:

  1. Set yourself to reviewer
  2. give it positive review
  3. change the milestone to sage-duplicate

William

@johnperry-math
Copy link

Reviewer: john_perry

@johnperry-math
Copy link

comment:7

Replying to @williamstein:

john_perry: to mark this as a dup:

Thx. Since testing equality of ideals is equivalent to testing containment both ways, that's what I'll do.

@jdemeyer
Copy link

Dependencies: #12802

@jdemeyer
Copy link

Changed reviewer from john_perry to John Perry

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants