id summary reporter owner description type status priority milestone component resolution keywords cc merged author reviewer upstream work_issues branch commit dependencies stopgaps
27508 Force tail reduction in polynomial quotient ring gh-rachelplayer dimpase "I'd like to ""remove squares"" in some polynomials living in a polynomial ring over `QQ`, in 2 variables: `x`,`y`. I tried to implement this by modding out by the ideal `(x^2 - x, y^2 - y)`. Depending on the ordering, the result of `.mod()` does not always output the polynomial I am looking for.
Without specifying an ordering, everything seems fine:
{{{
#!python
sage: R1. = PolynomialRing(QQ, 2)
sage: I1 = R1.ideal([""x^2 - x"", ""y^2 - y""])
sage: R1(""x^2 + y"").mod(I1)
x + y
sage: R1(""x + y^2"").mod(I1)
x + y
}}}
However, when specifying the order `lex` the reduction of `x + y^2` is not as expected:
{{{
#!python
sage: R2. = PolynomialRing(QQ, 2, order=""lex"")
sage: I2 = R2.ideal([""x^2 - x"", ""y^2 - y""])
sage: R2(""x^2 + y"").mod(I2)
x + y
sage: R2(""x + y^2"").mod(I2)
x + y^2
}}}
This issue was reported in [[https://groups.google.com/forum/#!topic/sage-support/80Scc9pTkPM|sage-support]] where it was pointed out that it is likely a bug in Singular, or in the Singular interface to Sage.
In particular, using the order `lex` works when `implementation=""generic""` is also specified:
{{{
#!python
sage: R3. = PolynomialRing(QQ, 2, order=""lex"", implementation=""generic"")
sage: I3 = R3.ideal([""x^2 - x"", ""y^2 - y""])
sage: R3(""x^2 + y"").mod(I3)
x + y
sage: R3(""x + y^2"").mod(I3)
x + y
}}}
For reference, I am using Sage version 8.6 on macOS Mojave 10.14.3.
PS. see also https://groups.google.com/d/msg/sage-devel/K49-V3BbWbg/pxuoehPvAAAJ" defect closed major sage-9.1 commutative algebra fixed multivariate polynomial, quotient ring, singular SimonKing malb gh-mwageringel Dima Pasechnik Markus Wageringel N/A 21e4f9a36e9c86c8db260d5ee77b648f5803a670