Elliptic curves: Difference between revisions

From JSXGraph Wiki
No edit summary
No edit summary
Line 1: Line 1:
An elliptic curve can be written as a plane algebraic curve defined by an equation of the form
An elliptic curve can be written as a plane algebraic curve defined by an equation of the form
:<math>    y^2=x^3+ax+b\,. </math>
:<math>    y^2=x^3+ax+b\,. </math>
== Using `implicitcurve` ==
<jsxgraph width="600" height="400" box="jxgbox">
<jsxgraph width="600" height="400" box="jxgbox">
JXG.Options.axis.strokeColor = '#cccccc';
JXG.Options.axis.strokeColor = '#cccccc';
brd = JXG.JSXGraph.initBoard('jxgbox', {boundingbox: [-15, 10, 15, -10], axis:true});
const board = JXG.JSXGraph.initBoard('jxgbox', {boundingbox: [-15, 10, 15, -10], axis:true});
var b = board.create('slider',[[1,-3],[10,-3],[-10,2.10,10]],{name:'a'});
var a = board.create('slider',[[1,-4],[10,-4],[-10,-9.52,10]],{name:'b'});
 
var c1 = board.create('implicitcurve', [(x, y) => Math.sqrt(x*x*x+a.Value()*x+b.Value())],
        {strokeWidth:3,strokeColor:'black'});
</jsxgraph>
 
== Using two function graphs ==
 
Use
:<math>    y^2=x^3+ax+b \quad\Longrigrtarrow\quad y=\pm\sqrt{x^3+ax+b} </math>
 
This approach is somewhat outdated.
 
<jsxgraph width="600" height="400" box="jxgbox1">
brd = JXG.JSXGraph.initBoard('jxgbox1', {boundingbox: [-15, 10, 15, -10], axis:true});
brd.suspendUpdate();
brd.suspendUpdate();
var b = brd.create('slider',[[1,-3],[10,-3],[-10,2.10,10]],{name:'a'});
var b = brd.create('slider',[[1,-3],[10,-3],[-10,2.10,10]],{name:'a'});
Line 18: Line 37:
JXG.Options.axis.strokeColor = '#cccccc';
JXG.Options.axis.strokeColor = '#cccccc';
brd = JXG.JSXGraph.initBoard('jxgbox', {boundingbox: [-15, 10, 15, -10], axis:true});
brd = JXG.JSXGraph.initBoard('jxgbox', {boundingbox: [-15, 10, 15, -10], axis:true});
brd.suspendUpdate();
var b = brd.create('slider',[[1,-3],[10,-3],[-10,0,10]],{name:'a'});
var b = brd.create('slider',[[1,-3],[10,-3],[-10,0,10]],{name:'a'});
var a = brd.create('slider',[[1,-4],[10,-4],[-10,0,10]],{name:'b'});
var a = brd.create('slider',[[1,-4],[10,-4],[-10,0,10]],{name:'b'});
Line 26: Line 44:
var c2 = brd.create('functiongraph', [function(x){ return -Math.sqrt(x*x*x+a.Value()*x+b.Value()); }],  
var c2 = brd.create('functiongraph', [function(x){ return -Math.sqrt(x*x*x+a.Value()*x+b.Value()); }],  
                       {strokeWidth:3,strokeColor:'black'});
                       {strokeWidth:3,strokeColor:'black'});
brd.unsuspendUpdate();
</source>
</source>



Revision as of 10:02, 8 July 2026

An elliptic curve can be written as a plane algebraic curve defined by an equation of the form

[math]\displaystyle{ y^2=x^3+ax+b\,. }[/math]

Using `implicitcurve`

Using two function graphs

Use

[math]\displaystyle{ y^2=x^3+ax+b \quad\Longrigrtarrow\quad y=\pm\sqrt{x^3+ax+b} }[/math]

This approach is somewhat outdated.

JXG.Options.axis.strokeColor = '#cccccc';
brd = JXG.JSXGraph.initBoard('jxgbox', {boundingbox: [-15, 10, 15, -10], axis:true});
var b = brd.create('slider',[[1,-3],[10,-3],[-10,0,10]],{name:'a'});
var a = brd.create('slider',[[1,-4],[10,-4],[-10,0,10]],{name:'b'});

var c1 = brd.create('functiongraph', [function(x){ return Math.sqrt(x*x*x+a.Value()*x+b.Value()); }],
                       {strokeWidth:3,strokeColor:'black'});
var c2 = brd.create('functiongraph', [function(x){ return -Math.sqrt(x*x*x+a.Value()*x+b.Value()); }], 
                       {strokeWidth:3,strokeColor:'black'});

References