SV: Mersenne: Factors aren't just factors

2002-03-26 Thread Torben Schlntz

reaction to another mail about this

This happens all the time in different shapes so I would expect some
happy day we found a crosslinked factor.

we will never find a factor who is a factor of Mx and also of My
simply because every factor give only one count with my algoritm and is
factor
of one or zero mersenne numbers
for example the factor 7 is a factor of 2^3-1 and 2^6-1 and 2^9-1 and
2^12-1 etc..
but only 2^3-1 of a mersenne number
so a factor can never be factor of Mx and My both

 
Yep, you're so truly right. After I used the reverse factoring algorithm
a bit harder it is not difficult to see that when you arrive at 1 (and
started at 1) the same pattern will repeat (after all we are multiplying
by 2 and mod'ing the same value repeatedly from 1).
Some how it is no longer a mystery that 13421 is a factor of any 2k*61
(2684 in this case) as 61 is the highest prime in the factorized values
of 13420 (factors: 2*2*5*11*61). Again: 2*5*11 is only the k.
And also I have found reverse factoring will find it self as a value for
Mprimes, 31 is a factor of M5 and so is 127 a factor of M7, and most
often just it self -1 for very uinteresting values, like 107 divides
M106. :-(
 
On the other hand this insight could make me/us construct interesting
and primetested values beyond the scope of Mprime (eg. max 66 bits for
numbers below 21.600.000)  but in the scope of GIMPS (any prime
apx.72.300.000). At least I got one machine for which mprime has no
relevance as some uncontrolled reboots happens and I would like a sleep
to occur every 10 seconds. Then I can write my own reverse facoring for
this machine - it is on anyway for other purposes. 
 
Happy hunting
tsc
 
 
 
 
 
 
_
Unsubscribe  list info -- http://www.ndatech.com/mersenne/signup.htm
Mersenne Prime FAQ  -- http://www.tasam.com/~lrwiman/FAQ-mers



RE: Mersenne: Factors aren't just factors

2002-03-24 Thread Bruce Leenstra

Will Edgington writes:
 [...]
 But, for those who are interested, here's the current data on how 
 far my runs of the program have gotten so far:
 
 M( 32768 )X: 13952750007
 M( 1073741824 )X: 810019
 M( 18446744073709551615 )X: 2224500019
 
 [...,] the last line implies that all primes less than
 2,224,500,019 are listed as a factor of some Mersenne number in
 my data (yes, I keep data for - essentially - _all_ Mersenne 
 numbers, not just those with prime exponents).

So have you selected the prime exponents out of your database and had them officially 
removed from the GIMPS candidate list? (I know, easier said than done.) And if so, 
shouldn't trial factoring start above 2^31? ;^)

Regards,Bruce
_
Unsubscribe  list info -- http://www.ndatech.com/mersenne/signup.htm
Mersenne Prime FAQ  -- http://www.tasam.com/~lrwiman/FAQ-mers



Re: Mersenne: Factors aren't just factors

2002-03-22 Thread Bruce Leenstra

Alex Kruppa wrote:
 Bruce Leenstra wrote: 
 As luck would have it, this is nearly what I am doing right now:
 tempvalue = (q+1)/2 
 count = 1 
 while tempvalue != 1 { 
if tempvalue is odd tempvalue += q 
shiftright tempvalue  count++
 } 
 v = count 
I'm not sure I understand that code yet, but 

Although it is academic at this point, (your timing of 1+ minutes  vs. my timing of 7+ 
days ),
I arrived at my algorithm by entering the 
2^(p+1) mod q = 2*2^p  mod q 
formula into a spreadsheet so each column was 2^row mod (some prime). Then I found a 
formula that would recreate the columns from the bottom up. Notice it does ( /2 and + 
q ) vs ( *2 and - q ). My goal was to eliminate the mod step and squeak a little 
closer to the dword limit.
I also have a version that checks (mod 4) and combines two passes of the loop so p is 
always odd.

Obviously the O(log2(q)) vs. O(q) eclipses any speedup I may have achieved.
However, I am working on your algorithm to address some of the issues Will brought up 
. . .

Regards,Bruce
_
Unsubscribe  list info -- http://www.ndatech.com/mersenne/signup.htm
Mersenne Prime FAQ  -- http://www.tasam.com/~lrwiman/FAQ-mers



Re: Mersenne: Factors aren't just factors

2002-03-22 Thread Alexander Kruppa

Will Edgington wrote:
 
Is it worthwhile mounting a formal attack on the Mersenne numbers
between 20 million  say 40 million using this technique? We're
getting quite close to this  I think Chris would not have bothered
with these, since they were so far ahead of LL testing at that
point (first tests around 6 million).
 
 I actually run the program I mention above regularly, but it isn't of
 much use in eliminating Mersenne prime candidates because it finds the
 factors in factor order rather than in Mersenne exponent order.
 Further, virtually all prime numbers are factors of Mersenne numbers
 with composite exponents rather than Mersenne numbers with prime
 exponents.

My program only test prime p that divide f-1 so it only finds factors of
prime exponent Mersennes. But the exponents are mostly very large, not
that much smaller than f. Afaik, the chance that a prime of the form
2kp+1 divides M(p) is ~1/k, so the factors f where p is much smaller
than f will be rare. The reverse factoring method mostly finds factors
of frightingly large Mersenne numbers that are way outside the interval
of Mersenne prime candidates of interest to GIMPS.

I've made this very rough estimate:

My K6-2 500MHz takes 4 minutes to factor a 20M exponent from 2^56 to
2^57. (All exponents in nofactor.txt are factored to at least 2^56)
There are ~70 exponents in nofactor.txt that are factored to 2^56,
so the K6 would take  2.8*10^6 minutes to factor all remaining
exponents to 2^57 (this is an overestimate as the larger exponents are
faster).

I've made some modifications to ismersfac to speed things up (the new
version takes 2 seconds for f10M). It takes 9 minutes for 2^29  f 
2^30. When testing factors in [2^n, 2^n+1], the time seems to be
proportional to about (2^n)^k where k is ~1.35 for n=29 but grows for
greater n. Is surely is 1.4 for n=56. So for n=56, ismersfac should
take at least (2^27)^1.4 = 2.4*10^11 times as long as for n=29, which is
~10^12 minutes.

This estimate is very crude and probably off by orders of magnitude, but
rather too low than too high. At any rate it shows that the reverse
factoring method is probably not efficient to find larger factors of
Mersenne numbers.


 Taking all of this into account, I'm fairly certain that the technique
 is not - or is at least no longer - useful for GIMPS's purposes.
 
 Will

I agree with Will.

Alex
_
Unsubscribe  list info -- http://www.ndatech.com/mersenne/signup.htm
Mersenne Prime FAQ  -- http://www.tasam.com/~lrwiman/FAQ-mers



VS: Mersenne: Factors aren't just factors

2002-03-22 Thread Torben Schlntz

 

-Oprindelig meddelelse- 
Fra: Torben Schlüntz 
Sendt: lø 23-03-2002 02:54 
Til: Bruce Leenstra 
Cc: 
Emne: SV: Mersenne: Factors aren't just factors


Bruce Leenstra wrote:
You'll notice that 'tempvalue == 1' is only the exit condition
for the loop above. This is because every prime is a factor of some
mersenne number M(v) { plus the set of M(kv), which are all composite
}.  Of course GIMPS is only interested in those where v is prime. My
program will abort the loop and prompt me if count  (q-1)/2, indicating
q isn't a factor of any M(v). It hasn't happened yet.

Yes I got it now, and with the same 
multiply by 2 - take modulus of factor - check for 1 - check for
(q-1)/2 - repeat
just proved a low factor for M641 as well as the usual M29, 43
etc. :-) 
And you're right - the algorithm tells - whenever a factor is
found, it will be factor again and again for other GIMPS uninteresting
composite M's, like 89 is a factor for M11 then M22 then M11*x. So there
is no SUPERfactor being a factor for several M's.
Last you say any prime will be a factor for some Mx, quite
interesting, and yes to pick one 641 is a factor of M64.
br tsc 


_
Unsubscribe  list info -- http://www.ndatech.com/mersenne/signup.htm
Mersenne Prime FAQ  -- http://www.tasam.com/~lrwiman/FAQ-mers



Re: Mersenne: Factors aren't just factors

2002-03-21 Thread Steve Harris

Don't be so hard on Phil, I made not only a mistake but one that was very
easy to catch. I should know by now better than to trust my memory before
sending something out. But it's hard to get used to being senile :-)

I guess that also explains why I never pursued it...

Steve

-Original Message-
From: Torben Schlüntz [EMAIL PROTECTED]
To: Phil Moore [EMAIL PROTECTED]; [EMAIL PROTECTED] [EMAIL PROTECTED]
Date: Wednesday, March 20, 2002 4:41 PM
Subject: SV: Mersenne: Factors aren't just factors


Actually I should have let Steve answer this, but I can't ignore to say
that I already have pointed out that M89 is prime. So Steve had a
mistake. Okay?! I do several mistakes every hour.
snip

_
Unsubscribe  list info -- http://www.ndatech.com/mersenne/signup.htm
Mersenne Prime FAQ  -- http://www.tasam.com/~lrwiman/FAQ-mers


_
Unsubscribe  list info -- http://www.ndatech.com/mersenne/signup.htm
Mersenne Prime FAQ  -- http://www.tasam.com/~lrwiman/FAQ-mers



Re: Mersenne: Factors aren't just factors

2002-03-21 Thread Brian J. Beesley

Hi,

I seem to remember about 3.5 years ago someone (I think it was Chris Nash) 
had done something similar  eliminated a lot of Mersenne numbers.

Is it worthwhile mounting a formal attack on the Mersenne numbers between 20 
million  say 40 million using this technique? We're getting quite close to 
this  I think Chris would not have bothered with these, since they were so 
far ahead of LL testing at that point (first tests around 6 million).

Regards
Brian Beesley


On Thursday 21 March 2002 00:21, Alexander Kruppa wrote:

 Bruce Leenstra wrote:
  As luck would have it, this is nearly what I am doing right now:
 
  tempvalue = (q+1)/2
  count = 1
  while tempvalue != 1 {
 if tempvalue is odd   tempvalue += q
 shiftright tempvalue
 count++
  }
  v = count

 I'm not sure I understand that code yet, but

  I've crunched through all q  2^23; [...] The program is really starting
  to slow down.

 There may be a faster method.

 Let f be a prime factor of the prime exponent Mersenne number M(p).

 f | M(p)  =
 2^p == 1 (mod f)  =
 ord(2) (mod f) | p  =  (since ord(n) = 1  =  n = 1)
 ord(2) (mod f) = p.

 Thus, f is a factor of M(p) if and only if the group order of 2 (mod f)
 is equal to p.

 On the other hand, ord(2) (mod f) divides f-1, since f is prime.

 We can thus test whether f is a factor of some prime exponent Mersenne
 M(p) by testing all prime divisors p of f-1 and checking if 2^p == 1
 (mod f).

 I add a quick hack to exemplify. Please don't take this code too
 seriously. I made no effort to make it efficient, for example all odd
 and not only prime f are tested and the trial division is pathetic, too.
 An order of magnitude speedup would be possible.

 But the basic algorithm is reasonably fast:

 time ./ismersfac /dev/null

 real1m7.907s
 user1m7.710s
 sys
 0m0.040s

 for f  1000 =~ 2^23.25 , on a K6-II 500Mhz.



 #include stdio.h

 unsigned int powmod(unsigned int a, unsigned int b, unsigned int m) {
   unsigned int t = 0, mask = 131;

   if (b == 0) return 1;

   while ((b  mask) == 0) mask = 1;

   mask = 1;
   t=a;

   while (mask) {
 t = (unsigned long long) t * t % m;
 if (b  mask) {
   t = (unsigned long long) t * a % m;
 }
 mask = 1;
   }
   return t;
 }

 unsigned int ismersfac(unsigned int f) {
   unsigned int fm1 = f-1;
   unsigned p;

   while ((fm1  1) == 0) fm1 = 1;
   for (p = 3; p*p = fm1; p+=2) {
 if (fm1 % p == 0) {
   if (powmod(2, p, f) == 1) {
 return p;
   } else {
 while (fm1 % p == 0)
   fm1 /= p;
   }
 }
   }
   if (fm1  1) {
 if (powmod(2, fm1, f) == 1)
   return fm1;
   }
   return 0;
 }

 int main() {
   unsigned int i, p;

   for (i=3; i  1000; i+=2) {
 if ((p = ismersfac(i)))
   printf(M( %d )C: %d\n, p, i);
   }
   return 0;
 }
_
Unsubscribe  list info -- http://www.ndatech.com/mersenne/signup.htm
Mersenne Prime FAQ  -- http://www.tasam.com/~lrwiman/FAQ-mers



Re: Mersenne: Factors aren't just factors

2002-03-20 Thread Steve Harris

Torben, I noticed something along those lines long ago: the first non-prime
Mersenne number is M11 which factors to 23 times 89. The very next non-prime
Mersenne number is M23, and M89 is also not prime. It occurred to me then
that possibly Mx is never prime if x is a factor of a Mersenne number, but
it was just an observation and I never got around to pursuing it. If so,
then it would (although only very slightly) reduce the number of candidates
to be tested. So I am just as curious as are you.

Jeroen, I am wondering about your phrase if kv is not prime then 2^(kv)-1
isn't also because kv is never prime, it has factors k and v (unless k=1,
of course), and 2^(kv)-1 always has factors 2^k-1 and 2^v-1. I don't know if
you meant something else or if I just misunderstood you. Sorry if that's the
case.

Regards,
Steve Harris



-Original Message-
From: Jeroen [EMAIL PROTECTED]
To: [EMAIL PROTECTED] [EMAIL PROTECTED]
Date: Tuesday, March 19, 2002 8:12 PM
Subject: Re: Mersenne: Factors aren't just factors


to find the value v where prime p is a factor of 2^v-1

tempvalue = p
count = 0
while tempvalue != 0
{
   if tempvalue is odd
   {
  shiftright tempvalue
  count++
   }
   else
   {
  tempvalue+=p
   }
}

if the count is a primenumber then p is thus a factor of a mersenne prime
if the count is not a primenunber it isn't
if p is a factor of 2^v-1 then it is also a factor of 2^(2v)-1
or just 2^(kv)-1 for all value of k are integers above 0
if kv is not prime them 2^(kv)-1 isn't also, so each prime can only be a
factor of one mersenne numer or 0 mersenne numbers
the first question is now simple to solve, just find the 2^v-1 where Mx is
a factor of



*** REPLY SEPARATOR  ***

On 20-3-02 at 0:21 Torben Schlüntz wrote:

Just of curiosity:

Has it ever happened that a factor for Mx later has proved to be a
mersenne prime itself?

Has the same factor been a factor for two different Mx and My?

In my humble oppinion both questions answers No; but GIMPS could have
proved otherwise.

Anyway, it must exist a great deal of low primes; which by now never can
become mersenne factors (by reason: 2kp+1). So with two types of primes,
those that are mersenne factors and those that never can be, do we have
any means of distinguish them?


Happy hunting
tsc

Btw: (M29 mod 1 + M29 mod 2 +..+ M29 mod 32) = 233which is 1.
factor of M29
_
Unsubscribe  list info -- http://www.ndatech.com/mersenne/signup.htm
Mersenne Prime FAQ  -- http://www.tasam.com/~lrwiman/FAQ-mers



_
Unsubscribe  list info -- http://www.ndatech.com/mersenne/signup.htm
Mersenne Prime FAQ  -- http://www.tasam.com/~lrwiman/FAQ-mers


_
Unsubscribe  list info -- http://www.ndatech.com/mersenne/signup.htm
Mersenne Prime FAQ  -- http://www.tasam.com/~lrwiman/FAQ-mers



SV: Mersenne: Factors aren't just factors

2002-03-20 Thread Torben Schlntz

M89 is prime! M89 = 618.970.019.642.690.137.449.562.111 with no known
factors. 
So it would be lovely if we could rule out any possible Mx if x had
earlier been a factor for any other My. :-) But no.
M11 proves this so nicely: M23 has factors, M89 none. 
I've started looking for some factors, where f is both factor of Mx and
of My. The chance is there as Mx calls for factors of the form 2kx+1 and
My calls for 2Ky+1. Let's have an example:

547 is candidate for M7 as for M13:   2*(3*13)*7+1 and 2*(7*3)*13+1

or better: 

83 is candidate for M79 and for M6329 as 2*(6329)*79+1 and
2*(79)*6329+1 both equals 83.

This happens all the time in different shapes so I would expect some
happy day we found a crosslinked factor.

happy hunting

tsc


Torben, I noticed something along those lines long ago: the first
non-prime
Mersenne number is M11 which factors to 23 times 89. The very next
non-prime
Mersenne number is M23, and M89 is also not prime. It occurred to me
then
that possibly Mx is never prime if x is a factor of a Mersenne number,
but
it was just an observation and I never got around to pursuing it. If
so,
then it would (although only very slightly) reduce the number of
candidates
to be tested. So I am just as curious as are you.

 

 
_
Unsubscribe  list info -- http://www.ndatech.com/mersenne/signup.htm
Mersenne Prime FAQ  -- http://www.tasam.com/~lrwiman/FAQ-mers



Re: Mersenne: Factors aren't just factors

2002-03-20 Thread Phil Moore

Steve Harris claimed that M89 is not prime, but it is!  So his
conjecture about being able to eliminate a few Mersenne candidates
because the exponent is a factor of a non-prime Mersenne number won't
work.

Phil Moore
_
Unsubscribe  list info -- http://www.ndatech.com/mersenne/signup.htm
Mersenne Prime FAQ  -- http://www.tasam.com/~lrwiman/FAQ-mers



Re: Mersenne: Factors aren't just factors

2002-03-20 Thread Bruce Leenstra

Jeroen wrote:
to find the value v where prime p is a factor of 2^v-1

tempvalue = p
count = 0
while tempvalue != 0
{
   if tempvalue is odd
   {
  shiftright tempvalue
  count++
   }
   else
   {
  tempvalue+=p
   }
} ...


(Uh, did you swap your 'if' and 'else' clauses? if temp is odd do you want to shift 
the '1' off?)

As luck would have it, this is nearly what I am doing right now:

tempvalue = (q+1)/2
count = 1
while tempvalue != 1 {
   if tempvalue is odd   tempvalue += q 
   shiftright tempvalue
   count++
}
v = count
q is therefore a factor of the mersenne number 2^v - 1. If v is prime then M(v) is 
eliminated as a mersenne prime, so I keep a list of prime v's. I've crunched through 
all q  2^23; soon I'll start submitting the high end of my list to GIMPS for removal 
from the candidate list. The one drawback is this method finds alot of v where q = 2v 
+ 1  (k = 1), which require q/2 times thru the loop. The program is really starting to 
slow down.

Back to the discussion
TSC wrote:
Anyway, it must exist a great deal of low primes; which by now never
can become mersenne factors (by reason: 2kp+1). So with two types of
primes, those that are mersenne factors and those that never can be,
do we have any means of distinguish them?

Remember that every odd number can be written in the form 2kp + 1 (p prime, k may be 
1), so that is not a limitation to being a factor.
You'll notice that 'tempvalue == 1' is only the exit condition for the loop above. 
This is because every prime is a factor of some mersenne number M(v) { plus the set of 
M(kv), which are all composite }.  Of course GIMPS is only interested in those where v 
is prime. My program will abort the loop and prompt me if count  (q-1)/2, indicating 
q isn't a factor of any M(v). It hasn't happened yet.

Regards,

Bruce Leenstra
_
Unsubscribe  list info -- http://www.ndatech.com/mersenne/signup.htm
Mersenne Prime FAQ  -- http://www.tasam.com/~lrwiman/FAQ-mers



Re: Mersenne: Factors aren't just factors

2002-03-20 Thread Alexander Kruppa

Bruce Leenstra wrote:
 

 As luck would have it, this is nearly what I am doing right now:
 
 tempvalue = (q+1)/2
 count = 1
 while tempvalue != 1 {
if tempvalue is odd   tempvalue += q
shiftright tempvalue
count++
 }
 v = count

I'm not sure I understand that code yet, but

 I've crunched through all q  2^23; [...] The program is really starting to slow 
down.

There may be a faster method.

Let f be a prime factor of the prime exponent Mersenne number M(p).

f | M(p)  = 
2^p == 1 (mod f)  =  
ord(2) (mod f) | p  =  (since ord(n) = 1  =  n = 1)
ord(2) (mod f) = p. 

Thus, f is a factor of M(p) if and only if the group order of 2 (mod f)
is equal to p.

On the other hand, ord(2) (mod f) divides f-1, since f is prime.

We can thus test whether f is a factor of some prime exponent Mersenne
M(p) by testing all prime divisors p of f-1 and checking if 2^p == 1
(mod f).

I add a quick hack to exemplify. Please don't take this code too
seriously. I made no effort to make it efficient, for example all odd
and not only prime f are tested and the trial division is pathetic, too.
An order of magnitude speedup would be possible.

But the basic algorithm is reasonably fast:

time ./ismersfac /dev/null
 
real1m7.907s
user1m7.710s
sys
0m0.040s

for f  1000 =~ 2^23.25 , on a K6-II 500Mhz.



#include stdio.h

unsigned int powmod(unsigned int a, unsigned int b, unsigned int m) {
  unsigned int t = 0, mask = 131;

  if (b == 0) return 1;

  while ((b  mask) == 0) mask = 1;

  mask = 1;
  t=a;

  while (mask) {
t = (unsigned long long) t * t % m;
if (b  mask) {
  t = (unsigned long long) t * a % m;
}
mask = 1;
  }
  return t;
}

unsigned int ismersfac(unsigned int f) {
  unsigned int fm1 = f-1;
  unsigned p;

  while ((fm1  1) == 0) fm1 = 1;
  for (p = 3; p*p = fm1; p+=2) {
if (fm1 % p == 0) {
  if (powmod(2, p, f) == 1) {
return p;
  } else {
while (fm1 % p == 0)
  fm1 /= p;
  }
}
  }
  if (fm1  1) {
if (powmod(2, fm1, f) == 1)
  return fm1;
  }
  return 0;
}
 
int main() {
  unsigned int i, p;
 
  for (i=3; i  1000; i+=2) {
if ((p = ismersfac(i)))
  printf(M( %d )C: %d\n, p, i);
  }
  return 0;
}
_
Unsubscribe  list info -- http://www.ndatech.com/mersenne/signup.htm
Mersenne Prime FAQ  -- http://www.tasam.com/~lrwiman/FAQ-mers



Re: Mersenne: Factors aren't just factors

2002-03-19 Thread Jeroen

to find the value v where prime p is a factor of 2^v-1

tempvalue = p
count = 0
while tempvalue != 0
{
   if tempvalue is odd
   {
  shiftright tempvalue
  count++
   }
   else
   {
  tempvalue+=p
   }
}

if the count is a primenumber then p is thus a factor of a mersenne prime
if the count is not a primenunber it isn't
if p is a factor of 2^v-1 then it is also a factor of 2^(2v)-1
or just 2^(kv)-1 for all value of k are integers above 0
if kv is not prime them 2^(kv)-1 isn't also, so each prime can only be a factor of one 
mersenne numer or 0 mersenne numbers
the first question is now simple to solve, just find the 2^v-1 where Mx is a factor of



*** REPLY SEPARATOR  ***

On 20-3-02 at 0:21 Torben Schlüntz wrote:

Just of curiosity:
 
Has it ever happened that a factor for Mx later has proved to be a
mersenne prime itself?
 
Has the same factor been a factor for two different Mx and My? 
 
In my humble oppinion both questions answers No; but GIMPS could have
proved otherwise.
 
Anyway, it must exist a great deal of low primes; which by now never can
become mersenne factors (by reason: 2kp+1). So with two types of primes,
those that are mersenne factors and those that never can be, do we have
any means of distinguish them?
 
 
Happy hunting
tsc
 
Btw: (M29 mod 1 + M29 mod 2 +..+ M29 mod 32) = 233which is 1.
factor of M29
_
Unsubscribe  list info -- http://www.ndatech.com/mersenne/signup.htm
Mersenne Prime FAQ  -- http://www.tasam.com/~lrwiman/FAQ-mers



_
Unsubscribe  list info -- http://www.ndatech.com/mersenne/signup.htm
Mersenne Prime FAQ  -- http://www.tasam.com/~lrwiman/FAQ-mers



RE: Mersenne: Factors

2002-01-17 Thread Will Edgington


Hoogendoorn, Sander writes:
   Torben Schlaqntz wrote:

It seems to me that this k (in 2kp+1) is never:
  4,12,20,28,36,46,52,60,68,76,84
at least for less than M416.947.
Am I again a fool for a pattern already proved?

   It has been proven that k = 1 or 7 mod 8

Careful!  It has been proven that _factors_ are of that form, not that
the k's (of 2*k*p + 1 where 2*k*p + 1 is a factor of M(p)) are of that
form.  k, in fact, can be 0 mod 4, e.g., since, if a factor is 1 mod 8:

factor = 2*k*p + 1 = 1 (mod 8)
2*k*p = 0 (mod 8)
k*p = 0 (mod 4)
k = 0 (mod 4)

... since p, being prime, is not 0 mod 4.  This occurs, e.g., for
M(11), as one of the factors is 89.

Will
_
Unsubscribe  list info -- http://www.ndatech.com/mersenne/signup.htm
Mersenne Prime FAQ  -- http://www.tasam.com/~lrwiman/FAQ-mers



Re: Mersenne: Factors

2002-01-16 Thread Alexander Kruppa

Torben Schlüntz wrote:
 
 I'd also like to know about any number fully factorized, whatever size
 it might be, and whatever size the factor(s) might be.

Try Will Edgingtons's page,
http://www.garlic.com/~wedgingt/mersenne.html .
Use used to keep a comprehensive archive of known Mersenne factors. I am
not sure how up to date this files are, but it is a good starting point.

 Besides I have the question: why does the advanced facor algortithm of
 prime95 somtimes find 2 factors? This happens eg. at  M1289, has
 108817410937 and 15856636079 as factors?

I'm not quite sure which advanced factor algorithm you mean. There are
two possibilities:

P-1/ECM: 

These find all factors that have the required property, i.e. that the 
starting element in the group has a group order whose factors are only
primes and prime powers =B1, and at most one prime =B2. It is
perfectly possible to find several factors in one run, or even all 
factors, in which case the algorithm outputs the input number.


Trial factoring:

Trial factoring proceeds by trying candidate factors to see if they
divide your input number. One normally tests a candidate factor f only 
after having tried all candidates f (or at least sqrt(f)), so that 
the candidates can be restricted to primes. For if d|f, d|the input 
number and should have been found before f.

Restricting the f's to only primes is too expensive, so one strikes a
balance by excluding only those f which have factors smaller than some 
limit, in a  process called sieving. The optimal sieving limit depends 
on how fast the sieving can be performed, and how long it takes to test 
one surviving candidate.

Thus, a composite factor can be found if all it's prime factors are
above the sieving limit. I do not know what the current sieving limits 
in Prime95 are, but they surely are 15856636079 for all trial 
factoring depths.

It would be rather easy to test factors for primality once they are
found and not print them or comment them as not prime when printed. 
However, the main purpose of trial factoring in Prime95 is to find 
smallest factors to eliminate Mersenne prime candidates, here such 
a test is not neccessary as the smallest factor of a number is always 
prime.

Alex
_
Unsubscribe  list info -- http://www.ndatech.com/mersenne/signup.htm
Mersenne Prime FAQ  -- http://www.tasam.com/~lrwiman/FAQ-mers



RE: Mersenne: Factors

2002-01-16 Thread Paul Leyland

 From: Alexander Kruppa [mailto:[EMAIL PROTECTED]] 
 Torben Schlüntz wrote:
  
...
  Besides I have the question: why does the advanced facor 
 algortithm of
  prime95 somtimes find 2 factors? This happens eg. at  M1289, has
  108817410937 and 15856636079 as factors?
 
 I'm not quite sure which advanced factor algorithm you mean. There are
 two possibilities:
...
 Trial factoring:
...
 balance by excluding only those f which have factors smaller 
 than some 
 limit, in a  process called sieving. The optimal sieving 
 limit depends 
 on how fast the sieving can be performed, and how long it 
 takes to test 
 one surviving candidate.
 
 Thus, a composite factor can be found if all it's prime factors are
 above the sieving limit. I do not know what the current 
 sieving limits 
 in Prime95 are, but they surely are 15856636079 for all trial 
 factoring depths.

Another issue which used to generate multiple factors by trial division in prime95 (I 
don't know if it still does) is the following.

All factors of Mersenne numbers fall into a small number of concisely describable 
sets.  Prime95 used to test all of one kind of factor in a range before going on to 
test all those of a different kind in the same numerical range.  The program also 
wanted to find the smallest prime factor.   Consider now what happens if two factors 
in a range belong to different sets.  You have to process all sets before you know 
which is the smallest.  Having found any larger ones, it would be stupid not to report 
them too.


Paul
_
Unsubscribe  list info -- http://www.ndatech.com/mersenne/signup.htm
Mersenne Prime FAQ  -- http://www.tasam.com/~lrwiman/FAQ-mers



Re: Mersenne: Factors

2002-01-16 Thread Will Edgington


Alexander Kruppa writes:
   Torben Schluntz wrote:
I'd also like to know about any number fully factorized, whatever size
it might be, and whatever size the factor(s) might be.

   Try Will Edgingtons's page,
   http://www.garlic.com/~wedgingt/mersenne.html .
   Use used to keep a comprehensive archive of known Mersenne factors. I am
   not sure how up to date this files are, but it is a good starting point.

I still keep the data, but have not had time to update the online
copies for a while now for several reasons that have nothing to do
with GIMPS or other Mersenne stuffs.

For example, the current primary cause of my lack of time is my new
project at NASA/Ames: the AI-based planning software that I've been
helping to develop for the past few years has been selected, this past
Nov., for use by the upcoming Mars 2003 rover missions, to assist the
human planners figure out what each rover can likely do during each
Martian day.

When I have time, I also maintain the mers package of programs - all
in C source code and as portable as I know how to make them, which, of
course, usually makes them slower than the other available programs -
to do various things with Mersenne numbers, including verify that
factors are prime, factor any composite factors, try to factor
Mersenne numbers with Mersenne primes for exponents, etc., as well as
the more typical tasks like Lucas-Lehmer tests, trial factoring,
ECM, and P-1 of Mersenne numbers themselves.

The URL given by Alexander is the primary one, which should have links
to all sorts of other things, on my site and several others.

 Will
_
Unsubscribe  list info -- http://www.ndatech.com/mersenne/signup.htm
Mersenne Prime FAQ  -- http://www.tasam.com/~lrwiman/FAQ-mers



SV: Mersenne: Factors

2002-01-16 Thread Torben Schlntz

Thanks is a poor word, but anyway thanks to all.
 
I will move on, though my first idea such like: 
 
   2kp+1 is a factor when k is 2^x
 
is already dead at M37. :-( damned!
I will find another proposal, prove it or disprove it, and continuing
getting new ideas. 
 
It seems to me that this k (in 2kp+1) is never:
 
  4,12,20,28,36,46,52,60,68,76,84
 
at least for less than M416.947.
 
Am I again a fool for a pattern already proved?
 
 
On the other site you can watch this:
 
k=2, 1875 factors in above mentioned space up till M416.947 spanding
35144 primes:
k=4, 0
k=6, 1132
k=8, 715
k=10, 465
k=12,0
k=14,233
k=16,351

k=32,138
...
k=64, 65
...
k=72,123
k=74,33
 
remark, the overall high values of k=2^x factors and remark the low
value of eg. k=74. 
Also remember these factors where obtained by prime95 Advanced factors
first of all looking for a low or maybe the lowest value for the factor.
So my point here is chance of  k=2^x for a factor is high, espcially
when p95 has run to the end regarding 64-70 bits low facoring and not
found a factor.
 
Now am I wrong in this conclusion and should I drop the the project or
is still a small amount of light passing through the halfopen doorway?
 
br
happy hunting
tsc
 

 


   Try Will Edgingtons's page,
   http://www.garlic.com/~wedgingt/mersenne.html .
   Use used to keep a comprehensive archive of known Mersenne
factors. I am
   not sure how up to date this files are, but it is a good
starting point.

I still keep the data, but have not had time to update the
online
copies for a while now for several reasons that have nothing to
do
with GIMPS or other Mersenne stuffs.



_
Unsubscribe  list info -- http://www.ndatech.com/mersenne/signup.htm
Mersenne Prime FAQ  -- http://www.tasam.com/~lrwiman/FAQ-mers



Mersenne: Factors

2002-01-15 Thread Torben Schlntz

I have downloaded the factor files suggested by GIMPS but it gives no
meaning. How do I read the files *.cmp?
 
And why is this not documented close to the source of the *.cmp files?
 
I am also a bit disannoyed about numbers less than M751 that should be
fully factorized seems unavaible, or am I looking the wrong places? Do
you know a site which I don't?
 
I'd also like to know about any number fully factorized, whatever size
it might be, and whatever size the factor(s) might be.
 
The next step for GIMPS is a faster factoring algorithm and the way to
get that will be that someone - maybe a mathematician or some
beer-drinking fool like me - finds the stones of immortality. :-)
 
Besides I have the question: why does the advanced facor algortithm of
prime95 somtimes find 2 factors? This happens eg. at  M1289, has
108817410937 and 15856636079 as factors?
 
 
Happy hunting
tsc
 
 
_
Unsubscribe  list info -- http://www.ndatech.com/mersenne/signup.htm
Mersenne Prime FAQ  -- http://www.tasam.com/~lrwiman/FAQ-mers



Re: Mersenne: Factors

2002-01-15 Thread George Woltman

Hi,

At 11:59 PM 1/15/2002 +0100, =?utf-8?Q?Torben_Schl=C3=BCntz?= wrote:
I have downloaded the factor files suggested by GIMPS but it gives no
meaning. How do I read the files *.cmp?

 From the status.htm web page:
 You will need a special program to decompress the known factors data
 The special program is:  ftp://mersenne.org/gimps/decomp.zip

I am also a bit annoyed about numbers less than M751 that should be
fully factorized seems unavaible, or am I looking the wrong places? Do
you know a site which I don't?

Go to the Cunningham project at:
http://www.cerias.purdue.edu/homes/ssw/cun/index.html

The next step for GIMPS is a faster factoring algorithm and the way to
get that will be that someone - maybe a mathematician or some
beer-drinking fool like me - finds the stones of immortality. :-)

Good luck finding this algorithm.  Many advances have been made the
last two decades.  We eagerly await the next one!

Besides I have the question: why does the advanced facor algortithm of
prime95 somtimes find 2 factors? This happens eg. at  M1289, has
108817410937 and 15856636079 as factors?

I don't remember.  That code is no longer supported.

Best regards,
George

_
Unsubscribe  list info -- http://www.ndatech.com/mersenne/signup.htm
Mersenne Prime FAQ  -- http://www.tasam.com/~lrwiman/FAQ-mers



Re: Mersenne: Factors Everywhere

1999-09-26 Thread Brian J. Beesley

Hi everyone,

A few points about publishing known factors.

1) I don't see any particular need to make available files in human-
readable format, provided that we provide a specification for the 
file, and also binary executables for common platforms for converting 
a machine-readable file to human-readbale format. On the other hand, 
it could be that "zipping" a human-readable format file provides near-
optimal compression.

2) Since factors are of the form 2kp+1, it is only neccessary to list 
p  k. This saves a significant amount of storage (compared with 
listing p and 2kp+1) and the proper factor is easily recovered.

3) If the data was held in variable-length records in a format 
similar to

p,n,k1,k2,k3...

where n is the number of known factors and k1, k2, k3,... are the 
multipliers for each of the known factors in turn, this would save 
much duplication compared with the current format (of factor.txt).

4) For values of p which fit into a (integer) CPU register and 
"small" values of k (up to approx. 64K), trial factoring is so fast 
that I doubt it would be any faster to search a file than to repeat 
the calculation - even if the file is already available locally. 
Therefore I suggest that, in order to reduce substantially the size 
of the frequently-updated publicly-available known factors file, 
"small" values of k are omitted, and a program be provided instead to 
generate the data (with binary executables for common platforms).

Perhaps the file should contain a "flag" denoting that factors are 
known, but have been omitted for this reason.

We should still have a large master file somewhere, but this need not 
be uploaded frequently.

5) Following on from (4), it seems to make sense to record the 
highest value of k tested by trial factoring, rather than the maximum 
number of bits.

6) PrimeNet trial factoring has moved well into the 10 millions, 
however George's factor.zip file contains data only up to 10 million. 
I know there is a problem with uploading the large files concerned; 
hopefully, the suggestions above will help to reduce the size of the 
file, sufficiently to make it feasible to expand the exponent range 
to cover (at least) the active Primenet assignments for long enough 
for cheap, high-speed Internet connectivity to become widespread.

7) I have several hundred megabytes of disk space available on my ftp 
server, which has reasonable Internet access - at least 8 Mbps 
connectivity to the Internet core - and would be happy to provide 
means for anyone interested to upload factoring data (or anything 
else, strictly relevant to Mersenne or closely-related numbers) for 
the purpose of making it publicly available.


Regards
Brian Beesley
_
Unsubscribe  list info -- http://www.scruz.net/~luke/signup.htm
Mersenne Prime FAQ  -- http://www.tasam.com/~lrwiman/FAQ-mers



Re: Mersenne: Factors Everywhere

1999-09-26 Thread Will Edgington


Brian J. Beesley writes:

   1) I don't see any particular need to make available files in human-
   readable format, provided that we provide a specification for the 
   file, and also binary executables for common platforms for converting 
   a machine-readable file to human-readbale format.

I, personally, have no way of producing executables except for Intel
CPUs, and presently only for Linux (I just yesterday got a old P100
machine up running Win98 (and Prime95, of course:)).

I have thought about a binary data format off and on for a while now,
but mostly in terms of making updates easier by designing a format
that can be updated in place (at least most of the time), which is a
different problem.

   On the other hand, it could be that "zipping" a human-readable
   format file provides near-optimal compression.

Most likely, and this avoids having to provide executables to read it:
they're already out there.

   2) Since factors are of the form 2kp+1, it is only neccessary to list 
   p  k. This saves a significant amount of storage (compared with 
   listing p and 2kp+1) and the proper factor is easily recovered.

Unfortunately, it's only this simple when p is odd.  For even p,
factors can be one more than any multiple of p, not just one more than
even multiples of p.  And I'd really rather not have a different
format for even exponents ...

   3) If the data was held in variable-length records in a format 
   similar to

   p,n,k1,k2,k3...

   where n is the number of known factors and k1, k2, k3,... are the 
   multipliers for each of the known factors in turn, this would save 
   much duplication compared with the current format (of factor.txt).

This is also a good idea, but a few of the lines would be _very_ long,
which some text editors and other programs will have problems with.
I'd also suggest dropping n; including it doesn't really add anything
and it can be computed quickly from the other data.  Perhaps something
like:

n
p,pk1
,pk2
,pk3

Note that M(n) has no known factors.

   4) For values of p which fit into a (integer) CPU register and 
   "small" values of k (up to approx. 64K), trial factoring is so fast 
   that I doubt it would be any faster to search a file than to repeat 
   the calculation - even if the file is already available locally. 

Yes, but then there's no way to be sure whether the factor is already
known or not.  There was a bug in an early post-GIMPS-start factorer
of mine that caused it to miss _exactly_ one factor, of M(47).  If I
hadn't had an explicit list of factors to compare with, I would have
never found the bug.

   Perhaps the file should contain a "flag" denoting that factors are 
   known, but have been omitted for this reason.

This might be enough, though.  But note that this can already be done
using the DATABASE format, if you're willing to omit all factors.  Hm;
so perhaps a DATABASE file with all the exponents and trial factoring
extents and a second, human readable, file, as above, is a possibility.

And I've long thought about a small program ( function) to do fast,
binary lookups in large Mersenne data files like these (human readable
or binary), akin to the common UNIX "look" program for dictionary
files, but, of course, doing a numeric search rather than a dictionary
search.

   We should still have a large master file somewhere, but this need not 
   be uploaded frequently.

I update my local copy about twice a week usually; it takes only a
couple hours on my new PIII/450MHz machine and was well under a day
even on my old P233MMX system.  These times include automatically
downloading data out there every few days to a month, as appropriate
for the particular file.

   5) Following on from (4), it seems to make sense to record the 
   highest value of k tested by trial factoring, rather than the maximum 
   number of bits.

This is lacking in the DATABASE format, but my format implies this
info.

And, for a year or more, I've actually been treating the "distance" in
k's to get to the next power of two as a "gap" in the trial factoring
data and thus most of it is just above powers of two.  Note also that
exponents with known factors can be worked on by Prime95 again, after
mersfacgmp or some other factorer pushes the extent past the next
power of two above a factor.

   6) PrimeNet trial factoring has moved well into the 10 millions, 
   however George's factor.zip file contains data only up to 10 million. 

Yup.  This also means that my factors and his for exponents above 10
million have not been compared for some time.

   I know there is a problem with uploading the large files concerned;
   hopefully, the suggestions above will help to reduce the size of
   the file, sufficiently to make it feasible to expand the exponent
   range to cover (at least) the active Primenet assignments for long
   enough for cheap, high-speed Internet connectivity to become
   widespread.

Or perhaps George should simply shift to the factors of the exponents

Mersenne: Factors Everywhere

1999-09-24 Thread Will Edgington


Eric Hahn writes:

[I've already replied in detail to Eric privately.]

 I've come up with this SWAHBI (like a SWAG, but an idea
   instead of a guess).

Hm, "silly, wild *ssed, half-baked idea" ?  That's not an acronym I've
seen before.:)

 What I'm looking for is the following two items for *all*
   Mersenne numbers 2^p-1 where p is prime and p1:
 1) All known factors (including, but not limited to,
the smallest known factor (noted if it isn't))

My data contains some prime exponents with as many as eight known
prime factors.

 2) Largest potential factor attempted

I have this as well, but there are also some gaps in the trial
factoring efforts to date, which I also keep track of and try to
close.

 I ask that the two items are human-readable at the
   very least.

The format I use is described in the mersfmt.txt file; it is human
readable, being primarily alphanumeric plus parentheses and colon (:).
Conversion to just about any other printable format is easy; UNIX has
lots of tools that allow this sort of text manipulation.

 I've pulled a couple of files off mersenne.org 
   (FACTORS.ZIP and NOFACTOR.ZIP) as well as off 
   Alex Kruppa's page.  While the files appear complete
   as far as I can tell, they only cover the ranges
   of p between 11 - 9,999,991 and 33,219,281 - 35,999,993.

Correct.  George has still not asked me for my data for exponents
above 10 million, but it's probably almost as easy to retest as to
have me send (my data isn't very deep for the exponents above 21
million or so), and makes for a good double check.

   They also don't cover *all* known factors!

Correct; since GIMPS is mainly looking for Mersenne primes, Prime95
stops at the smallest factor (which is not always the first factor it
finds for an exponent because of the 16 pass approach in the sieving
code).

 Any and all information on the ranges between 10M - 33.22M and
   above 36M is greatly appreciated, as well as any known factors not
   listed in the files I've pulled.

My prime exponent data for all ranges is now about 111 MB; this
includes all known factors, each exponent's largest attempted trial
factor, and all the ECM and P-1 effort (but no P-1 save files).  The
gaps data is another 9MB, and the P-1 save files, mostly from
Factor98, are about another 110 MB.  All but the P-1 save files use
the format described in:

http://www.garlic.com/~wedgingt/mersfmt.txt

... which is human readable and accepted by the mers package programs.
The P-1 save files are understood by the mers package's extract enough
to print most everything but the "residue" itself, including the beta
release's extract understanding the new P-1 save file format of George
Woltman's Prime95 v19.  Extract's understanding of the P-1 save file
formats will be extended, when I get around to it, to converting from
one P-1 format to another.

Conrad Curry writes:

 Will Edgington maintains this information, but it may be
   hundreds of megabytes in size.  If a website, such as
   Entropia, has the space it will be useful to make this database
   available (in many small compressed files) so that others may
   use it.

Yes, but the first problem is that my 56Kb modem is in the way.:(
But I would be willing to upload it a range at a time over a month or
so, going back to the start to update ranges that have changed since
their last upload, if someone out there has enough web disk space
for it.

And what GIMPS needs, the list of prime exponents with some data but
no known factors, is still quite small, especially in the binary
DATABASE format (which extract can print in the mersfmt.txt format);
that DATABASE file for all prime exponents with data but no factors is
only 2MB presently.  It is produced by the contract program during my
updates and put in the mersdata.{zip,tgz,tar.gz} file.

Eric Hahn writes:
   
   If no information is known where p100M, then what can I do??

I have some data for exponents over 2^31.  The smallest prime exponent
with no data is only 21556027 presently (though I increase it some
with every update), however, and most of the data is below that.

Also, generating new data for a given prime exponent under about 2^60
(if your machine has an eight byte integer type available in C) or so
is easy using mersfacgmp; all it takes is CPU time.

Will

http://www.garlic.com/~wedgingt/mersenne.html
mers.tgz
mers.tar.gz
mers.zip
mersfmt.txt
mersdata.tgz
mersdata.tar.gz
mersdata.zip
_
Unsubscribe  list info -- http://www.scruz.net/~luke/signup.htm
Mersenne Prime FAQ  -- http://www.tasam.com/~lrwiman/FAQ-mers



Re: Mersenne: Factors Everywhere

1999-09-19 Thread Conrad Curry



On Sat, 18 Sep 1999, Eric Hahn wrote:

   What I'm looking for is the following two items for *all*
 Mersenne numbers 2^p-1 where p is prime and p1:

  It can be proven that there are an infinite number of these.


   1) All known factors (including, but not limited to,
  the smallest known factor (noted if it isn't))
   2) Largest potential factor attempted
   I ask that the two items are human-readable at the
 very least.

  Will Edgington maintains this information, but it may be
hundreds of megabytes in size.  If a website, such as
Entropia, has the space it will be useful to make this database
available (in many small compressed files) so that others may
use it.


_
Unsubscribe  list info -- http://www.scruz.net/~luke/signup.htm
Mersenne Prime FAQ  -- http://www.tasam.com/~lrwiman/FAQ-mers



Re: Mersenne: Factors Everywhere

1999-09-19 Thread Eric Hahn


   What I'm looking for is the following two items for *all*
 Mersenne numbers 2^p-1 where p is prime and p1:

  It can be proven that there are an infinite number of these.

Yeah, right, I knew that...  I guess I should've clarified
and said for all of them that the information is known :(  
If no information is known where p100M, then what can I do??

   1) All known factors (including, but not limited to,
  the smallest known factor (noted if it isn't))
   2) Largest potential factor attempted
   I ask that the two items are human-readable at the
 very least.

  Will Edgington maintains this information, but it may be
hundreds of megabytes in size.  If a website, such as
Entropia, has the space it will be useful to make this database
available (in many small compressed files) so that others may
use it.

Isn't the majority of the information he has in
machine-readable format though??  I can't make much use
of it, if I can't read it...

Eric Hahn

_
Unsubscribe  list info -- http://www.scruz.net/~luke/signup.htm
Mersenne Prime FAQ  -- http://www.tasam.com/~lrwiman/FAQ-mers



Mersenne: Factors Everywhere

1999-09-18 Thread Eric Hahn

Ok,

  I've come up with this SWAHBI (like a SWAG, but an idea
instead of a guess).

  What I'm looking for is the following two items for *all*
Mersenne numbers 2^p-1 where p is prime and p1:
  1) All known factors (including, but not limited to,
 the smallest known factor (noted if it isn't))
  2) Largest potential factor attempted
  I ask that the two items are human-readable at the
very least.

  I've pulled a couple of files off mersenne.org 
(FACTORS.ZIP and NOFACTOR.ZIP) as well as off 
Alex Kruppa's page.  While the files appear complete
as far as I can tell, they only cover the ranges
of p between 11 - 9,999,991 and 33,219,281 - 35,999,993.
They also don't cover *all* known factors!
  Any and all information on the ranges between
10M - 33.22M and 36M is greatly appreciated, as well
as any known factors not listed in the files I've
pulled.

Eric Hahn


_
Unsubscribe  list info -- http://www.scruz.net/~luke/signup.htm
Mersenne Prime FAQ  -- http://www.tasam.com/~lrwiman/FAQ-mers



Mersenne: Factors of DecMega

1999-09-09 Thread Lucas Wiman

Scott/all,

I downloaded the newest beta for Prime95V19, and set it to ask for 10,000,000
digit Mersennes.  In my worktodo.ini file, I got the line:
Test=33219379,32

This surprised me!  I had tested this number to 2^47, and Alex Kruppa had
tested it to at least 2^55 (further investigation revealed 2^60).  You should
update primenet's files pertaining to this off of those at
http://www.informatik.tu-muenchen.de/~kruppa/M33M/index.html

-Lucas Wiman

_
Unsubscribe  list info -- http://www.scruz.net/~luke/signup.htm
Mersenne Prime FAQ  -- http://www.tasam.com/~lrwiman/FAQ-mers