Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

sage does not calculate genus of generic projective plane curves #12851

Open
sagetrac-mariah mannequin opened this issue Apr 17, 2012 · 2 comments
Open

sage does not calculate genus of generic projective plane curves #12851

sagetrac-mariah mannequin opened this issue Apr 17, 2012 · 2 comments

Comments

@sagetrac-mariah
Copy link
Mannequin

sagetrac-mariah mannequin commented Apr 17, 2012

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

CC: @mminzlaff

Component: algebraic geometry

Issue created by migration from https://trac.sagemath.org/ticket/12851

@sagetrac-mariah sagetrac-mariah mannequin added this to the sage-5.11 milestone Apr 17, 2012
@sagetrac-mariah sagetrac-mariah mannequin assigned aghitza Apr 17, 2012
@jdemeyer jdemeyer modified the milestones: sage-5.11, sage-5.12 Aug 13, 2013
@sagetrac-vbraun-spam sagetrac-vbraun-spam mannequin modified the milestones: sage-6.1, sage-6.2 Jan 30, 2014
@sagetrac-jakobkroeker
Copy link
Mannequin

sagetrac-jakobkroeker mannequin commented Apr 4, 2014

comment:4

Not sure if the following is equivalent Singular-source,
but if, it works for recent Singular:

ring rng = (0,a,b),(x,y,z),dp;
poly f = a*(x^3 + y^3 + z^3) + b*x*y*z;
genus(f); // 1

However, Singular's genus() is still not bugfree:
http://www.singular.uni-kl.de:8002/trac/ticket/259

@sagetrac-vbraun-spam sagetrac-vbraun-spam mannequin modified the milestones: sage-6.2, sage-6.3 May 6, 2014
@sagetrac-vbraun-spam sagetrac-vbraun-spam mannequin modified the milestones: sage-6.3, sage-6.4 Aug 10, 2014
@slel
Copy link
Member

slel commented Jul 28, 2016

comment:7

Replying to @sagetrac-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

@mkoeppe mkoeppe removed this from the sage-6.4 milestone Dec 29, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants