Elliptic Discriminant

Author

Eric W. Weisstein
February 14, 2008

This notebook downloaded from http://mathworld.wolfram.com/notebooks/NumberTheory/EllipticDiscriminant.nb.

For more information, see Eric's MathWorld entry http://mathworld.wolfram.com/EllipticDiscriminant.html.

©2008 Wolfram Research, Inc. except for portions noted otherwise

Initialization

EllipticDiscriminant[eqn_,{x_,y_}]:=Module[
{
a1=Coefficient[eqn,x y],
a3=Coefficient[eqn,y],
a2=-Coefficient[eqn,x,2],
a4=-Coefficient[eqn,x],
a6=-eqn/.{x->0,y->0},
b2,b4,b6,b8
},
b2=a1^2+4a2;
b4=2a4+a1 a3;
b6=a3^2+4a6;
b8=a1^2a6+4a2 a6-a1 a3 a4+a2^2a3^2-a4^2;
-b2^2b8-8b4^3-27b6^2+9b2 b4 b6
]

Examples

Frey Curve

Simplify[
EllipticDiscriminant[
y^2-Expand[x(x-a^p)(x+b^p)],
{x,y}
]
]

Plots

GraphicsGrid[{{ContourPlot[y^2==x^3,{x,0,2},{y,-3,3},ContourShading->None,ContourStyle->Red,Frame->False,Axes->True,Ticks->None,Epilog->Style[Text["cusp",{1,-2.9}],FontSlant->"Italic",FontSize->12],MaxRecursion->5,PlotLabel->y^2==x^3],
ContourPlot[y^2==x^3-3x+2,{x,-2,2},{y,-3,3},ContourShading->None,ContourStyle->Red,Frame->False,Axes->True,Ticks->None,MaxRecursion->5,
Epilog->Style[Text["node",{0,-2.9},Background->White],,FontSlant->"Italic",FontSize->12],
PlotLabel->y^2==x^3-3x+2]
}}]