It is quite likely that the implementation of Jacobian for plane cubics does not work in characteristic 3 (at least in general). I had something to do with early implementations but then it was all rewritten in terms of Jacobians, so I cannot remember the details. Perhaps Volker Braun can comment. You yourself can look at the code which is run to see what you think -- and of course you are more than welcome to add code for char. 3.
John Cremona On 9 May 2014 12:16, Gabriel Furstenheim Milerud <[email protected]>wrote: > I'd like to create an elliptic curve from a degree 3 polynomial without a > base point, but when I use the Jacobian method I get a "division by zero" > error. > > This is my data: > A=GF(3^2,'c') > S.<a,b,c>=A[] > gS=a^3 - a^2*b + b^3 - a^2*c - a*b*c + b^2*c + a*c^2 + b*c^2 + c^3 > Jacobian(gS) > > My intuition is that Jacobian tries to compute a short Weierstrass > polynomial and this is not necessarily possible in characteristic 3 (I > didn't have any problem in characteristic 5). I also checked that the curve > was smooth, so it is indeed genus 1 > > Is there any way to make it work? > > > This is the error I get: > > "Traceback (most recent call last): > File "sag.py", line 16, in <module> > Jacobian(gS) > File > "/usr/lib/sagemath/local/lib/python2.7/site-packages/sage/schemes/elliptic_curves/jacobian.py", > line 116, in Jacobian > return Jacobian_of_equation(X, **kwds) > File > "/usr/lib/sagemath/local/lib/python2.7/site-packages/sage/schemes/elliptic_curves/jacobian.py", > line 225, in Jacobian_of_equation > f, g = WeierstrassForm(polynomial, variables=variables) > File > "/usr/lib/sagemath/local/lib/python2.7/site-packages/sage/schemes/toric/weierstrass.py", > line 506, in WeierstrassForm > return WeierstrassForm_P2(polynomial, variables) > File > "/usr/lib/sagemath/local/lib/python2.7/site-packages/sage/schemes/toric/weierstrass.py", > line 771, in WeierstrassForm_P2 > S = cubic.S_invariant() > File > "/usr/lib/sagemath/local/lib/python2.7/site-packages/sage/rings/invariant_theory.py", > line 1769, in S_invariant > a,b,c,a2,a3,b1,b3,c1,c2,m = self.scaled_coeffs() > File > "/usr/lib/sagemath/local/lib/python2.7/site-packages/sage/rings/invariant_theory.py", > line 1753, in scaled_coeffs > 1/F(3)*a[3], 1/F(3)*a[4], 1/F(3)*a[5], > File "element.pyx", line 1813, in > sage.structure.element.RingElement.__div__ (sage/structure/element.c:15219) > File "coerce.pyx", line 783, in > sage.structure.coerce.CoercionModel_cache_maps.bin_op > (sage/structure/coerce.c:7325) > File "element.pyx", line 1811, in > sage.structure.element.RingElement.__div__ (sage/structure/element.c:15198) > File "element_givaro.pyx", line 1201, in > sage.rings.finite_rings.element_givaro.FiniteField_givaroElement._div_ > (sage/rings/finite_rings/element_givaro.cpp:10695)" > > -- > You received this message because you are subscribed to the Google Groups > "sage-support" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/sage-support. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "sage-support" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/sage-support. For more options, visit https://groups.google.com/d/optout.
