Load the script.
{{{id=1| attach('edstools.sage') /// }}}Create an elliptic divisibility sequence from the initial four terms.
{{{id=2| eds = EDS([1,2,5,6]); eds /// An elliptic divisibility sequence with first terms 1, 2, 5, 6 }}}Display terms or a given term. The computation of term m takes log m time, using a double-and-add approach (Shipsey).
{{{id=4| eds.terms(5) /// [0, 1, 2, 5, 6, -77] }}} {{{id=5| eds.term(5) /// -77 }}} {{{id=35| eds.term(70) /// 9212476084388777940709179716866846893955491828739398292404377201633365614173377701697764470238874055698174684706930575009451462096495396153584650888982056259450083068674547322961835865250628619791687547445532135460932758649421909370265839820696975998889899355827114833433659407598324079467556232328691611705857480612168387037463098136534229399787255794486639259189232928801545945623731314344607835320798 }}}Check for the rank (i.e. the first zero) up to a given bound. This sequence has infinite rank (no zeroes).
{{{id=6| eds.rank(100) /// 'Rank not found' }}}Find a curve and point that correspond to the sequence. You can ask just for given coefficients using functions a, b, c (usual Weierstrass coefficients).
{{{id=7| curve = eds.curve(); curve /// [9/10, 39/20, 2, 1, 0] }}} {{{id=25| eds.a(2) /// 39/20 }}} {{{id=8| point = eds.point(); point /// [0, 0] }}}You can also create a sequence from a curve and point. If we use the curve and point we got above, we get back the original sequence.
{{{id=20| eds /// An elliptic divisibility sequence with first terms 1, 2, 5, 6 }}} {{{id=9| edstwo = EDS(curve, point); edstwo /// An elliptic divisibility sequence with first terms 1, 2, 5, 6 }}}You can ask for j-invariant and discriminant.
{{{id=22| eds.j_invariant() /// 4972104743956839/63788500000000 }}} {{{id=15| E = EllipticCurve(curve); E.j_invariant() /// 4972104743956839/63788500000000 }}}You can create a sequence from twice the point, directly or using the function subsequence.
{{{id=16| P = E(point); 2*P /// (-5/4 : -1/4 : 1) }}} {{{id=17| edsthree = EDS(E, 2*P); edsthree /// An elliptic divisibility sequence with first terms 1, 3/8, -215/128, -50037/32768 }}} {{{id=19| edssub = eds.subsequence(2); edssub /// An elliptic divisibility sequence with first terms 1, 3/8, -215/128, -50037/32768 }}}You can take an equivalent sequence (i.e. scale by a^(n^2-1)).
{{{id=21| eds /// An elliptic divisibility sequence with first terms 1, 2, 5, 6 }}} {{{id=13| eds.equivalent(2) /// An elliptic divisibility sequence with first terms 1, 16, 1280, 196608 }}}