mersenneforum.org (https://www.mersenneforum.org/index.php)
-   Octoproth Search (https://www.mersenneforum.org/forumdisplay.php?f=63)
-   -   Number of octoproths per n (https://www.mersenneforum.org/showthread.php?t=5344)

 Greenbank 2006-01-13 13:59

Number of octoproths per n

All ranges checked from k=1 to 2^n (where 2^n-k would be 0).

All primes verified with PARI 2.1.7.

n<=26 op=0
n=27 op=1
n=28 op=2
n=29 op=1
n=30 op=1
n=31 op=2
n=32 op=6
n=33 op=2
n=34 op=13
n=35 op=26
n=36 op=11
n=37 op=92
n=38 op=28
n=39 op=83
n=40 op=331
n=41 op=110
n=42 op=453
n=43 op=632
n=44 op=1297
n=45 op=2129
n=46 op=5017
n=47 op=5278
n=48 op=3979
n=49 op=56905
n=50 op=18547
n=51 op=16870
n=52 op=219117
n=53 op=60620
n=54 op=230143
n=55 op=786971
n=56 op=285415

Full list of Octoproths in completed ranges (up to n=54):

 R. Gerbicz 2006-01-13 15:36

Very good work!

It is very interesting that we can predict the total number of octoproths for a given n!!! I've worked out it today: by modifying some very hard conjectures, first I define for every n value the "weight" of n: in (PARI):
[CODE]
w(n)=T=128.0;forprime(p=3,10^4,l=listcreate(8);g=Mod(2,p)^n;h=1/g;a=[g,-g,h,-h,2*g,-2*g,h/2,-h/2];\
a=lift(a);for(i=1,8,listput(l,a[i],i));l=listsort(l,1);T*=(1-length(l)/p)/(1-1/p)^8);return(T)[/CODE]
Then using it we can predict the total number of octoproths for a given n value by:
[CODE]
f(n)=floor(w(n)*2^n/(n*log(2))^8*1/16)
[/CODE]
Try it!
For n=51 it gives that f(n)=16537 It is a very good approximation because Greenbank has calculated that the true number is 16870
ps you'll need also w() to use f()
Note that in w() the w(n) is also a prediction because it is using primes up to 10^4 ( to become faster the computation)

 Greenbank 2006-01-13 16:00

Nice work.

f(49) = 55410

real count is 56905.

 fetofs 2006-01-14 00:08

[QUOTE=R. Gerbicz]Very good work!

It is very interesting that we can predict the total number of octoproths for a given n!!! I've worked out it today: by modifying some very hard conjectures, first I define for every n value the "weight" of n: in (PARI):
[CODE]
w(n)=T=128.0;forprime(p=3,10^4,l=listcreate(8);g=Mod(2,p)^n;h=1/g;a=[g,-g,h,-h,2*g,-2*g,h/2,-h/2];\
a=lift(a);for(i=1,8,listput(l,a[i],i));l=listsort(l,1);T*=(1-length(l)/p)/(1-1/p)^8);return(T)[/CODE]
Then using it we can predict the total number of octoproths for a given n value by:
[CODE]
f(n)=floor(w(n)*2^n/(n*log(2))^8*1/16)
[/CODE]
Try it!
For n=51 it gives that f(n)=16537 It is a very good approximation because Greenbank has calculated that the true number is 16870
ps you'll need also w() to use f()
Note that in w() the w(n) is also a prediction because it is using primes up to 10^4 ( to become faster the computation)[/QUOTE]

This may be stupid, but how do I enter the script on PARI (not the hard way, please)

 R. Gerbicz 2006-01-14 01:10

[QUOTE=fetofs]This may be stupid, but how do I enter the script on PARI (not the hard way, please)[/QUOTE]

I know only one way at the end of line type \

 robert44444uk 2006-01-14 12:15

55

Greenbank

Will take on n=55

Regards Robert Smith

 fetofs 2006-01-14 17:44

[QUOTE=R. Gerbicz]I know only one way at the end of line type \[/QUOTE]

Typing IS the hard way!

 robert44444uk 2006-01-15 23:08

55 almost there

Greenbank

I have done 55 up to 3e15, so a little more to do overnight. The file is enormous, how do I get it to you? Maybe you can send me a private message with your email address and I will send.

Regards

Robert Smith

 Greenbank 2006-01-16 08:41

2^55 = 3.6E16

So if you've done to 3e15 then you've only done 8.3%

 R. Gerbicz 2006-01-16 10:01

[QUOTE=Greenbank]2^55 = 3.6E16

So if you've done to 3e15 then you've only done 8.3%[/QUOTE]

No! 2^55>3.6E16
You have to use a larger number than -1+2^n, if you want to search the full range for n.
I think Robert444444uk correctly search this interval for n=55, but he mistyped here ( just seeing previous submissions from him ), 3e15 isn't a large range for him.
And you can also use my formula to give a prediction for the total number.
Using my formula it'll be about: f(55)=772430 ( if we are using rounding instead of floor )
So the size of the file will be larger than the size of all previous files altogether ( up to n=54 )

 Greenbank 2006-01-16 11:09

Yeah, I meant to say 2^55 ~ 3.6E16. I was just trying to point out that 3E15 was an order of magnitude out.

2^55 = 36028797018963968
3.6E16 = 36000000000000000

robert44444uk, I'll send you an email about getting the n=55 stuff.

 robert44444uk 2006-01-16 12:46

Sorry

No, you guys are totally right, and I was totally wrong. I did not notice until this morning as I set my computer on its merry way for what I thought was the last 0.6E15, and realised I was a whole magitude adrift.

But I doubt I have the computer resources to run this much further. Each 1E15 takes about 8 hours, so the whole exercise will take someone 10 days.

I will complete to 4E15, and then release this one.

Regards

Robert Smith

 Greenbank 2006-01-16 13:03

[QUOTE=robert44444uk]No, you guys are totally right, and I was totally wrong. I did not notice until this morning as I set my computer on its merry way for what I thought was the last 0.6E15, and realised I was a whole magitude adrift.

But I doubt I have the computer resources to run this much further. Each 1E15 takes about 8 hours, so the whole exercise will take someone 10 days.

I will complete to 4E15, and then release this one.

Regards

Robert Smith[/QUOTE]

If I put my whole G5 on it I can have n=55 done in a shade under 2 days. I think this may be the limit of computing all Octoproths for a specific n. Let me check Robert's estimation formula:-

est(54) = 225950 (actual = 230143)
est(55) = 772429
est(56) = 280214
est(57) = 1253015
est(58) = 2335233
est(59) = 2922982
est(60) = 5869985

I might do n=56 as well, since it has fewer Octoproths than n=55. n=57 looks like a step too far.

 Greenbank 2006-01-19 12:35

[QUOTE=Greenbank]
est(54) = 225950 (actual = 230143)
est(55) = 772429
est(56) = 280214
est(57) = 1253015

I might do n=56 as well, since it has fewer Octoproths than n=55. n=57 looks like a step too far.[/QUOTE]

n=55 [0,1E16] = 229947
n=55 [1E16,2E16] = 214250
n=55 [2E16,3E16] = 211102
n=55 [3E16,3.61E16] = 131672

Every 3-prp output by your program was indeed a prime! None failed the tests with PARI.

229947 + 214250 + 211102 + 131672 = 786971

est(54) = 225950 (actual = 230143)
est(55) = 772429 (actual = 786971)

 Greenbank 2006-01-20 16:04

OK, n=56 is complete!

Estimate was 280214.

Final count after isprime() PARI checking script: 285415

2^n = 72057594037927936 so I used a kmax of 72060T.

Output:

n=56, kmin=0T, kmax=72060T, version=5.0, here T=10^12
Starting the sieve...
Using the first 11 primes to reduce the size of the sieve array

[285415 lines removed]

The sieving is complete.
Number of Prp tests=1503700301
Time=187990 sec.

So that's 2 days, 4 hours, 13 minutes, 10 seconds.

That's the end of it, not going to start n=57, there are too many of them!

 R. Gerbicz 2006-01-20 16:29

[QUOTE=Greenbank]OK, n=56 is complete!
Estimate was 280214.
Final count after isprime() PARI checking script: 285415
[/QUOTE]

That's great!
[Code]
g(n)=round(f(n)*(1+1/n))
[/CODE]
I don't know why but it seems a better formula for large n values! Try it.

 All times are UTC. The time now is 19:03.