Ticket #13976 (closed defect: fixed)

Opened 5 months ago

Last modified 5 months ago

Problem in the return type of BooleanIdeal.variety()

Reported by: Bouillaguet Owned by: malb
Priority: major Milestone: sage-5.7
Component: commutative algebra Keywords:
Cc: malb, AlexanderDreyer Work issues:
Report Upstream: N/A Reviewers: Martin Albrecht
Authors: Charles Bouillaguet Merged in: sage-5.7.beta1
Dependencies: Stopgaps:

Description

One can do:

sage= R.<x,y,z> = GF(2)[]
sage: I = ideal( [ x*y*z + x*z + y + 1, x+y+z+1] )
sage: sols = (I+sage.rings.ideal.FieldIdeal(R)).variety()
sage: sols
[{y: 1, z: 0, x: 0}, {y: 1, z: 1, x: 1}]

sage: sols[0][y]
1

Now the same thing fails in BooleanRing's:

sage: R.<x,y,z> = BooleanPolynomialRing()
sage: I = ideal( [ x*y*z + x*z + y + 1, x+y+z+1] )
sage: sols = I.variety()
sage: sols
[{y: 1, z: 0, x: 0}, {y: 1, z: 1, x: 1}]

sage: sols[0][y]
Traceback (most recent call last):
...
KeyError: y

This is caused by an ugly hack (I authored...) in #13103 to make the variety() function work on BooleanIdeal's.

Attachments

13976_variety_again.patch Download (4.3 KB) - added by Bouillaguet 5 months ago.

Change History

Changed 5 months ago by Bouillaguet

comment:1 Changed 5 months ago by Bouillaguet

  • Status changed from new to needs_review
  • Authors set to Charles Bouillaguet

comment:2 Changed 5 months ago by malb

  • Status changed from needs_review to positive_review
  • Reviewers set to Martin Albrecht

Looks okay.

comment:3 Changed 5 months ago by AlexanderDreyer

Nice patch, and Thank you for your great supporting work, Charles!

comment:4 Changed 5 months ago by jdemeyer

  • Status changed from positive_review to closed
  • Resolution set to fixed
  • Merged in set to sage-5.7.beta1
Note: See TracTickets for help on using tickets.