\\ compute the average rank of optimal elliptic curves of conductor <= 5300. \\ cnt counts the number of curves \\ r counts the total rank. \\ assume curves.gp has been loaded. {stats1(stop=0, r,cnt)= r=cnt=0; for(N=1,5300, for(i=1,72, if(E[N,i]==0,break()); cnt++; if(stop && cnt>=stop, return([r,cnt])); r+=E[N,i][2]; ); ); [r,cnt]; } {stats1_uptolevel(stop=0, r,cnt)= r=cnt=0; for(N=1,stop, for(i=1,72, if(E[N,i]==0,break()); cnt++; r+=E[N,i][2]; ); ); [r,cnt]; } {statsprime_uptolevel(stop=0, r,cnt)= r=cnt=0; forprime(N=1,stop, for(i=1,72, if(E[N,i]==0,break()); cnt++; r+=E[N,i][2]; ); ); [r,cnt]; } {stats_prime(stop=0, r,cnt)= r=cnt=0; forprime(N=1,5300, for(i=1,72, if(E[N,i]==0,break()); cnt++; if(stop && cnt>=stop, return([r,cnt])); r+=E[N,i][2]; ); ); [r,cnt]; } {prod_cp(v, pr,i,n)= n=matsize(v[2])[2]; pr=1; for(i=1,n,pr*=v[2][i]); pr; } {tors(v)=v[6];} {findshas(Nstart,Nstop, N,i)= for(N=Nstart,Nstop, for(i=1,72, if(E[N,i]==0,break()); if(E[N,i][7]>1,print1("[",N,",",i,",", E[N,i][7],"], ")); ); ); } \\ nontrivial Sha's of analytic rank 0 optimal quotients. \\ [N, isogclass, |Sha|_analytic]. Shas=[[571,1,4], [681,2,9], [960,4,4], [960,14,4], [1058,2,4], [1058,4,25], [1105,1,4], [1246,2,25], [1287,5,4], [1309,1,16], [1325,4,4], [1365,6,4], [1443,4,4], [1525,2,4], [1613,2,4], [1664,11,25], [1680,10,4], [1701,9,4], [1717,1,4], [1738,2,4], [1752,4,4], [1785,7,4], [1785,8,4], [1849,4,4], [1856,7,4], [1862,3,4], [1888,2,4], [1913,2,9], [1917,5,4], [2006,5,9], [2023,1,4], [2035,1,4], [2045,2,16], [2080,3,4], [2089,4,4], [2112,11,4], [2145,4,4], [2145,7,4], [2224,5,4], [2240,5,4], [2265,1,4], [2280,10,4], [2310,2,4], [2366,4,9], [2366,6,25], [2405,4,4], [2409,2,4], [2429,2,9], [2480,9,4], [2534,5,9], [2534,6,9], [2541,1,4], [2541,4,9], [2554,2,4], [2563,3,4]]; \\ check torsion conjecture: does torsion divide prod c_p. {checktorsconj(v, t, pr,e)= for(i=1,matsize(v)[2], e=E[v[i][1],v[i][2]]; t=tors(e); pr=prod_cp(e); if(pr%t != 0, print1("(COUNTEREXAMPLE!!!) ")); if((pr/e[2][matsize(e[2])[2]]) %t != 0, print1("(need c_inf!) ")); print(t, " ", pr, " ", v[i]); ); } {torsques(Nstart,Nstop, N,i)= for(N=Nstart,Nstop, for(i=1,72, if(E[N,i]==0,break()); print1(E[N,i][5],": "); checktorsconj([[N,i]]); ); ); } \\ Make a list of the primes p such that there is an elliptic \\ curve of conductor p of positive even analytic rank. {evenrank(pstart,pstop, p,i,v)= v=[]; forprime(p=pstart,pstop, for(i=1,72, if(E[p,i]==0,break()); if(E[p,i][4][1] == -1 && E[p,i][5] > 0, v = setunion(v,[p]); print(p); ); ); ); eval(v); }