Closed
Description
Define the following polynomial ring, polynomial, and ideal:
sage: term_order = TermOrder('degrevlex', 2) + TermOrder('degrevlex', 2)
sage: K = PolynomialRing(QQ, 'x,y,a0,a1', order=term_order)
sage: x, y, a0, a1 = K.gens()
sage: f = x**3 + x**2*y
sage: m = Ideal(x**4, x**2*y, y**2)
Before #27508, we get an incorrect reduction:
sage: m.reduce(f) == f.reduce(m.groebner_basis())
False
sage: m.reduce(f)
x^3 + x^2*y
sage: f.reduce(m.groebner_basis())
x^3
Singular computes correctly the reduction as x^3
.
The problem is we call singular via libsingular without
asking for tail reduction.
This was fixed in #27508, after which we get correct results:
sage: m.reduce(f) == f.reduce(m.groebner_basis())
True
sage: m.reduce(f)
x^3
sage: f.reduce(m.groebner_basis())
x^3
CC: @dimpase
Component: algebra
Keywords: days94
Reviewer: Dima Pasechnik
Issue created by migration from https://trac.sagemath.org/ticket/18598