Ticket #11526 (closed defect: fixed)
count_points() error for generic schemes. (includes patch)
| Reported by: | mmarco | Owned by: | AlexGhitza |
|---|---|---|---|
| Priority: | major | Milestone: | sage-4.8 |
| Component: | algebraic geometry | Keywords: | |
| Cc: | Work issues: | ||
| Report Upstream: | N/A | Reviewers: | Johan Bosman, Julian Rueth |
| Authors: | Miguel Marco, David Eklund, Frithjof Schulze | Merged in: | sage-4.8.alpha4 |
| Dependencies: | Stopgaps: |
Description (last modified by saraedum) (diff)
sage raises an error when trying to count the number of points of a subscheme of an affine scheme.
See, for instance:
sage: F=FiniteField(3)
sage: R.<x,y>=F[]
sage: A=AffineSpace(F,2)
sage: I=R.ideal(x^2-y^2-1)
sage: S=A.subscheme(I)
sage: S.count_points(2)
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
/home/mmarco/sage-4.6.2/<ipython console> in <module>()
/usr/lib64/python2.7/site-packages/sage/schemes/generic/scheme.py in count_points(self, n)
531 F1 = GF(q**i, name='z')
532 S1 = self.base_extend(F1)
--> 533 a.append(len(S1.rational_points()))
534 return(a)
535
/usr/lib64/python2.7/site-packages/sage/schemes/generic/algebraic_scheme.py in rational_points(self, F, bound)
1129 raise TypeError, "Unable to enumerate points over %s."%F
1130 try:
-> 1131 return X.points()
1132 except TypeError:
1133 raise TypeError, "Unable to enumerate points over %s."%F
/usr/lib64/python2.7/site-packages/sage/schemes/generic/homset.py in points(self, B)
162 except TypeError:
163 raise TypeError, "Domain of argument must be of the form Spec(S)."
--> 164 if is_RationalField(R) or R == Z:
165 if not B > 0:
166 raise TypeError, "A positive bound B (= %s) must be specified."%B
NameError: global name 'Z' is not defined
Apply:
Attachments
Change History
comment:3 Changed 19 months ago by davideklund
The patch makes sense, it fixes a bug in the method points() of the class SchemeHomset?_affine_coordinates.
Note: the same typo (Z instead of ZZ) seems to occur in the method points() of the class SchemeHomset?_projective_coordinates_ring, which is not implemented yet.
Changed 19 months ago by davideklund
-
attachment
trac_11526_bugfix_with_doctest.patch
added
In addition to fixing the bug, the patch includes a doctest illustrating this.
comment:4 Changed 19 months ago by davideklund
- Description modified (diff)
The patch trac_11526_bugfix_with_doctest.patch was made using Sage 4.7.1.
comment:5 Changed 19 months ago by johanbosman
- Status changed from needs_review to needs_work
Now that you're working on the docstring anyway, it would be good to add INPUT and OUTPUT sections to it, as is the standard convention.
Changed 18 months ago by davideklund
-
attachment
trac_11526_bugfix_with_docstring.patch
added
In addition to earlier changes, the patch includes INPUT and OUTPUT info.
comment:6 Changed 18 months ago by davideklund
- Status changed from needs_work to needs_review
- Description modified (diff)
The patch trac_11526_bugfix_with_docstring.patch was made using Sage 4.7.1.
Changed 18 months ago by fschulze
-
attachment
trac_11526_bugfix_with_docstring.2.patch
added
The same patch as above together with the fix in the projective case.
Changed 18 months ago by saraedum
-
attachment
trac_11526_final.patch
added
fixes the bug (also for the projective case), docstring with Input and Output.
comment:7 Changed 18 months ago by saraedum
- Status changed from needs_review to positive_review
- Reviewers set to Johan Bosman, Julian Rueth
- Description modified (diff)
- Authors changed from Miguel Marco to Miguel Marco, davideklund, Frithjof Schulze
Apply trac_11526_final.patch
Tested against sage-4.8.alpha3 and doctests pass.
trac_11526_final.patch is identical to [trac_11526_bugfix_with_docstring.2.patch] except for the commit message which I replaced with something that makes hopefully more sense to somebody who does not know this ticket.
We still don't have a docstring for SchemeHomset?_projective_coordinates_ring.points() but I guess that is acceptable since there wasn't any before and it's not implemented anyway.
I'm unsure if "Reviewers" should only mention the person who clicked "positive review" or everybody who was part of the review process. Anyway, I added some authors and reviewers, I hope nobody minds.
Btw. davideklund, your name is not in the AccountNamesMappedtoRealNames? on the trac wiki start page.
comment:9 Changed 18 months ago by jdemeyer
- Status changed from positive_review to closed
- Resolution set to fixed
- Merged in set to sage-4.8.alpha4
comment:10 Changed 16 months ago by jdemeyer
- Authors changed from Miguel Marco, davideklund, Frithjof Schulze to Miguel Marco, David Eklund, Frithjof Schulze
