hermann on Fri, 22 Mar 2024 01:20:41 +0100 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: How to efficiently count Proth primes with GP parfor? |
On 2024-03-20 23:24, hermann@stamm-wilbrandt.de wrote:
I created modified gist code that does not count, but compute all Proth primes until n.Missing gist link: https://gist.github.com/Hermann-SW/558728c025a1f2d3dace008292bac897
- instead cc++ do listput(c, p) - instead c+=C do L=concat(L,C) Called with r=doit(2^40,1,L2); and written by: write("/dev/stderr",Vec(vecsort(r)));You can use it from here (I submitted to oeis.org, but reviews will take time):
https://stamm-wilbrandt.de/en/pari-users/a080076.json.txt Afterwards I verified that count is correct with gist: hermann@7950x:~$ n=2^40 gp -q < proth.gp 32 45min, 54,738 ms × 24.010 = 18h, 22min, 21,364 ms 122742 ^C hermann@7950x:~$ gp -q ? P=readvec("a080076.json.txt")[1]; ? #P 122742 ? P[#P] 1099489607681 ? 2^40-P[#P] 22020095 ? isProth2(p) = !(p >> (valuation(p-1,2)<<1)); ? foreach(P,p,if(!isProth2(p),print(p))) ? ## *** last result: cpu time 29 ms, real time 29 ms. ? Having all Proth primes up to 2^40 allows to analyze distribution of Proth primes for all 1<=m<=20 (p=k*2^m+1, k<2^m) for a given m. Regards, Hermann.