# Sagemath refuses to load singular curve

I know that this below Elliptic curve is singular at $(23796,0)$

F = GF(23981)
E = EllipticCurve(F,[0, 0, 0, 17230, 22699])


Since

$\frac{\partial f}{\partial x} = 3x^2 + 17230 =0 \pmod p$ and vanishes at $x={185,23796}$ and $(185,0)$ not on the curve.

$\frac{\partial f}{\partial y} = -2y = 0 \pmod p$ and vanishes at $y=0$

I'm trying to define this curve to plot but SageMath gives the error;

ArithmeticError: invariants (0, 0, 0, 17230, 22699) define a singular curve

How can I plot this curve?

edit retag close merge delete

Sort by » oldest newest most voted

You can define the curve easily; just not as an elliptic curve, because being nonsingular is part of their definition.

sage: F = GF(23981)
sage: A.<x,y>=F[]
sage: C=Curve(y^2-(x^3+17230*x+22699))


Plotting a curve over a finite field will be difficult and probably uninsightful.

more

When I try to plot, I've the following error NotImplementedError: plotting of curves over Finite Field of size 23981 is not implemented yet

What picture do you expect? What do you think you'll be able to tell from the picture?

The shape of the singular point. Cusp or node. Of course, when drawing over the finite field, we got only point. Should I look at the curve over Q?

F['x'](x^3+17230*x+22699).factor() gives (x + 23611) * (x + 185)^2. it's a node. The "picture" that you're used to over the reals doesn't apply over other fields (well ... for subfields over the reals it still helps a bit). We only use the same terminology over other fields because we have algebraic characterizations of the different types of singularities.

In this case, using the tangent cone is probably the easiest: move the singularity to the origin:

sage: f=y^2-(x^3+17230*x+22699)
sage: f(x-185,y)
-x^3 + 555*x^2 + y^2


You can see that the lowest degree non-zero homogeneous part is 555*x^2+y^2. Its degree is larger than 1, so no single tangent line: singular point. The form you do get does not have repeated roots, so the singularity is a node (of degree 2).