#12851: sage does not calculate genus of generic projective plane curves
----------------------------------+-----------------------------------------
   Reporter:  mariah              |             Owner:  AlexGhitza
       Type:  enhancement         |            Status:  new       
   Priority:  major               |         Milestone:  sage-5.0  
  Component:  algebraic geometry  |          Keywords:            
Work issues:                      |   Report Upstream:  N/A       
  Reviewers:                      |           Authors:            
  Merged in:                      |      Dependencies:            
   Stopgaps:                      |  
----------------------------------+-----------------------------------------
 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
 }}}

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/12851>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en.

Reply via email to