Opened 10 years ago
Last modified 6 years ago
#12851 new enhancement
sage does not calculate genus of generic projective plane curves
Reported by: | mariah | Owned by: | AlexGhitza |
---|---|---|---|
Priority: | major | Milestone: | sage-6.4 |
Component: | algebraic geometry | Keywords: | |
Cc: | minz | Merged in: | |
Authors: | Reviewers: | ||
Report Upstream: | N/A | Work issues: | |
Branch: | Commit: | ||
Dependencies: | Stopgaps: |
Description
sage-4.8 gives the following:
sage: R.<a,b> = PolynomialRing(QQ, 2) sage: K.<a,b> = FractionField(R) sage: R.<x,y,z> = PolynomialRing(K, 3) sage: f = a*(x^3 + y^3 + z^3) + b*x*y*z sage: E = Curve(f) sage: type(E) <class 'sage.schemes.plane_curves.projective_curve.ProjectiveCurve_generic'> sage: print E.genus() --------------------------------------------------------------------------- TypeError Traceback (most recent call last) /home/mariah/sage/sage-4.8-x86_64-Linux-core2-fc/<ipython console> in <module>() /home/mariah/sage/sage-4.8-x86_64-Linux-core2-fc/local/lib/python2.6/site-packages/sage/schemes/plane_curves/curve.pyc in genus(self) 88 The geometric genus of the curve. 89 """ ---> 90 return self.geometric_genus() 91 92 def geometric_genus(self): /home/mariah/sage/sage-4.8-x86_64-Linux-core2-fc/local/lib/python2.6/site-packages/sage/schemes/plane_curves/curve.pyc in geometric_genus(self) 129 return self.__genus 130 except AttributeError: --> 131 self.__genus = self.defining_ideal().genus() 132 return self.__genus 133 /home/mariah/sage/sage-4.8-x86_64-Linux-core2-fc/local/lib/python2.6/site-packages/sage/rings/polynomial/multi_polynomial_ideal.pyc in __call__(self, *args, **kwds) 599 if not R.base_ring().is_field(): 600 raise ValueError("Coefficient ring must be a field for function '%s'."%(self.f.__name__)) --> 601 return self.f(self._instance, *args, **kwds) 602 603 require_field = RequireField /home/mariah/sage/sage-4.8-x86_64-Linux-core2-fc/local/lib/python2.6/site-packages/sage/rings/polynomial/multi_polynomial_ideal.pyc in genus(self) 1638 import sage.libs.singular 1639 genus = sage.libs.singular.ff.normal__lib.genus -> 1640 self.__genus = Integer(genus(self)) 1641 return self.__genus 1642 /home/mariah/sage/sage-4.8-x86_64-Linux-core2-fc/local/lib/python2.6/site-packages/sage/libs/singular/function.so in sage.libs.singular.function.SingularFunction.__call__ (sage/libs/singular/function.cpp:10114)() TypeError: Cannot call Singular function 'genus' with ring parameter of type '<class 'sage.rings.polynomial.multi_polynomial_ring.MPolynomialRing_polydict_domain'>' sage:
The equivalent Magma code (which works) is:
K<a,b> := FunctionField(Rationals(), 2); R<x, y, z> := PolynomialRing(K, 3); P2 := ProjectiveSpace(R); f := a*(x^3 + y^3 + z^3) + b*x*y*z; E := Curve(P2, f); Genus(E); // returns 1
Change History (7)
comment:1 Changed 10 years ago by
- Cc minz added
comment:2 Changed 9 years ago by
- Milestone changed from sage-5.11 to sage-5.12
comment:3 Changed 8 years ago by
- Milestone changed from sage-6.1 to sage-6.2
comment:4 follow-up: ↓ 7 Changed 8 years ago by
comment:5 Changed 8 years ago by
- Milestone changed from sage-6.2 to sage-6.3
comment:6 Changed 8 years ago by
- Milestone changed from sage-6.3 to sage-6.4
comment:7 in reply to: ↑ 4 Changed 6 years ago by
Replying to jakobkroeker:
However, Singular's genus() is still not bugfree: http://www.singular.uni-kl.de:8002/trac/ticket/259
Singular bug 259 appears to be fixed: https://www.singular.uni-kl.de:8005/trac/ticket/259
Note: See
TracTickets for help on using
tickets.
Not sure if the following is equivalent Singular-source, but if, it works for recent Singular:
However, Singular's genus() is still not bugfree: http://www.singular.uni-kl.de:8002/trac/ticket/259