-
Notifications
You must be signed in to change notification settings - Fork 236
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
bug in quotient over quotient ring over QQ #3607
Labels
Comments
elem//f is a quotient.
elem%f is a remainder.
So elem=q*f+r not q*f-r.
Doug
…________________________________
From: Mike Stillman ***@***.***>
Sent: Monday, December 9, 2024 1:13 PM
To: Macaulay2/M2 ***@***.***>
Cc: Douglas Leonard ***@***.***>; Mention ***@***.***>
Subject: [EXT] [Macaulay2/M2] bug in quotient over quotient ring over QQ (Issue #3607)
CAUTION: Email Originated Outside of Auburn.
Here is a bug which I uncovered while chasing down a bug in integralClosure communicated by @Douglas-Leonard<https://github.com/Douglas-Leonard>.
The product elem is in the ideal generated by f, but // is giving an incorrect answer, it seems. It should be the case that
elem == f * (elem//f) - (elem % f)
S = QQ[w_(3,0)..w_(3,3), y, x, MonomialOrder => {GRevLex => {2:5, 2:6}, GRevLex => {2:1}}]
-- the following is not a bug mod 32003!! Using the ring on the next line gives the correct answer.
-- S = ZZ/32003[w_(3,0)..w_(3,3), y, x, MonomialOrder => {GRevLex => {2:5, 2:6}, GRevLex => {2:1}}]
I = ideal(
w_(3,0)*y^2+w_(3,0)*x-w_(3,1)*y*x+20*x^4,
4*w_(3,0)*y+w_(3,1)*y^2+w_(3,1)*x-x^7+96*y*x^3,
w_(3,3)*y+w_(3,0)*y*x^2-w_(3,1)*x^3+y^4-16*y^2*x,
w_(3,2)*x-20*w_(3,1)*y-5*y^6+51*y^4*x-336*y^2*x^2+80*x^3,
w_(3,2)*y-5*w_(3,3)*x+20*x^6+y^5-16*y^3*x+160*y*x^2,
-5*w_(3,0)*y^3-w_(3,0)*y*x+6*w_(3,1)*y^2*x+w_(3,1)*x^2-x^8-4*y*x^4,
4*w_(3,0)*y^2+w_(3,1)*y^3+w_(3,1)*y*x-y*x^7+96*y^2*x^3,
w_(3,0)^2*y^2-2*w_(3,0)*w_(3,1)*y*x+w_(3,1)^2*x^2+8*w_(3,0)*y^2*x^3-8*w_(3,1)*y*x^4-y^4*x^5+16*y^2*x^6,
-w_(3,0)*w_(3,1)*y+w_(3,1)^2*x+8*w_(3,0)*y^4*x-12*w_(3,0)*y^2*x^2-8*w_(3,1)*y^3*x^2+12*w_(3,1)*y*x^3-y^6*x^3+15*y^4*x^4+16*y^2*x^5,
-w_(3,0)^2*y+w_(3,0)*w_(3,1)*x+8*w_(3,0)*y^3*x^2-20*w_(3,0)*y*x^3-8*w_(3,1)*y^2*x^3+20*w_(3,1)*x^4-y^5*x^4+16*y^3*x^5,
w_(3,1)^2-72*w_(3,0)*y^4-40*w_(3,0)*y^2*x+72*w_(3,1)*y^3*x+40*w_(3,1)*y*x^2-y^8*x-8*y*x^8+14*y^6*x^2-129*y^4*x^3-416*y^2*x^4,
w_(3,0)*w_(3,1)-80*w_(3,0)*y^3*x-28*w_(3,0)*y*x^2+80*w_(3,1)*y^2*x^2+28*w_(3,1)*x^3-y^7*x^2-8*x^9+15*y^5*x^3-144*y^3*x^4-432*y*x^5,
w_(3,0)^2+8*w_(3,0)*y^4*x-40*w_(3,0)*y^2*x^2-8*w_(3,1)*y^3*x^2+40*w_(3,1)*y*x^3-y^6*x^3+16*y^4*x^4-400*x^6,
-w_(3,0)*w_(3,1)*y^2+w_(3,1)^2*y*x-60*w_(3,0)*y^3*x^2-8*w_(3,0)*y*x^3+60*w_(3,1)*y^2*x^3+8*w_(3,1)*x^4-y^7*x^3-8*x^10+15*y^5*x^4-144*y^3*x^5-32*y*x^6,
w_(3,1)^2*y+488*w_(3,0)*y^3*x+168*w_(3,0)*y*x^2-488*w_(3,1)*y^2*x^2-72*w_(3,1)*x^3-y^9*x-8*y^2*x^8+14*y^7*x^2+72*x^9-129*y^5*x^3+1024*y^3*x^4+2208*y*x^5,
4*w_(3,0)*w_(3,1)*y+w_(3,0)*y^6-314*w_(3,0)*y^4*x+273*w_(3,0)*y^2*x^2+384*w_(3,0)*x^3-w_(3,1)*y^5*x+314*w_(3,1)*y^3*x^2-273*w_(3,1)*y*x^3-4*y^8*x^2-31*y*x^9+60*y^6*x^3-556*y^4*x^4-1724*y^2*x^5+7680*x^6,
-w_(3,0)*w_(3,3)*y+w_(3,1)*w_(3,3)*x-161*w_(3,0)*y^4-16*w_(3,0)*y^2*x+161*w_(3,1)*y^3*x+16*w_(3,1)*y*x^2-y^3*x^7-8*y^8*x-48*y*x^8+80*y^6*x^2-520*y^4*x^3-128*y^2*x^4,
-w_(3,0)*w_(3,2)*y+w_(3,1)*w_(3,2)*x-383*w_(3,0)*y^3*x-159*w_(3,0)*y*x^2+383*w_(3,1)*y^2*x^2+159*w_(3,1)*x^3-5*y^2*x^8-20*y^7*x^2-79*x^9+200*y^5*x^3-1280*y^3*x^4-316*y*x^5,
20*w_(3,1)*w_(3,3)+160*w_(3,0)*y^3*x^3-261*w_(3,0)*y*x^4+256*w_(3,0)*y^2-160*w_(3,1)*y^2*x^4+261*w_(3,1)*x^5-256*w_(3,1)*y*x-20*y^5*x^5+300*y^3*x^6-21*y^8+172*y*x^7+210*y^6*x-1365*y^4*x^2+6144*y^2*x^3,
w_(3,0)*w_(3,3)+1350*w_(3,0)*y^3+241*w_(3,0)*y*x-1350*w_(3,1)*y^2*x-241*w_(3,1)*x^2-y^4*x^6-8*y^9-48*y^2*x^7+100*y^7*x+321*x^8-720*y^5*x^2+4372*y^3*x^3+1284*y*x^4,
w_(3,1)*w_(3,2)+3756*w_(3,0)*y^3+624*w_(3,0)*y*x-3756*w_(3,1)*y^2*x-624*w_(3,1)*x^2-5*y^4*x^6-20*y^9-84*y^2*x^7+280*y^7*x+704*x^8-2100*y^5*x^2+12784*y^3*x^3+1216*y*x^4,
w_(3,0)*w_(3,2)-783*w_(3,0)*y^4-559*w_(3,0)*y^2*x+783*w_(3,1)*y^3*x+559*w_(3,1)*y*x^2-5*y^3*x^7-20*y^8*x-79*y*x^8+300*y^6*x^2-2300*y^4*x^3-1596*y^2*x^4-1600*x^5,
w_(3,1)^2*y^2+584*w_(3,0)*y^4*x+264*w_(3,0)*y^2*x^2-584*w_(3,1)*y^3*x^2-72*w_(3,1)*y*x^3-y^10*x-8*y^3*x^8+14*y^8*x^2+72*y*x^9-129*y^6*x^3+1024*y^4*x^4+4128*y^2*x^5,
w_(3,1)*w_(3,3)*y+96*w_(3,3)*x^3+8*w_(3,0)*y^4*x^3-3421*w_(3,0)*y^3-645*w_(3,0)*y*x-8*w_(3,1)*y^3*x^4+3421*w_(3,1)*y^2*x+645*w_(3,1)*x^2-y^6*x^5+15*y^4*x^6+12*y^9+113*y^2*x^7-216*y^7*x-1029*x^8+1740*y^5*x^2-10848*y^3*x^3-4116*y*x^4,
w_(3,1)*w_(3,2)*y+96*w_(3,2)*x^3+5676*w_(3,0)*y^4+2544*w_(3,0)*y^2*x-5676*w_(3,1)*y^3*x-2544*w_(3,1)*y*x^2-5*y^5*x^6-20*y^10-84*y^3*x^7+280*y^8*x+704*y*x^8-2580*y^6*x^2+17680*y^4*x^3+7360*y^2*x^4+7680*x^5,
w_(3,3)^2-162*w_(3,0)*y^3*x^2+162*w_(3,1)*y^2*x^3-y^2*x^9-8*y^7*x^3-48*x^10+80*y^5*x^4-520*y^3*x^5-128*y*x^6-y^6+32*y^4*x-256*y^2*x^2,
w_(3,2)*w_(3,3)+79*w_(3,0)*y^4*x^2+86*w_(3,0)*y^2*x^3-79*w_(3,1)*y^3*x^3-86*w_(3,1)*y*x^4-5*y*x^10-20*y^6*x^4+200*y^4*x^5+280*y^2*x^6-y^7+320*x^7+27*y^5*x-256*y^3*x^2+1280*y*x^3,
w_(3,2)^2-10*w_(3,0)*y^3*x^3+270*w_(3,0)*y*x^4-2560*w_(3,0)*y^2+10*w_(3,1)*y^2*x^4-270*w_(3,1)*x^5+2560*w_(3,1)*y*x-25*x^11-40*y^3*x^6+159*y^8+1720*y*x^7-778*y^6*x+2119*y^4*x^2-7680*y^2*x^3-6400*x^4,
x^13-y^12-8*y^5*x^7+4*y^10*x-8*y^3*x^8-6*y^8*x^2+4*y^6*x^3-y^4*x^4
)
R = S/I
H = matrix {{x^8+20*y^3*x^3+4*y*x^4, y^3*x^6+5*y*x^7+96*y^2*x^3+16*x^4, w_(3,1)*y*x^4-116*w_(3,1)*y^2-20*w_(3,1)*x+40*y^2*x^6+4*x^7-4560*y^3*x^2-784*y*x^3, 5*w_(3,1)*y^2*x^3+29*w_(3,1)*x^4+16*w_(3,1)*y+84*y^3*x^5+484*y*x^6+640*y^2*x^2+64*x^3, 4*w_(3,3)*x+5*w_(3,1)*y^3*x^2+29*w_(3,1)*y*x^3-20*y^2*x^5-100*x^6+4*y^3*x-64*y*x^2}}
f = y^4+6*y^2*x+x^2
elem = H_(0,1) * H_(0,4)
assert(elem == f * (elem//f) - (elem % f)) -- fails over QQ, ok over ZZ/32003...
div1 = elem // f
rem1 = elem % f
assert(rem1 == 0)
div1 * f - elem
assert(div1 * f == elem) -- fails over QQ, ok over ZZ/32003...
—
Reply to this email directly, view it on GitHub<#3607>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/ABFN3FESMBMVWU7ZGKCPHD32EXTWLAVCNFSM6AAAAABTJQQ7PKVHI2DSMVQWIX3LMV43ASLTON2WKOZSG4ZDQMBQG44DQNQ>.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
oops, typo on my part. I will edit/check the result. In this example, the remainder is zero, so the sign didn't enter into it. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Here is a bug which I uncovered while chasing down a bug in integralClosure communicated by @Douglas-Leonard.
The product
elem
is in the ideal generated byf
, but//
is giving an incorrect answer, it seems. It should be the case thatThe text was updated successfully, but these errors were encountered: