Skip to content

bug in quotient over quotient ring over QQ #3607

@mikestillman

Description

@mikestillman

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 by f, but // is giving an incorrect answer, it seems. It should be the case that

elem == f * (elem//f) + (elem % f). (edited: changed - to +).
  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...  (edit: change - to +).
  div1 = elem // f
  rem1 = elem % f
  assert(rem1 == 0)
  div1 * f - elem -- should be zero here (edit to add this comment)
  assert(div1 * f == elem) -- fails over QQ, ok over ZZ/32003...

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions