#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.