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)"