![]() |
Sorry, busy here around, I just looked for [URL="https://www.mersenneforum.org/showthread.php?t=17126"]this thread[/URL], which you should read carefully, especially from post #32 onward, till the end.
|
[QUOTE=LaurV;611265]Sorry, busy here around, I just looked for [URL="https://www.mersenneforum.org/showthread.php?t=17126"]this thread[/URL], which you should read carefully, especially from post #32 onward, till the end.[/QUOTE]
In addition you can calculate the possible remainders and automatically you can find the possible factors: [CODE] tf_c(p,fromk=0,tok=10000)= { PrimesBase=[2,3,5,7,11]; n_PB=5; PrimesBaseProd=2; for(i=1,n_PB,PrimesBaseProd*=PrimesBase[i];); bW=2*p*PrimesBaseProd; RW=List(); listput(RW,1); for(i=1,PrimesBaseProd-1,for(j=1,n_PB,;if(Mod(1+2*p*i,PrimesBase[j])^1==0,break;);if ((j==n_PB)&&(Mod(1+2*p*i,PrimesBase[j])^1!=0)&&(Mod(1+2*p*i,8)^1==1||Mod(1+2*p*i,8)^1==7),listput(RW,1+2*p*i);););); nR=length(RW); for(k=fromk, tok, for(i=1,nR,q=RW[i]+bW*k; if(Mod(2,q)^p==1, if(q>1,print("M"p" has a factor: "q); break;));)); } [/CODE] |
Why would you do that? It will take a lot of time to build that list, and it will find a lot of unneeded composite factors which you need to factor later to find the real prime factors.
|
[QUOTE=LaurV;611310]Why would you do that? It will take a lot of time to build that list, and it will find a lot of unneeded composite factors which you need to factor later to find the real prime factors.[/QUOTE]
You can use n_PB as a parameter and if you check the number of remainders that nR uses they are 2 if n_PB = 1, 4 if n_PB = 2, 16 if n_PB = 3, 96 if n_PB = 4 and 960 if n_PB = 5. That is, it is the same job as creating the table but you can perform an automatic operation as needed. Of course with this method it checks (tok-fromk)*nR elements instead with forstep it checks (tok-fromk)/nR elements but the factors are the same only the size of the interval changes. Finally, multiples of small factors can be easily eliminated for each row. Here you find an example with 2 classes and to speed up we use two vectors for the two classes: [URL]https://gist.github.com/user140242/04a9a58713695631c2d2738788bb1cae[/URL] |
[QUOTE=User140242;611314]
Finally, multiples of small factors can be easily eliminated for each row. [/QUOTE] To extend the example for classes greater than 2 for each class we must use this: It is possible to eliminate the multiples of the small factors p_j>PrimesBase[n_PB] with p_j<bW and p_j!=p and p_j!=RW[n] for each RW[i] take a vector FACTOR of size dim_step+1 with dim_step=(tok-fromk) initially set to True all multiples of p_j can be set to False in this way: [CODE] r_t1=Euclidean_Diophantine(bW,p_j); //function return y in Diophantine equation bW * x + p_j * y = 1 r_t=(r_t1*RW[i])%bW; if (r_t>0) r_t-=bW; C2=(-bW+p_j)*r_t/bW; C1=r_t-bW+p_j; for (m =bW+C1+C2; m<=dim_step && m>=0; m += p_j) FACTOR[m] = false; [/CODE]and then use it in this way to check for possible factors: [CODE] for(k=0;k<=dim_step;k++) if (FACTOR[k]) { D=RW[i]+bW*k; .... }[/CODE] |
[QUOTE=Dr Sardonicus;611217]...
For p == 1 (mod 4), this automatically rules out q = 2*k*p + 1 for k = 12*m + 1, 12*m + 5, or 12*m + 9 since 2*k*p + 1 == 3 (mod 8) for such k.[/QUOTE] Thanks, this nicely eliminates the cases for [I]k[/I] = 12[I]m[/I] + 1, 12[I]m[/I] + 5, and 12[I]m[/I] + 9 indeed. [QUOTE=Dobri;611207]... 2(12[I]m[/I]+8)[I]p[/I] + 1, ... 2(12[I]m[/I]+11)p + 1, [I]m[/I] = 0, 1, 2,..., cannot be factors of M[M]1277[/M].[/QUOTE] However, the cases for [I]k[/I] = 12[I]m[/I] + 8 and 12[I]m[/I] + 11 still need a theoretical interpretation. I do not have a counterexample with [I]p[/I] mod 6 = 5 that would result in a prime [I]q[/I] = 2[I]kp [/I]+ 1 for [I]k[/I] = 12[I]m[/I] + 8 or 12[I]m[/I] + 11 that divides 2[I][SUP]p[/SUP][/I] - 1. Currently, I am checking the known prime factors in the GIMPS database for a counterexample. Such a counterexample with [I]p[/I] mod 6 = 5 could be rare or does not exist. |
[QUOTE=Dobri;611321]However, the cases for [I]k[/I] = 12[I]m[/I] + 8 and 12[I]m[/I] + 11 still need a theoretical interpretation.
I do not have a counterexample with [I]p[/I] mod 6 = 5 that would result in a prime [I]q[/I] = 2[I]kp [/I]+ 1 for [I]k[/I] = 12[I]m[/I] + 8 or 12[I]m[/I] + 11 that divides 2[I][SUP]p[/SUP][/I] - 1. Currently, I am checking the known prime factors in the GIMPS database for a counterexample. Such a counterexample with [I]p[/I] mod 6 = 5 could be rare or does not exist.[/QUOTE] These have the simplest explanation of all. If p and k are both 2 mod 3 then 2kp+1 is divisible by 3 and so can't be prime. |
[QUOTE=charybdis;611323]These have the simplest explanation of all. If p and k are both 2 mod 3 then 2kp+1 is divisible by 3 and so can't be prime.[/QUOTE]
Thanks, this flawlessly eliminates the cases for [I]k[/I] = 12[I]m[/I] + 8 and 12[I]m[/I] + 11 indeed. Also, divisibility by 3 is observed for [I]k[/I] = 12[I]m[/I] + 5 since 2(12[I]m[/I] + 5)(6[I]n[/I] + 5) + 1 gives the coefficient 2×5×5 + 1 = 51 which is divisible by 3. Despite the equivalence between 2 mod 3 and 5 mod 6 (and between 1 mod 3 and 1 mod 6) for prime number considerations, I still use 'mod 6' for uniformity with a few other threads. What I am trying to evaluate is the [COLOR="Red"]additive[/COLOR] dependence between the values of [I]k[/I] for several factors for a given Mersenne number. On the basis of [U]quite limited[/U] observations for [I]k[/I] up to 11 (see posts #29 and #30), the values of [I]k[/I] for another factor are obtained as follows: - the sum of a prime number (or 1) and 2[I][SUP]n[/SUP] [/I] such as 5 + 2[SUP]2[/SUP] = 3[SUP]2[/SUP] and 1 + 2[SUP]3[/SUP] = 3[SUP]2[/SUP]; - the sum of 1 and a prime number giving 2[I][SUP]n[/SUP] [/I] such as 1 + 3 = 2[SUP]2[/SUP] and 1 + 7 = 2[SUP]3[/SUP]; - the sum of two prime numbers giving 2[I][SUP]n[/SUP] [/I] such as 3 + 5 = 2[SUP]3[/SUP]; or - the sum of 2[I][SUP]n[/SUP] [/I] and a prime number giving a prime number such as 2[SUP]2[/SUP] + 3 = 7 and 2[SUP]3[/SUP] + 3 = 11. The exhaustive computations for [I]k[/I] = 12 are ongoing. The custom source code was modified to collect data not only for [I]p[/I] < 10[SUP]9[/SUP] but also for [I]p[/I] < 2[SUP]30[/SUP]. |
For [I]k[/I] = 12, all possible pairs of two factors for a given Mersenne number are observed with Δ[I]k[/I] = 1, 3, 4, 5, 7, 8, 9, and 11, where Δ[I]k[/I] = [I]k[/I][SUB]2[/SUB] - [I]k[/I][SUB]1[/SUB] with [I]k[/I][SUB]2[/SUB] = 12 and [I]k[/I][SUB]2[/SUB] > [I]k[/I][SUB]1[/SUB]. No cases of three factors for a given Mersenne number are found.
For [I]k[/I] = 13, only cases with Δ[I]k[/I] = 1, 4, 9, and 12 for a given Mersenne number are found, where Δ[I]k[/I] = [I]k[/I][SUB]2[/SUB] - [I]k[/I][SUB]1[/SUB] with [I]k[/I][SUB]2[/SUB] = 13 and [I]k[/I][SUB]2[/SUB] > [I]k[/I][SUB]1[/SUB]. Here 1 + 12 = 13 and 4 + 9 = 13. |
[QUOTE=Dobri;611616]For [I]k[/I] = 12, all possible pairs of two factors for a given Mersenne number are observed with Δ[I]k[/I] = 1, 3, 4, 5, 7, 8, 9, and 11, where Δ[I]k[/I] = [I]k[/I][SUB]2[/SUB] - [I]k[/I][SUB]1[/SUB] with [I]k[/I][SUB]2[/SUB] = 12 and [I]k[/I][SUB]2[/SUB] > [I]k[/I][SUB]1[/SUB]. No cases of three factors for a given Mersenne number are found.
For [I]k[/I] = 13, only cases with Δ[I]k[/I] = 1, 4, 9, and 12 for a given Mersenne number are found, where Δ[I]k[/I] = [I]k[/I][SUB]2[/SUB] - [I]k[/I][SUB]1[/SUB] with [I]k[/I][SUB]2[/SUB] = 13 and [I]k[/I][SUB]2[/SUB] > [I]k[/I][SUB]1[/SUB]. Here 1 + 12 = 13 and 4 + 9 = 13.[/QUOTE] It is possible to find the values of Δk like this: if you use a basis bW=2*p*k we have for k = 12 = 2*2*3 q = r + bW*d where r are the possible remainders with 0 <= r <bW if we consider that q = 1 mod 2p then r = 1 mod 2p hence r = 1 + 2p*b with 0 <= b < k so for example if k = 12 and p = 29 the possible remainders are (1, 59, 117, 175, 233, 291, 349, 407, 465, 523, 581, 639) from these remainders you have to remove those that have factors in common with bW or remove the multiples of 3 since r = 1 mod 2p and since bW = 0 mod 8 we must consider that it must be r = 7 mod 8 or r = 1 mod 8 therefore remain (1, 175, 233, 407) so if you take the indices we find Δk or we consider (r-1)/2/p (0,3,4,7) for p = 31 we find (1, 311, 497, 559) or (0, 5, 8, 9) for p = 37 we find (1, 223, 593, 815) or (0, 3, 8, 11) for p = 47 we find (1, 95, 377, 847) or (0, 1, 4, 9) as mentioned in a previous post there are 4 cases based on the value of p%4 and p%6 if k = 13 then bW is not divisible by 8 it is not convenient to use it in any case the procedure does not change surely you have forgotten some cases for example p=37 and q=223 then k1 = 3 and Δk = 13-3 = 10 |
[QUOTE=User140242;611621]...
surely you have forgotten some cases for example p=37 and q=223 then k1 = 3 and Δk = 13-3 = 10[/QUOTE] No cases have been forgotten. In the quoted example, 2[SUP]37[/SUP]-1 = 137438953471, then 13743895347 / 223 = 616318177, and [I]k[/I][SUB]2[/SUB] = (616318177-1)/(2×37) = 8328624, thus Δk = 8328624 - 3 = 8328621 = 3×7×396601, which is unrelated to [I]k[/I] = 13. |
| All times are UTC. The time now is 04:17. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2023, Jelsoft Enterprises Ltd.