{{{ E = EllipticCurve('37a') }}} {{{ def rc(): return (random(), random(), random()) v = [plot(E.change_ring(GF(p)), pointsize=50, rgbcolor=rc()) \ for p in primes(60) if p%37] print len(v) /// 16 }}} {{{ show(graphics_array(v,4,4), figsize=(6,6), axes=False, frame=True) }}} {{{ for p in primes(70): print '%4s%4s%4s%6.2f'%(p, E.Np(p), p+1-E.Np(p), float(2*sqrt(p))) /// 2 5 -2 2.83 3 7 -3 3.46 5 8 -2 4.47 7 9 -1 5.29 11 17 -5 6.63 13 16 -2 7.21 17 18 0 8.25 19 20 0 8.72 23 22 2 9.59 29 24 6 10.77 31 36 -4 11.14 37 39 -1 12.17 41 51 -9 12.81 43 42 2 13.11 47 57 -9 13.71 53 53 1 14.56 59 52 8 15.36 61 70 -8 15.62 67 60 8 16.37 }}} {{{ P = E(0,0) }}} {{{ for n in range(15): print n, n*P /// 0 (0 : 1 : 0) 1 (0 : 0 : 1) 2 (1 : 0 : 1) 3 (-1 : -1 : 1) 4 (2 : -3 : 1) 5 (1/4 : -5/8 : 1) 6 (6 : 14 : 1) 7 (-5/9 : 8/27 : 1) 8 (21/25 : -69/125 : 1) 9 (-20/49 : -435/343 : 1) 10 (161/16 : -2065/64 : 1) 11 (116/529 : -3612/12167 : 1) 12 (1357/841 : 28888/24389 : 1) 13 (-3741/3481 : -43355/205379 : 1) 14 (18526/16641 : -2616119/2146689 : 1) }}} {{{ def bsdpic(E, pnts=100, xmin=-1, xmax=4): print "Rank: ", E.rank() print "Generators: ", E.gens() Ld = E.Lseries_dokchitser() print "L-series", Ld.taylor_series(1,5) def L(x): return real(Ld(x)) show(plot(L,xmin,xmax,plot_points=pnts,plot_division=0,rgbcolor=(0,0,1)), xmin=xmin,xmax=xmax) }}} {{{ bsdpic(EllipticCurve('37a')) /// Rank: 1 Generators: [(0 : 0 : 1)] L-series 0.305999773834052*z + 0.186547797268162*z^2 + -0.136791463097188*z^3 + O(z^4) }}} {{{ # A RANK ZERO CURVE bsdpic(EllipticCurve('11a')) /// Rank: 0 Generators: [] L-series 0.253841860855911 + 0.308708533963172*z + 0.0113280542179202*z^2 + -0.0367068776204353*z^3 + O(z^4) }}} {{{ # A RANK TWO CURVE bsdpic(EllipticCurve('389a'),xmin=-0.1) /// Rank: 2 Generators: [(-1 : 1 : 1), (1 : 0 : 1)] L-series -1.28158145691931e-23 + (7.26268290635587e-24)*z + 0.759316500288427*z^2 + -0.430302337583362*z^3 + O(z^4) }}} {{{ # A RANK THREE CURVE bsdpic(EllipticCurve('5077a'), xmin=0) /// Rank: 3 Generators: [(-1 : 3 : 1), (2 : 0 : 1), (4 : 6 : 1)] L-series (-5.63436295355925e-22)*z + (1.04300238022317e-21)*z^2 + 1.73184990011930*z^3 + O(z^4) }}} {{{ # A RANK FOUR CURVE time bsdpic(EllipticCurve([1, -1, 0, -79, 289]), xmin=0.75, xmax=1.2, pnts=2) /// Rank: 4 Generators: [(-10 : 7 : 1), (8 : 7 : 1), (35/4 : 81/8 : 1), (141/16 : 665/64 : 1)] L-series 1.21908525394358e-24 + (-4.59277879927938e-24)*z + (-4.42853958928154e-22)*z^2 + (1.69062426168686e-21)*z^3 + 8.94384739590089*z^4 + O(z^5) Time: CPU 0.29 s, Wall: 18.18 s }}} {{{ }}}