On vanishing product in ZZ[x,y].quotient([(2*x)^2,(3*y)^2])

48 views
Skip to first unread message

Georgi Guninski

unread,
Nov 25, 2025, 9:23:28 AM (8 days ago) Nov 25
to sage-...@googlegroups.com
I am looking for rings with many degree $d$ nilpotent elements and
non-zero product, for detail check [1].

While working over ZZ[x,y] I noticed this, is it a bug?

sage: Kx.<x,y>=ZZ[];Kquo.<w1,w2>=Kx.quotient([(2*x)^2,(3*y)^2])
sage: w1^2
w1^2
sage: w1*w2
w1*w2
sage: (w1*w2)^2
0 #why zero???
sage: ((x*y)^2).reduce(Ideal([(2*x)^2,(3*y)^2]))
x^2*y^2
sage:

[1]: https://mathoverflow.net/questions/504074/many-degree-d-nilpotent-elements-of-quotients-of-polynomial-rings-and-non-vani

Linden Disney

unread,
Nov 26, 2025, 10:05:08 AM (7 days ago) Nov 26
to sage-devel
I expect this is a bug related to https://github.com/sagemath/sage/issues/40301

Georgi Guninski

unread,
Nov 26, 2025, 10:43:22 AM (7 days ago) Nov 26
to sage-...@googlegroups.com
After some discussion on mathoverflow, I think (x*y)^2=0 is not a bug, because
x^2*y^2=x^2*(3*y)2-2*y^2*(2*x)^2

Not sure if the small print of Ideal.reduce() covers:

Nils Bruin

unread,
Nov 26, 2025, 10:44:40 AM (7 days ago) Nov 26
to sage-devel
This difference may be relevant:

R.<x,y> = ZZ[]
I = R.ideal(4*x^2,9*y^2)
I.reduce(x^2*y^2) #correctly returns 0
(x^2*y^2).reduce(I) #does not return 0
(x^2*y^2).reduce(I.groebner_basis()) #does return 0

The documentation of x.reduce suggests that if the argument is an ideal for which sage can compute a strong groebner basis, then the reduction should take place with respect to a strong groebner basis. It looks like it's not doing that. 
Reply all
Reply to author
Forward
0 new messages