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 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



Mersenne: Factor98

2000-06-27 Thread Will Edgington


Reto Keiser writes:
   Where can I find the p-1 tool factor98.exe? As far as I know it
   supports p-1 factoring furteher than prime95 (prime95 only allows a
   b1 up to 700M). is this tool still available?

As Stefanovic as already replied, yes, it's still out there.  Further,
I still have several Factor98 (and Factor95) save files for certain
small Mersennes.

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



Mersenne: Factoring Assignments: Are They Always "First-Time?"

2000-06-18 Thread Will Edgington


Stefan Struiker writes:
   When a requested factoring assignment is listed with, say, 52 in an
   account log, does this mean it has been factored to 52 bits, but
   _without_ success?

Yes, the number should have no factors less than 2^52.

   Or could a factor have already been found in some cases, but less
   than 52 bits long?

Nope, unless the factor was not reported for some reason (bug, disk
crash, etc.).

   My strategy in factoring 13.3 mill exponents and up, is to save L-L
   testing and DCing time by knocking some out early.  Seem to be on a
   roll, too, with factors found 40% of the time, with a turnaround of
   40 hours per.

That's a very high rate of factors, I'd've thought, but that happens
sometimes.

In any case, Prime95 "knows" how much factoring work should be done
for a particular Mersenne number before starting an LL test (first or
double-check) on it and will do more factoring if the data it gets
from Primenet (or other source) indicates the number has not been
factored "enough".  The predicated chances of finding a factor during
trial and P-1 factoring is taken into account, along with how long the
factoring takes to do and how long the two LL tests will take.

So your phrase "knocking some out early" is exactly correct: if noone
tries to factor a particular Mersenne number before it is given to a
Prime95 that wants to run an LL test, that Prime95 will do some
factoring first, usually before it even finishes the prior Mersenne
number's LL test (to make sure it has "enough" work in worktodo.ini).

Eric Hahn writes:
   If it's listed as 52 in the fact-bits column of the report, it
   means that it's been trial-factored thru 2^52 without any factors
   being found.  Currently, all exponents thru Prime95's limit of
   79.3M have been factored to at least 2^50...  If a factor is
   found for an exponent, it's eliminated from further testing
   of any kind.

Yup.  Here's a short summary of my current data.  For Mersenne numbers
with prime exponent that have no LL test nor a factor, here are the
smallest exponents trial factored only as far as the last column:

M( 5178743 )U: 2^62
M( 8896813 )U: 2^61
M( 9993539 )U: 2^60
M( 10078559 )U: 2^55
M( 11300657 )U: 2^54
M( 11505331 )U: 2^53
M( 11521879 )U: 2^52
M( 20500019 )U: 2^51
M( 30100181 )U: 2^50
M( 79300037 )U: 2^45
M( 79306169 )U: 2^43

The exponents above 79.3 million have probably only been worked on by
me, personally, since they're above Prime95's limit, but I'm still a
bit surprised they haven't been factored further; trial factoring to
the same depth is _easier_ for larger exponents, not harder.

Jeff Woods writes:
   Isn't the factor itself verified?

Yes, if only by me, as I noted in another thread in the last couple of
weeks.

Will

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



Mersenne: Linux And The Slippery Gnome

2000-06-18 Thread Will Edgington


   Trying to start a PrimeHunt on a Linux box, but can't find the
   Gnome switch/requeste(o)r to get the screen resolution down enough
   so I can read without a microscope.  Can anyone help?  Am running
   Redhat 6.1 with a VooDoo 3500 GFX card.

Presuming you're running in an xterm window, try holding down a control
key and pressing & holding your third mouse button while in that
window; xterm should bring up a list of font sizes.  Simply release the
mouse button while the mouse cursor is on the one that you want to try.
This means that each xterm can have a different font size, if that's
what you want.  The font, including size, can also be given on the
command line, as in 'xterm -fn 9x15bold' (e.g.).  'xlsfonts' will list
the fonts your X11 server knows about, but it's usually a very long
list, so you probably want to redirect it into a file ('xlsfonts >
file') or something similar ('xlsfonts | more', perhaps).

Setting the font you want so that new xterms start with it is somewhat
messy, usually involving your ~/.Xdefaults file, but there may be a
configuration tool in Gnome that I'm not aware of (I was using X11
before Linux was created, let alone before Gnome, so ... :).

Some X11 configurations, usually declared in /etc/X11/XF86Config,
support more than one video resolution, which is usually changed while
running X with control-alt-(keypad's + key) and control-alt-(keypad -).
These support virtual screens in that the pixels that fit within the
display area are only part of what X11 is actually displaying; simply
try to move the mouse off the edge of the screen towards what you want
to see that's off the edge.  The size of the virtual screen is only
limited by the amount of memory your video card can access and the
color depth (256 colors fit in 8 bits, e.g., as Mersenne hunters
should know :).

Will

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



Mersenne: What Happens Once A Factor Has Been Reported?

2000-06-14 Thread Will Edgington


   Once a factor has been logged for an M-candidate, either by P-1
   or by "the other" method, what M-happens?  Is a different sort
   of double-checking automatically done?

I've forgotten what GIMPS or PrimeNet do in this regard, but all
Mersenne factors sent to me - and George Woltman and several other
people send all the factors they know about to me at some point - are
verified to be correct by my update scripts.  The actual calculation
is done by a short function in the UNIX bc (basic calculator) command,
which is not exactly speedy (nor slow - it's a very fast algorithm,
that loops over the _bits_ of the Mersenne exponent), but it is
completely independent, code-wise, from all the GIMPS and mers package
programs.

My update scripts also automatically download all the new data from
ftp://mersenne.org/gimps, Paul Leyland's Cunningham Project site,
Dr. Wagstaff's site at Purdue, and a few others, typically once every
week or two.

Will

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



Mersenne: Common practice for P-1 math?

2000-06-14 Thread Will Edgington


 I was wondering if it was common practice (ie: the norm) for P-1
   to take the product of two or more factors when giving out a found
   factor, if two of more factors are found?

Yes, if both factors are "smooth" enough, they could be found as their
product, rather than individually.  "Smooth" is defined as one less
than the factor having no factors larger than the stage one P-1 bound
plus up to one factor between the stage 1 and stage 2 bounds.

 To clarify, I was curious about how P-1 would indicate more than
   one factor being found.  So, I took M113 and fed it into Prime95
   with the bounds of B1=200, B2=2.  Prime95 notified me that P-1
   had found a factor in Stage #1, and that the factor was
   9734174361238150513.  This factors out to 3391 * 23279 * 65993 *
   1868569, all of which are known factors of M113.

For example, all the primes factors of 3390, 23278, 65992, and 1868568
are likely smaller than 200.  If not, at most one factor of each
number should be between 200 and 20,000.

Note that there are three factors of 9734174361238150512 that are
larger than 20,000; that doesn't matter.

Because of this possibility of new factors being composite, I
sometimes run a script that checks for composite factors in all my
data and my update scripts check all new factors against smaller
factors for the same exponent (to see if the smaller factor is a
factor of the new factor).

All new factors are also checked to verify that they are actually
factors and whether they are also factors of some smaller Mersenne;
the latter is not uncommon for new factors found by P-1 or ECM for
composite exponent Mersenne numbers, but cannot happen for prime
exponent Mersennes.

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



RE: Mersenne: Just curious

2000-04-19 Thread Will Edgington


Aaron Blosser writes:
   I don't suppose George could just program something into the code
   to have it check for the user being idle (like the screen saver
   check does, but independent of the system screen saver routines)
   such that if the user doesn't hit a key or move the mouse for xx
   minutes, it would begin it's calculations (still at whatever
   priority you set it to...idle by default), but when the user is
   hitting keys or moving the mouse, it'll stop calculations
   altogether?  That may allay the (unfounded) fears of some that
   Prime95 somehow steals cycles from other running programs.

Unfortunately, I have personal experience in this area, though not
with Prime95.  My own (UNIX-based) Mersenne programs and scripts, from
before GIMPS started, included checks not only that all logged on
users were idle for at least three hours, including their terminal,
mouse, and keyboard, but also that the load was only the 1.0 due to
the program itself (and less than 0.1 or so when starting).  These
checks themselves (that the load remained low and any users were still
idle), when performed every two minutes under SunOS 4.x on the
SPARCstation 1's and 2's that were available at the time, usually
kicked the load average up another 0.5 or so.

But two minutes is quite a while to wait for something hogging your
CPU to stop.  At least according to the ten or so people that
complained out of the roughly 100 computers my scripts were running on
for a couple of years.  And the scripts were careful to start only
after hours, even if the computer appeared idle during the day.  And
the programs that did the actual work (almost always trial factoring
because I didn't have an FFT-based LL program) always ran at the
absolute lowest priority UNIX offers.

Note further that checking to start things was done remotely; there
was _no_ process of mine on the local machine when it was not idle,
not merely a process only checking for idleness: the load average and
user list could be checked without any local process.

There were _still_ complaints.  Even though the only thing that some
of them could point at that indicated "slowness" was the load average
being 1.0 instead of 0.0.

So, no matter how much CPU you think this sort of change could gain
GIMPS, I must suggest that it _not_ be done.

Except - perhaps - under the control of another .ini variable and the
default is to do things the current way.

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



Mersenne: New mersenne.html & MMPstats.txt, DB.nf bug fix

2000-04-18 Thread Will Edgington


I've just updated my mersenne.html page, mostly by adding a new
section of "quick links" near the top that point to other people's
sites, including a new one for the factoring status of Fermat numbers
maintained by Jocelyn Larouche.

I also updated the data on M(M(p)) factoring progress and added a link
pointing to the new Fermat number page from it as well.  The only new
data is from Tony Forbes, I believe.

Lastly, a bug in my update scripts that affected the contents of the
DB.nf file has been fixed.  DB.nf lists the trial factoring progress
for all Mersenne numbers with prime exponents that are known to be
composite but for which we have no known factors.  The bug caused some
exponents that should have been included to be skipped, including
M(727).

Will

http://www.garlic.com/~wedgingt/mersenne.html   Mersenne number info, software
http://www.garlic.com/~wedgingt/MMPstats.txtData on M(M(p)) factoring
http://www.garlic.com/~wedgingt/mersdata.tgzData on M(n), tar'd & gzip'd
http://www.garlic.com/~wedgingt/mersdata.zipSame, zip'd
_
Unsubscribe & list info -- http://www.scruz.net/~luke/signup.htm
Mersenne Prime FAQ  -- http://www.tasam.com/~lrwiman/FAQ-mers



Re: Mersenne: V20 beta #3

2000-04-15 Thread Will Edgington


Brian J. Beesley writes:
   On 15 Apr 00, at 4:22, Henrik Olsen wrote:
   > I just tried downloading 20.3, both mprime and sprime, as well as tried
   > with mprime 19.0.2 . None of them where able to detect the network as
   > being available on a machine running Mandrake Linux, kernel version
   > 2.2.14-15mdksecure, probably due to /proc/net not being readable by
   > non-root on such a system, which is a bit of a bummer, as I as I don't
   > want to have to run it as root. :(

   1) Install mprime with suid privelege. This should enable mprime to 
   read /proc/net as though it were running under root even though it's 
   actually running under an unpriveleged user.

As Henrik later points out, this is _not_ a good idea.  I'm sure we
all trust George - or we wouldn't be running his binaries - but he is
not a Linux security expert, and even I wouldn't do this and I've not
only read the source code, I've worked with UNIX security since 1980
and I see nothing wrong with the code in the security sense.

Besides, there are other solutions.  Which is, by the way, the first
"test" that setuid should not be used: it should only be used as a
last resort, after just about everything else has been tried.

   2) Get out your hacker's hat and fix the problem in the source code.

The first time I read this, I thought you meant the Prime95 source
code.  That's certainly where I'd look first.

   I'd guess that all you need to change is the code which creates the 
   /proc pseudofilesystem at boot time. As you've probably found, you 
   don't seem to be able to change the permissions on "files" in the 
   /proc tree on a running system - even if you _are_ root.

I would guess that there are good reasons that the authors wrote it
this way.  In any case, it's much easier to fix this in Prime95.

   3) Is Mandrake really linux, or just a linux clone? I think the 
   latter. If I'm right, then perhaps switching to a genuine linux (Red 
   Hat, or SuSe) might be a sensible thing to do. Though the official 
   Red Hat distribution retail package is expensive, you can get just 
   the CD for about $2, or download the distribution FoC (not 
   reccomended unless you have fast internet access!)

This also would be a lot of work and may not even be an option for
many people.  So:

4. Look at the Prime95 source code (well, for version 19.1 anyway,
which is the one I've got unpacked on my system presently) near line
761 of linux/primenet.c, where there's an fopen("/proc/net/route",
"r") inside an #ifdef __linux__.  Look lower down, after the #endif,
and note that __FreeBSD__ doesn't have a similar check; it simply
always returns TRUE.  Looks to me like it would be very simple to add
a check for the fopen() failing due to permissions or whatever under
Linux and return TRUE (i.e., that the system is connected to the
network), perhaps based on a new flag in one of the .ini files.

In fact, always returning TRUE from that function is not that big a
deal; if TRUE is returned when FALSE is correct, all that will happen
is that the later call to connect() - to actually try to connect to
Primenet - will fail and Prime95 will complain to the log file and
screen.  I see such complaints all the time on my Win98 machines and
my new Debian Linux machine (which is running the unmodified RedHat
Linux mprime binary just fine, as far as I can tell).

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



Mersenne: SPARC/Solaris client

2000-04-13 Thread Will Edgington


Eric Bravick writes:

   Is anyone actually working on the SPARC/Solaris client?  I've seen
   it under "coming soon" ever since I joined the effort.  Speaking as
   someone with a bunch of SPARC CPU's sitting around doing (almost)
   nothing, I'm kind of interested in seeing this port...

Yes, a lot of people are waiting quite patiently.  Unfortunately, I
have not had enough time, partly - but nowhere near entirely - because
I don't have access to a SPARC any more.

But, since you don't say what kind of client, I'll point out that
there are LL test and factoring programs out there that run on SPARCs;
the only current lack is automatic PrimeNet support.  Using PrimeNet's
manual test pages is quite feasible.

Will

http://www.garlic.com/~wedgingt/mersenne.html  Mersenne info & links
mers.tgz   Mers package (C software)
mers.zip   Zip'd instead of tar'd & gzip'd
_
Unsubscribe & list info -- http://www.scruz.net/~luke/signup.htm
Mersenne Prime FAQ  -- http://www.tasam.com/~lrwiman/FAQ-mers



Mersenne: M727 has a factor?!?!?

2000-04-08 Thread Will Edgington


   P-1 on P727 with B1=30, B2=1
   P727 stage 1 complete. 116 transforms. Time: 0.018 sec. (4659194 clocks)
   Stage 1 GCD complete. Time: 0.001 sec. (164887 clocks)
   P727 has a factor: 11633

 This meets all the criteria too
 1) 11633 is PRIME.
 2) 2kp+1 = 2*(8)*727+1 = 11633
 3) 8n+1 = 8*(1454)+1 = 11633
 4) 2^p (mod n) = 2^727 (mod 11633) = 1

11633 divides M1454 where 1454 = 2*727, but 11633 does not divide
M727.  Your #4 calculation has a bug, probably a rounding error; the
correct result is 11631.  In fact:

M( 1454 )C: 11633
M( 1454 )C: 52068472442119144511578580563
M( 1454 )C: 59803996769241650545074361210286131
M( 1454 )D

That is, M1454 is considered to be completely factored even though it
is a multiple of M727, which is known to be composite but has no known
prime factors.  There are other cases like this in the data.

>From my "reverse method" program, I should now have all factors less
than about 1.6 billion for _any_ Mersenne number with an exponent less
than 2^30 (just over a billion).

Will

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



Mersenne: P-1 factoring of large exponent Mersenne numbers

2000-04-07 Thread Will Edgington


Paul Leyland writes:

   A nasty thought just struck me.

It struck me in a different context some time ago; it might even be
archived.

   When applying P-1 to mersenne numbers, an additional 2*p ought to
   be included in the product, over and above all the powers of prime
   < B1.  Can anyone who knows for certain reassure me that this has
   been done for the prime95 V20 implementation?

I don't know about the prime95 V20 implementation per se, but George
was aware of this quite some time ago, because he once told me that it
is/was being done in Factor98, his older, stand-alone, P-1 factorer.

While I'm here, I still accept P-1 factoring reservations and Factor98
and Factor95 save files for small exponent Mersennes.

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



Mersenne: p-1 and trial factoring

2000-02-27 Thread Will Edgington


Reto Keiser writes:

   A lot of factors of exponents between 1 and 100 were found
   using the new P-1 method. Is there a database which contains which
   exponent were tested using which B1 and maybe a database od the
   save files?

The P-1 data is also collected by me, in the 'o:' lines of my
programs' usual format (merfmt.txt).  I also collect P-1 save files
and try to keep track of who is running Factor98 and other (older) P-1
programs on which exponents.

Note that this will likely not affect the new GIMPS and Primenet P-1
efforts, as I'm concentrating on small exponents where complete
factorizations might be feasible; the new GIMPS P-1 efforts will be to
find a first factor to avoid having to do LL tests.

Will

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



Re: Mersenne: Factoring Mersenne

2000-01-22 Thread Will Edgington


Daniel Grace writes:

   > Anyway, any mersenne's factor can be written as 2kp+1
   
   > directly). Call (P-1)/p = Q
   > 
   > Then 2n = Q mod p
   > n = Q/2 mod p which is well defined
   > Therefore we can find the sun of the two factors mod p.

   I think what you are trying to say is
   M_p is composite for p a prime iff
   1+2kp divides (2^(p-1)-1)/p - k for some k>0.
   
   If I am not mistaken factoring this using current methods
   is harder than factoring 2^p - 1.

Yup, almost certainly, if only because k is needed twice.  The current
trial factoring method does not even use k per se.

   Remeber it is easy to trial divide 2^p - 1 using bit wise
   operators, because 2^p - 1=1+2+2^2+...+2^(p-1).  Let u be a
   potential divisor (e.g. u=2kp+1) then let j be smallest int. such
   that 2^j-1>u then you can try dividing 2^p-1 using just j bits of
   storage.  e.g. start with 1+2+2^2+...+2^(j-1), subtract u, shift to
   the left appending 1's at the start, until you get v>u, subtract u
   and so on.  I think that the software stops if it gets a residue of
   0 before all p bits have been eliminated - in this case u divides
   some smaller Mersenne.

Not quite.  My "reverse method" works that way, and will find the
smallest Mersenne exponent which is a multiple of a given odd number,
but the fastest-so-far trial factoring method actually squares and
perhaps multiplies by two modulo the trial factor each loop, starting
with two and looping over the _bits_ of the Mersenne exponent, making
it quite fast.  If the particular bit is one, the multiply by two
occurs; if it's zero, it doesn't.  That is, it calculates the Mersenne
number (two to the exponent power) mod the trial factor.

This algorithm is in Knuth, apparently, which I don't have a copy of.
Before GIMPS, I was doing something slower; George Woltman told me
about this method, speeding up my then-current trial factoring program
by a factor of about three (in Jan. 1996 or so).

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



Mersenne: Updated web pages; new factor counts & percentages

1999-10-28 Thread Will Edgington


I've updated my web pages Yet Again, including adding some quick links
at the top of mersenne.html to the other Mersenne related files on my
web site.

The 1stfacnt.txt file is gone; I've split it into facntHU.txt (for
incompletely factored Mersennes) and facntD.txt (for completely
factored Mersennes) and the counts are no longer only for first
factors, but for second factors, third factors, etc., as well.  The
files also provide counts for all exponents, for only prime exponents,
and percentages with at least one, at least two, etc., factors out of
the exponents for which I have any data at all, rather than just
counts of factors.

There's a significant drop in the percentages of prime exponent
Mersennes with known factors for exponents above 10 million, but that
may simply be because GIMPS and Primenet factoring haven't done much
for exponents that large yet.  Comments?

All Mersenne numbers with prime exponents less than 80 million have
been trial factored to at least 2^41.  All Mersenne numbers with
exponents under 24687 have had primality checks of their cofactors.
All SPRP cofactors with less than 836 decimal digits have primality
proofs (with a few exceptions; the binary version of ECPP that I have
crashes for some numbers).

Will

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



Mersenne: Trial-factorers

1999-10-28 Thread Will Edgington


Eric Hahn writes:

   I'm looking for program(s) capable of trial-factoring 
   prime exponent Mersenne numbers (using 2kp+1) meeting
   the following requirements:

   1) Capable of trial-factoring any exponent > 1 
  (at least to some considerably large number,
   say 1 trillion?)

If your C compiler supports a 64 bit integer type, the mers package
factorers mersfacgmp and mersfaclip can use that for the exponent,
allowing exponents to about 2^64/24 (about 768 quadrillion, ~7e17).
The '/24' can be reduced to '/2' by using a lower number of sieve
passes.  If you don't have a 64 bit integer type, then you're limited
to 2^32/24 or so (about 178 million).  See setup.h for the #define's
of BIG_LONG.

   As I recall, Brian [Beesley] mentioned something once
   about having a program that could test an exponent
   of an arbitrary size...  Brian??

The mersfac* code could be modified to allow arbitrary exponents
without a lot of work, but it wouldn't be trivial to do either.  I do
intend on doing it someday, however, to support the factoring of the
M(M(p))'s, as the sieving of trial factors in mmtrial is not as good
as that in mersfac*.

   2) Capable of testing a factor of any size.
  (even over the 2^76 limit of Prime95).

Mersfacgmp and mersfaclip use the FSF's libgmp and A. Lenstra's
freeLIP libraries, respectively, for the trial factors.

   3) Capable of trial-factoring a range of k's.
  (example: from k=1000 to k=2500)

As Alexander Kruppa noted, this is not supported directly, but could
be done fairly easily with bc.  And it could be added to mersfac*
directly without a lot of effort; see rw.c where it reads the command
line and the input file(s), especially the -m flag.  The -a flag is
probably also of interest; without it, mersfac* will stop when it
finds a factor rather than looking for all the factors in a range.

The simplest way to do it with bc would be to create 'G' (gap) lines
like:

M(  )G:  

where '' is the exponent and '' and '' are the first
and last trial factors to test.

In any case, part of the output will be 'J' (join) lines, that show
exactly what range of trial factors were actually tested; please
include them in any output of mersfac* that you send to me.

  Will

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



Re: Mersenne: New beta mers release: new Lucas-Lehmer program

1999-10-06 Thread Will Edgington


Simon Burge writes:

   Unless you're doing a timed run, maybe "kill -STOP pid" and "kill -START
   pid" on the ecm3 run might give more accurate results - I hate to think
   of what's happening to the cache...  I use this on machines that have
   mersenne1 running when users notice X load showing a constant load
   average of 1.0.

I tried this just before uploading the new beta with tunefftw.c in it
and MacLucasFFTW's speed improved by less than 3% over the run with
the tuning done while ecm3 was running.  So either the cache is not
the bottleneck or that Linux's context switching with 128 MB RAM is
quite good, as a guess.

   My early tests on a 200MHz UltraSparc are not that encouraging.
   [...times deleted...]

Sigh.:(  Though it does look like MacLucasFFTW is faster when the FFT
length is enough lower ... by, hm, about 10% ?

But MacLucasFFTW2 using two CPUs isn't as fast as two MacLucasUNIX's
running at the same time, is it?  I would guess not, from those
numbers.

   The -C means don't checkpoint ever and -S N means print a speed
   update every N iterations.  MacLucasFFTW2 is hard coded to use 2
   threads.  The case for 4609273 is iteresting, with nearly identical
   FFT lengths...

Yeah.:(

   I'm assuming that you're seeing such a speed-up on Intel because of the
   lack of registers that MacLucasUNIX likes, and FFTW is doing a better
   job under these conditions.

Looks that way, or something similar.

   Will - I'll send you a diff that I used for the timing stuff.

Yes, please do when you have time; it'll save me from having to
reimplement it.

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



Re: Mersenne: New beta mers release: new Lucas-Lehmer program

1999-10-04 Thread Will Edgington


Simon Burge writes:

   Only runtime wisdom - Will didn't put tunefftw.c in the distribution.
   If you or Will can send me a copy I'll try the tests again.

OK, I've ftp'd a new beta release that includes tunefftw.c and runs it
before doing the test of MacLucasFFTW.

   I've kept a not-very-close eye on fftw, and wrote a simple
   fftw-based LL tester about two years ago, but used fftw and not
   rfftw.  For reference, it's at
   ftp://melanoma.cs.rmit.edu.au/pub/simonb/fftwll.tar.gz.

OK, I'll take a look when I find time.

Will

http://www.garlic.com/~wedgingt/beta.tgz
beta.tar.gz
beta.zip
beta.shar
_
Unsubscribe & list info -- http://www.scruz.net/~luke/signup.htm
Mersenne Prime FAQ  -- http://www.tasam.com/~lrwiman/FAQ-mers



Mersenne: New beta mers release: new Lucas-Lehmer program

1999-10-04 Thread Will Edgington


I have ftp'd a new beta release of the mers package to:

http://www.garlic.com/~wedgingt/beta.tgz
beta.tar.gz
beta.zip
beta.shar

I'm announcing it to the mailing list because it includes a brand new
Lucas-Lehmer test program called MacLucasFFTW.  It was modified by
Guillermo Ballester Valor from MacLucasUNIX to use the FSF's FFTW
("Fastest Fourier Transform in the West") library, which is available
at www.fftw.org.  I have made some small changes to get it to pass the
mers package's simple Makefile tests on my machine and noone else has
tried it yet, so it's perhaps more of a late alpha version than a
beta, but ...

... I had this odd feeling that people would want it quickly, because
Guillermo reported that it's faster than MacLucasUNIX by a factor of
nearly three (!) (for the same FFT lengths) on his PentiumPro and it's
about a factor of two faster on my Pentium III 450 MHz.  Some of my
changes - short as they were - likely slowed it down, unfortunately.

More good news: FFTW supports non-power-of-two FFT lengths.  And
"tunes" itself to the hardware and software around it at run time, and
MacLucasFFTW saves this tuning information externally in a file for
next time, so more tuning only needs to be done for new, mostly
larger, FFT lengths.

Guillermo was able to use most of the mers package functions, so the
usage and input/output formats and so on are the same as the other
mers package LL test programs.

I've included Guillermo's README file, renamed to README.MacLucasFFTW,
essentially verbatim.

Guillermo also sent me a short program that does the tuning outside of
MacLucasFFTW; I will include that in a later release if there are
requests for it, but MacLucasFFTW can do the tuning itself just as
well, and even prints when it's tuning and for what FFT length.

FFTW itself installs with the usual configure and make, and also
includes a test suite, invoked via make as well.

However, there are some (small) drawbacks: MacLucasFFTW may not be
able to read checkpoint files produced by the other programs; I know
it cannot do so on Intel hardware, because the others, there, use
'long double', a 64 bit mantissa type, and FFTW does not appear to
work with that.  Guillermo and I have no non-Intel hardware to test
with, so someone out there will have to try that.  Of course, for many
exponents, MacLucasFFTW will use a smaller FFT length, so ...

The other Lucas-Lehmer test programs in the mers package will not be
able to read MacLucasFFTW checkpoint files correctly, at least for the
non-power-of-two FFT lengths.  They should, however, simply reject the
MacLucasFFTW checkpoint files that they can't use as invalid rather
than corrupting them or trying to "resume" from bogus data.

Lastly, I'm not sure where FFTW has been ported; machines not running
some flavor of UNIX may or may not be able to compile it: I simply
haven't had time to check.

The timings on my PIII/450MHz of the Makefile tests are:

time -v ./fftlucas -o- testLL.in | sed -e 's/, n = .*//' > test.fft
User time (seconds): 784.40
System time (seconds): 0.15
Percent of CPU this job got: 49%
Elapsed (wall clock) time (h:mm:ss or m:ss): 26:25.99
time -v ./mersenne1 -o stdout testLL.in | sed -e 's/, n = .*//' > test.mers1
User time (seconds): 711.40
System time (seconds): 0.05
Percent of CPU this job got: 49%
Elapsed (wall clock) time (h:mm:ss or m:ss): 23:47.97
time -v ./mersenne2 testLL.in | sed -e 's/, n = .*//' > test.mers2
User time (seconds): 745.58
System time (seconds): 0.03
Percent of CPU this job got: 49%
Elapsed (wall clock) time (h:mm:ss or m:ss): 25:00.22
time -v ./MacLucasUNIX `cat testLL.in` | sed -e 's/, n = .*//' > test.mlu
User time (seconds): 305.73
System time (seconds): 0.02
Percent of CPU this job got: 49%
Elapsed (wall clock) time (h:mm:ss or m:ss): 10:14.87
time -v ./MacLucasFFTW -ostdout `cat testLL.in` | sed -e 's/, n = .*//' -e '/^[^M]/d' 
-e '/^$/d' > test.mlf
User time (seconds): 133.56
System time (seconds): 0.06
Percent of CPU this job got: 49%
Elapsed (wall clock) time (h:mm:ss or m:ss): 4:29.95

MacLucasFFTW had already done the tuning for the FFT lengths used
prior to this run, but I believe it would still be faster than
MacLucasUNIX even if it had not already done the tuning.

(The 49% CPU usage is because my computer was also doing a long term
ecm3 run, including during the FFTW tuning.)

Feel free to send me any questions, bug reports, and so on.  As he
notes in comments and his README file, I believe Guillermo welcomes
feedback as well.

Will

http://www.garlic.com/~wedgingt/mersenne.html
beta.tar.gz
beta.tgz
beta.zip
  

Re: Mersenne: Factors Everywhere

1999-09-26 Thread Will Edgington


Will Edgington writes:

[Yes, I'm following up to my own message.:)]

   n
   p,pk1
   ,pk2
   ,pk3

   Note that M(n) has no known factors.

Trying this out just now, the 111 MB of data that I have for prime
exponent Mersennes in the mersfmt reduces to a bit under 20 MB if this
format is used for only the prime exponents with known factors.  Gzip
(using max compression) gets that down to 7.1 MB.

Producing & gzip'ing it from the mersfmt of the data takes only a
couple of minutes on my machine, so adding it to the automatic update
won't slow things down enough to notice.

A quick line count of ungzip'd file (about 2 seconds, from cache:)
produces a count of 1,677,377 known factors of prime exponent Mersenne
numbers (that aren't completely factored).

Will
_
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 exponent

Mersenne: Mersdata update & web server "fix"

1999-09-25 Thread Will Edgington


I have, just today (Sat., 25 Sept.), updated the mersdata file on my
web site; the lowM.txt file now contains all of the data that I have
for all Mersenne numbers with exponents thru 1 million, pushing the
size of the mersdata file (gzip'd or zip'd) to about 6.5 MB.  That
pushes my usage to a bit over 15 MB of the 35 that I'm now allowed, so
lowM.txt may get larger still.  Or, if there's interest, I'll try to
figure out a way to "rotate thru" all of my data somehow.

As for the web server "fix", every now and then over the last year or
so, someone complained that they couldn't download one or more of the
.gz, .tgz, or .zip files from my ISP's web server; since I never had a
problem and they were always, eventually, able to fix the problem by
some tweaks in their web browser, I always just pointed them to their
browser as being at fault.  This past week, Henrik Olsen insisted that
the problem is in my ISP's web server, and gave me enough info that,
after trying something out, I now agree with him.  While my ISP does
not have the problem fixed yet, I have now notified them and added a
file to my web disk space that should cure the problem for anyone
downloading from there.

So, be sure to let me know if you have any trouble downloading
anything from my web pages.

Will

http://www.garlic.com/~wedgingt/mersenne.html
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: Front-end design

1999-09-24 Thread Will Edgington


Pierre Abbat writes:

   I suggest a couple of named pipes for control (the front end writes
   to one and reads from the other, and mprime vice versa). Since
   writing to a pipe whose reader is stuck can get you blocked when
   the pipe is full, and writing to a pipe with nothing at the other
   end results in a SIGPIPE, mprime should not output anything to the
   pipe unless told to do so, and should trap SIGPIPE and turn off
   output.

Um, there are easier ways.  For one, file descriptors can be set
non-blocking on all (modern) UNIX variants, which prevents getting
stuck waiting for the other program and from getting a SIGPIPE.

Also, most modern UNIXs implement pipes on top of UNIX domain (local
to one machine) sockets; TCP/IP uses the same function call interface,
sockets, but different addressing (for likely obvious reasons).

See rw.c of the mers package and the Prime95 primenet.[ch] source code
for how TCP/IP sockets can be used.  Feel free to ask me, privately,
detailed questions; I've been using TCP/IP via C, mostly for Mersenne
stuff oddly enough:), off and on since about 1986.

Will

http://www.garlic.com/~wedgingt/mersenne.html
_
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-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 p>1:
 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 p>100M, 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



Mersenne: Updated info on M(M(p))

1999-09-23 Thread Will Edgington


The list of known factors of iterated Mersenne numbers recently
forwarded to these lists include all factors known to me, but the
search limits have been significantly improved, some well before
Nov. 1996 I believe.

The MMPstats.txt file that I maintain is about to be updated to the
following.  If you do not have web access, feel free to email me; I
can arrange to have it emailed to you automatically when it changes as
part of the script that updates my web pages.

Note the implication that I try to keep track of who is working on
which exponents; this is simply to avoid duplication of effort.

Will

http://www.garlic.com/~wedgingt/MMPstats.txt
mersfmt.txt
mersenne.html

Status of M(M(p)) where M(p) is a Mersenne prime

$Id: MMP.status,v 1.49 1999/09/23 23:00:18 wedgingt Exp $

A factor will always be of the form 2*k*m + 1 where m = M(p) = 2^p - 1
is a Mersenne prime.

'U: k=61' is short-hand that trial factors <= 2*k*m + 1 have been checked.
The format is otherwise based on my usual Mersenne format, described
in http://www.garlic.com/~wedgingt/mersfmt.txt"> mersfmt.txt .

Note that, since m == 1 (mod 3), factors of M(m) cannot have k == 1 (mod 3)
since 2*k*m + 1 == 0 (mod 3) in that case.

Chris Nash pointed out on the Mersenne list (1999 Sep 22) that, for
odd Mersenne exponents, k must be 0 or 1 mod 4, since,
otherwise, 2 is not a quadratic residue of the supposed
factor.

Credit for first find of each factor (C: line) is given to the best of
my knowledge.  The one with my name is from my pre-GIMPS (see
www.mersenne.org) data and probably pre-dates W. Keller's
(also unpublished) 1994 discovery.

Note that I have no P-1 factoring info for M(p) > M(17) and no P-1
save files.

M( M( 2 ) )P
M( M( 3 ) )P
M( M( 5 ) )P
M( M( 7 ) )P
M( M( 13 ) )C: 338193759479 # k = 20644229, Wilfrid Keller (1976)
M( M( 13 ) )H: 2^55 # Charles F. Kerchner III, Prime95, stopped
M( M( 13 ) )H: k=2199291723780  # "
M( M( 13 ) )o: 3e9  # Warut Roonguthai, Factor95, stopped (no P-1 save 
file)
M( M( 17 ) )C: 231733529# k = 884, Raphael Robinson (1957)
M( M( 17 ) )C: 64296354767  # k = 245273, Wilfrid Keller (1983?)
M( M( 17 ) )H: 2^60 # Charles F. Kerchner III, Prime95, stopped
M( M( 17 ) )H: k=17592320263168 # "
M( M( 17 ) )o: 3961649  # (unknown, no P-1 save file)
M( M( 19 ) )C: 62914441 # k = 60, Raphael Robinson (1957)
M( M( 19 ) )C: 5746991873407# k = 5480769, Will Edgington (Wilfrid Keller 1994)
M( M( 19 ) )H: 2^60 # Warut Roonguthai, Prime95, stopped
M( M( 19 ) )H: k=4398054899728  # "
M( M( 31 ) )C: 295257526626031  # k = 68745, Warut Roonguthai (Guy Haworth 1983)
M( M( 31 ) )C: 87054709261955177# k = 20269004, Tony Forbes (Wilfrid Keller 
1994)
M( M( 31 ) )H: 1984697089407967495
M( M( 31 ) )H: k=462098301
M( M( 61 ) )U: k=9363198284 # Landon Curt Noll, own program, stopped
# Sturle Sunde, continuing 1999 Sep 22
M( M( 89 ) )U: k=13516351613# Landon Curt Noll, own program, stopped
M( M( 107 ) )U: k=2016797660# Landon Curt Noll, own program, stopped
M( M( 127 ) )U: k=12500 # Landon Curt Noll, own program, continuing
M( M( 521 ) )U: k=2000  # Rob Hooft, mmtrial, stopped
M( M( 607 ) )U: k=617   # Samuli Larvala, own program, stopped
M( M( 1279 ) )U: k=17758437 # Conrad Curry, mmfac (see below), stopped
M( M( 2203 ) )U: k=11356378 # Conrad Curry, mmfac, stopped
M( M( 2281 ) )U: k=3026696  # Rob Hooft, mmtrial, stopped
M( M( 3217 ) )U: k=304345   # Eric Prestemon, mmtrial, stopped
M( M( 4253 ) )U: k=58   # Conrad Curry, mmfac, stopped
M( M( 4423 ) )U: k=88   # Conrad Curry, mmfac, stopped
M( M( 9689 ) )U: k=69034# Conrad Curry, mmfac, stopped
M( M( 9941 ) )U: k=14000# Conrad Curry, mmfac, stopped
M( M( 11213 ) )U: k=2573# Eric Prestemon, mmtrial, stopped
M( M( 19937 ) )U: k=1501# Conrad Curry, mmfac, stopped
M( M( 21701 ) )U: k=7123# Conrad Curry, mmfac, stopped
M( M( 23209 ) )U: k=2731# Conrad Curry, mmfac, stopped
M( M( 44497 ) )U: k=30169   # Chris Nash, by sieving possible factors, 
1999 Sep 21
M( M( 86243 ) )U: k=271 # Conrad Curry, mmfac, stopped
M( M( 110503 ) )U: k=7  # Will Edgington, mmtrial, stopped
M( M( 132049 ) )U: k=40 # Will Edgington, mmtrial, stopped
M( M( 216091 ) )U: k=19 # Charles F. Kerchner III, own program
M( M( 756839 ) )U: k=23 # Charles F. Kerchner III, own program
M( M( 859433 ) )U: k=

Re: Mersenne: M(M(127)) and other M(M(p))

1999-09-23 Thread Will Edgington


Chris Nash writes:

   I really hope that neither Will Edgington (with M(M(6972593))) nor Chip
   Kerchner (with M(M(1398269))) dedicated any computer time whatsoever to
   search for factors 2*k*M(p)+1 up to k=4.

I didn't, except perhaps to have mmtrial verify that the smaller k's
were sieved out.

   As Will's page

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

   points out, since M(p)=1 mod 3, k cannot be 1 mod 3. Also, since M(p)=-1 mod
   8 for odd p>=3, k must be 0 or 1 mod 4 (otherwise 2 is not a quadratic
   residue of this supposed factor, the 8x+-1 condition).

Thanks; I'll add this to the next MMPstatus file and to mmtrial.c.
Should have thought of it myself, but quadratic residues are still new
to me.

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



Re: Mersenne: Simple question about P-1 factoring method

1999-08-17 Thread Will Edgington


[EMAIL PROTECTED] writes:

   > Am I correct?  Or could a factor smaller than 2*k*p + 1 be missed in
   > some cases?

   In the last example a factor 16*97 + 1 could be missed.
   Otherwise all factors below 2*k*p + 1 should be found.  
   One extra squaring will achieve the 2*k*p + 1 bound.

Gack.  Yes, I should have caught that myself; it's the same situation
as for p, isn't it?

  The power of the P-1 algorithm is that it can potentially find 
   many larger factors, such as 252*p +1 using a stage 1 bound of 10.  

Of course; I realize that.  I was only looking at it this odd way
because of the trial factoring gaps I need to close.  Since I already
have the P-1 data, it's easy to do this.  If I didn't already have the
P-1 data, it would (most likely) be faster to simply do the trial
factoring.

Further, it seems to me that doing trial factoring to extend from P-1
factoring doesn't make sense.  Note that trial factoring would have to
check 2*(k + 1)*p + 1 next; P-1 only has to do k + 1 next if it's a
prime or prime power (or p).  Trial factoring could use the knowledge
of P-1 being done thru a stage one of k by "sieving" the trial factors
based on one less than the trial factors as well as the usual sieving
of the trial factors themselves, but that's exactly the set that P-1
would test with larger stage one bounds, and P-1 would, as you point
out, find more factors with at most a little extra work.  Right?

I've heard that P-1 is "more efficient" than trial factoring; does the
proof go along these lines?  Or is it more complicated than this?

Of course, if this is correct, then I should fill the trial factoring
gaps using P-1, at least to the largest stage one the program that I
use supports.

   > Does it matter whether p is prime or not?  I don't think so, but ...

   Not if you always include an exponentiation by p, and repeat it
   if necessary as you do primes <= k.

So a composite p should effectively be treated as if it were prime in
the powering even though it's prime factors are being used as well?
That certainly makes sense, given the extra power of 2 and of p used
because of the special form of Mersenne factors.

Thanks,

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



Mersenne: Simple question about P-1 factoring method

1999-08-16 Thread Will Edgington


If I understand P-1 factoring correctly, then using it to a stage one
bound of k to try to factor M(p) will find all possible factors less
than or equal to 2*k*p + 1.  I'm assuming that p is less than k (or p
is always used in the powering) and the convention several of us
agreed on a while back that all prime powers less than the stage one
bound are used in the powering, not just the primes themselves.  That
is, trying to factor M(97), say, to a stage one bound of 10 would use
8, 9, 5, 7, and 97, not just 2, 3, 5, and 7.

Am I correct?  Or could a factor smaller than 2*k*p + 1 be missed in
some cases?

Does it matter whether p is prime or not?  I don't think so, but ...

This is not idle curiousity; I want to use this knowledge to shrink
some known trial factoring gaps in the data that I maintain, and this
would reduce them substantially.  Actually, the gaps are only in data
for prime exponents, so that the one question above _is_ idle
curiousity.:)

Thanks,

 Will

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



Mersenne: Up to date benchmarks sites?

1999-08-14 Thread Will Edgington


The benchmarks site linked from www.mersenne.org:

http://www2.tripnet.se/~nlg/mersenne/benchmk.htm

... has not been updated in over a year.  Is there an up to date one?

Further, the link there to another site for non Intel/Cyrix/Mac/AMD
systems at:

http://www.via.nl/users/mccidd/html/mersenne/benchmark.html

... is timing out in the nameserver.  Anyone know the status of it?

Please reply to me privately; I'll reply to the list when I have
solid info.

While I'm here, I now have more room at my ISP, so I'll be adding more
files there as I have time.  I've just put mersdata.zip there again
for those of you that have asked for that data but couldn't unpack
mersdata.tgz for whatever reason.

Will

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



Re: Mersenne: new accounts

1999-08-09 Thread Will Edgington


Lucas Wiman writes:

   Though I don't have specific timings, I imagine this would be the
   case.  I was referring to the Mfactor program by Peter Montgomery.

Oh.  And I see he's already replied; from that info, I would guess
that Mfactor is only slightly faster than mersfacgmp on SPARCs (and
mersfacgmp can, using libgmp, factor arbitrarily far).

But actual numbers would be helpful.  Volunteers?  Feel free to send
numbers only to me, if you like.  I already have some numbers for
MacLucasUNIX on Macs in private email that I need to put on my web
pages somewhere.  Or does someone already maintain a page with timings
for non-Intel CPUs?  I don't recall seeing one.

   I have heard this performs considerably better than a GMP based
   program (written by Alex Kruppa) on RISC architectures.  I suppose
   that I could/should check up on this with my SPARC-owning friend.

That would be helpful, yes.

   Again, I have no timings for this, but I would think that if you tried
   MacLucasUNIX on both a SPARC, and a PC, the SPARC would be the overall
   winner because of the massive amount of I/O that runs on LL tests.

The only large amounts of I/O are the checkpoint files.  Unless you're
doing them too often, they will be a small fraction of the run time.

Further, MacLucasUNIX, mersenne1, mersenne2, and fftlucas know about
the Intel CPU's larger floating point variables, which gives the PCs
an edge.  See setup.h in the mers package for details.

   In factoring, I would imagine that the difference would be smaller,
   (using the same program).

This, I don't even have a real guess about; the last time I did
factoring on SPARCs, they were SPARC 2's (75 MHz?), which are much
slower than Ultra's.

Will

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



Re: Mersenne: new accounts

1999-08-08 Thread Will Edgington


Lucas Wiman writes:

   You could do factoring, the margin between factoring on a PC and an
   UltraSPARC should be much slimmer than LL tests.

The last time I did timings like this - admittedly, probably over a
year ago, but the mers package hasn't changed much since, especially
in terms of performance - this is wrong.  SPARC LL testing -
especially with MacLucasUNIX - is much closer to matching Prime95 LL
testing than SPARC trial factoring - with mersfacgmp, say - is to
matching Prime95's trial factoring, by, as I recall, a factor of about
12.  Could someone out there do some new tests and send me the info?
I no longer have access to any SPARCs for Mersenne stuffs.

Mersfacgmp can probably be helped significantly by adjusting the size
of the sieve array and how many small primes are used to check the
primality of the trial factors, however; would anyone like to try some
experiments?  I would add detailed info the the comments in the mers
Makefile so noone has to repeat the testing.

   The UltraSPARC would probably significantly outperform a similar
   megahertz PC, if we had similarly optimized code running on each.

Perhaps.

   I know my friend's SPARC (running at 233 mhz, bus 233 mhz) sure
   does outperform my PII (running at 233 mhz, bus 66 mhz) on most
   things.

I have certainly seen this for most things involving large amounts of
I/O; again, not recently.  But the advantage seems to disappear or
even reverse to the PC's favor once cost is taken into account.

Will

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



RE: Mersenne: Mp and E-Cash

1999-07-25 Thread Will Edgington


Lucas Wiman writes:

   I'm forced to agree with Aaron, aparently at gunpoint :-) (and I
   said this a while ago, BTW).  Even if they (George and Scott) did
   this, then there would still be MacLucasUNIX, or everything else in
   the mers package, as well as Ernst's program, and good ol' lucas.c.

MacLucasUNIX, mersenne1, etc., of the mers package can indeed be used
to find such large Mersenne primes, right now, and someone out there
is probably already doing it.  But, if they are, they haven't told me
and they are thus looking at exponents for which I have known factors;
noone but me - and I mean noone, not even George - has all of my data
for these large exponents.

   Any of these could be used.  We've really got to put our feet back
   on the ground here.  If we did put a license change on all of
   George's program derivitives, we would still have to get Will and
   Ernst to change their copyrights, and Richard Crandall.

It's actually worse than this.  I never intended to copyright any of
the code I distribute, in part because some of it is already covered
by copyright and/or patent for commercial purposes.  Is trying to
claim the EFF prize a commercial purpose?  Don't ask me; I'm not a
lawyer.

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



RE: Mersenne: Mp and E-Cash

1999-07-25 Thread Will Edgington


Ken Kriesel writes:

   I think Duncan Booth's name at least ought to be considered when
   discussing the $ split.  He wrote the first version of primenet
   server and client; Scott Kurowski continued from the starting point
   that Duncan provided.  I suspect that Scott has considerably more
   total effort invested, but part of that is as a business venture.

OK.  Then what about John Sweeney?  Jason Kline?  Crandall & Fagin?
How about the people that wrote factoring code?

As others have noted, this is a big can of worms that's just
complicating things without really adding anything to the effort
itself.

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



Mersenne: Mersenne numbers

1999-07-09 Thread Will Edgington


Kris Garrett writes:

   Has it been proven that all mersenne numbers greater than one are
   square free?

Depends on your definition of 'Mersenne numbers'.  If you include
composite exponents, M(6) = 2^6 - 1 = 63 = 3*3*7 is not square free.
If you include only prime exponents, then you don't need to specify
"greater than one".:)

But, so far as I'm aware, there is no proof that all prime exponent
Mersenne numbers are square free.  There is a partial proof towards
the end of my mersenne.html page.

Will

http://www.garlic.com/~wedgingt/mersenne.html

Unsubscribe & list info -- http://www.scruz.net/~luke/signup.htm



Mersenne: Defragmenting and Security

1999-06-26 Thread Will Edgington


[EMAIL PROTECTED] writes:

   How about the No Icon option? (You can still access it by trying to
   run Prime95.exe again). And have it configured as a Win95
   service. I'm not sure if my system is an anomaly, but even the
   Three-Fingered Salute doesn't show Prime95 to be on the list of
   tasks to shut down. If the weasel who stole your laptop doesn't
   look hard enough, he will then have almost no chance of finding the
   program. Heh.

I've noticed that my mother's Win98 machine also does not list Prime95
in the Startup menu, presumably because it's running as a Win98
service.  But it does show briefly as a very small window in the lower
left hand corner of the screen during reboots while it's asking for
her password.

If you were to mark it as a hidden file as far as MSDOS is concerned
and put it in the Windows directory or a subdir thereof, it would be
even harder to find.

   In regards to defragmenting: I have defragmented my C hard drive
   (where Prime95 runs) a number of times, and it almost always takes
   over 30 minutes, which is how long Prime95 waits before writing
   save files. MS Defrag (taken from Symantec - look at the copyright
   notice!) is just as well-behaved as good old FAT16 Symantec Norton
   Utilities' defragmenter. Apparently, when a program writes to the
   HD, MS Defrag detects it and rescans the hard drive's contents. No
   errors are produced. If you are using a Symantec product, then it
   will also be well behaved. I don't know about other programs or
   non-Win95 systems.

My mother's machine also runs Prime95 24/7 and defrags automatically
every other week via the task scheduler.  No problems yet of any kind.

Seti@Home, on the other hand, is not only a bigger resource hog, it
also interferes with Iomega's Zip backup program, causing backups to
fail by crashing the program right at the end, just before the backup
is complete.  As I joked to her, I guess E.T. doesn't want her system
backed up.:)

Prime95, of course, doesn't interfere with backups.

Will

Unsubscribe & list info -- http://www.scruz.net/~luke/signup.htm



Mersenne: Another factor found for Fermat 16

1999-06-26 Thread Will Edgington


Geoffrey Faivre-Malloy writes:

   M16384 has a factor:
   3178457030898592746194675570663374420833971377365687459461386297851584459031
   8073180374859604847822828243686877928403667633015295

Further, if you try to divide this into M8192 (2^8192 - 1), you should
find that it factors that as well.  That is, I checked all the factors
of the number above that my run of ecmfactor printed and they all
divided M8192 or an even smaller Mersenne (and therefore M16384,
M32768, etc).

The factoredM.txt and lowM.txt files in mersdata.tgz on my web pages
list, among other factors:

M( 256 )C: 59649589127497217

M( 512 )C: 1238926361552897

M( 1024 )C: 2424833
M( 1024 )C: 7455602825647884208337395736200454918783366342657

M( 2048 )C: 45592577
M( 2048 )C: 6487031809
M( 2048 )C: 4659775785220018543264560743076778192897

To here, the Mersenne numbers are completely factored (and are
therefore in factoredM.txt); from here on, the other (presumably
larger) factors are not known.

M( 4096 )C: 319489
M( 4096 )C: 974849

M( 8192 )C: 114689
M( 8192 )C: 26017793
M( 8192 )C: 63766529
M( 8192 )C: 190274191361
M( 8192 )C: 1256132134125569

M( 16384 )C: 2710954639361
M( 16384 )C: 2663848877152141313
M( 16384 )C: 3603109844542291969
M( 16384 )C: 319546020820551643220672513

My data contains no factors of M(32768) = M(2^15) or higher that are
not also factors of a smaller Mersenne number.

The ecm3 program of the mers package knows that composite exponent
Mersenne numbers have factors equal to smaller Mersenne numbers and
pulls all those factors out using repeated GCD's before trying to
factor the Mersenne number it is told to factor.  E.g., it should
never print 319489 as a factor of M(8192) or any larger Mersenne,
since 319489 factors M(4096) but it will print 319489 as a factor of
M(4096) because it factors no smaller Mersenne number.

Will

http://www.garlic.com/~wedgingt/mersdata.tgz
http://www.garlic.com/~wedgingt/mers.tgz

Unsubscribe & list info -- http://www.scruz.net/~luke/signup.htm



Mersenne: Another factor found for Fermat 16

1999-06-26 Thread Will Edgington


Geoffrey Faivre-Malloy writes:

   I found another factor for Fermat 16.  What do I do now?  How can I
   factor this number that I found?  Are there programs out there that
   will let me do that?

Yes, there are such programs.  One is ecmfactor, a program I maintain
as part of the mers package at:

http://www.garlic.com/~wedgingt/mers.tar.gz
mers.tgz

(two file names with the same contents).  Ecmfactor uses the Elliptic
Curve Method algorithm in the freeLIP library (written in C by Arjen
Lenstra and presently maintained by Paul Leyland).  If freeLIP
compiles using your compiler, than ecmfactor should run fine.

   FYI, the factor is:

   M16384 has a factor:

   3178457030898592746194675570663374420833971377365687459461386297851584459031
   8073180374859604847822828243686877928403667633015295

I've appended the output from ecmfactor on this number.

Also, Steven Whitaker is quite correct; M16384 is, usually at least,
used to denote 2^16384 - 1, which is a Mersenne number.  Fermat
numbers are of the form 2^(2^n) + 1.  However, since 16384 is a power
of two, this particular Mersenne number, as Steven also notes, is
related to the Fermat numbers, since:

2^(2*x) - 1 = (2^x)^2 - 1^2 = (2^x - 1)*(2^x + 1)

(using the usual difference of squares method to get the two factors).
Since 16384 is a power of two, this can be repeated several times on
the 2^x - 1 half to get the factors that Steven lists.

And, if you at all interested in prime numbers and factoring, then
I strongly second Steven's suggestion of reading Chris Caldwell's
web pages at:

http://www.utm.edu/research/primes/index.html

Will

Ecmfactor says:

% ecmfactor -d < M16384.factor
prime factor: 3
prime factor: 5
prime factor: 17
prime factor: 257
new cofactor is composite
factor: 641
prime factor: 641
new cofactor is composite
factor: 114689
prime factor: 114689
new cofactor is composite
factor: 4179067011073
factor of factor: 65537
prime factor: 63766529
new cofactor is composite
factor: 26017793
prime factor: 26017793
new cofactor is composite
factor: 274177
prime factor: 274177
new cofactor is composite
factor: 974849
prime factor: 974849
new cofactor is composite
factor: 319489
prime factor: 319489
new cofactor is composite
factor: 6700417
prime factor: 6700417
new cofactor is composite
factor: 2424833
prime factor: 2424833
new cofactor is composite
tried 1 curves at bound 100 without success
tried 1 curves at bound 105 without success
tried 1 curves at bound 110 without success
tried 1 curves at bound 115 without success
tried 1 curves at bound 120 without success
tried 1 curves at bound 125 without success
tried 1 curves at bound 130 without success
factor: 45592577
prime factor: 45592577
new cofactor is composite
tried 1 curves at bound 135 without success
tried 1 curves at bound 140 without success
tried 1 curves at bound 145 without success
tried 1 curves at bound 150 without success
tried 1 curves at bound 155 without success
tried 1 curves at bound 161 without success
tried 1 curves at bound 167 without success
tried 1 curves at bound 173 without success
tried 1 curves at bound 179 without success
tried 1 curves at bound 185 without success
tried 1 curves at bound 191 without success
tried 1 curves at bound 197 without success
tried 1 curves at bound 203 without success
tried 1 curves at bound 209 without success
tried 1 curves at bound 215 without success
tried 1 curves at bound 221 without success
tried 1 curves at bound 227 without success
tried 1 curves at bound 233 without success
tried 1 curves at bound 239 without success
tried 1 curves at bound 245 without success
tried 1 curves at bound 252 without success
tried 1 curves at bound 259 without success
tried 1 curves at bound 266 without success
tried 1 curves at bound 273 without success
tried 1 curves at bound 280 without success
tried 1 curves at bound 287 without success
tried 1 curves at bound 294 without success
tried 1 curves at bound 301 without success
tried 1 curves at bound 308 without success
tried 1 curves at bound 315 without success
tried 1 curves at bound 322 without success
tried 1 curves at bound 329 without success
tried 1 curves at bound 336 without success
tried 1 curves at bound 343 without success
tried 1 curves at bound 350 without success
tried 1 curves at bound 358 without success
factor: 190274191361
prime factor: 190274191361
new cofactor is composite
tried 1 curves at bound 366 without success
tried 1 curves at bound 374 without success
tried 1 curves at bound 382 without success
tried 1 curves at bound 390 without success
tried 1 curves at bound 398 without success
tried 1 curves at bound 406 without success
tried 1 curves at bound 414 without success
tried 1 curves at bound 422 without success
tried 1 curves at bound 430 without success
tried 1 curves at bound 438 without success
tried 1 curves at bound 446 without success
tried 1 curves at bound 454 without suc

Mersenne: Re: Mersenne Digest V1 #576

1999-06-14 Thread Will Edgington


Daren Scot Wilson writes:

   I've switched from Linux to BeOS - entirely, not even dual-booting
   both.  Same hardware as before - PII 400 MHz.  BeOS is POSIX
   compatible, has TCP/IP, but the file system is offbeat, and from
   what I hear most linux software needs a little bit of tweaking to
   compile for Be.

   Is there any Mersenne testing software that can run on BeOS?  Or
   other interesting math crunching software?

See the mers package code that I maintain.  It is ANSI C source code
plus a shell script.  There are also pointers to other programs,
notably Ernst Mayer's Fortran90 LL tester, on my mersenne.html page.

Will

http://www.garlic.com/~wedgingt/mersenne.html
mers.tgz
mers.tar.gz

Two different names for the mers source tar file since some web
browsers don't realize that '.tgz' is binary and some operating
systems don't like two dots in file names.

If you need a zip or shar file or other format, just ask.

Unsubscribe & list info -- http://www.scruz.net/~luke/signup.htm



Mersenne: Re: factoring 10^7 digits (was LL and factoring & quitting)

1999-06-14 Thread Will Edgington


   >>We will of course have to check factors considerably further than
   >>we are doing on our current exponent range (due to the increased
   >>LL iteration time.)

Yup.  And don't forget that the larger the exponent, the fewer the
possible factors in a given range (e.g., from 0 to 2^40 or 0 to 2^63).

   > Yes - on the principle that it's worthwhile to spend 5% to 10% of
   > the LL testing time attemptimg to find at least one factor before
   > we run a LL test, the pre-factoring should be run for 3 or 4
   > weeks per exponent first (assuming PIII-500 class power). At a
   > rough guess, that's up to 2^66 or 2^67, but we don't have any
   > benchmarks yet.

Oh, but we do.  George's factoring is not the only one out there.  In
particular, I maintain, as part of the mers package, factoring
programs that use the freeLIP and gmp libraries to try arbitrarily
large factors.  Since George's program uses the Intel CPU's 64 bit
mantissa floating point operations, it is limited to checking possible
factors up to about 2^63.

   > Of course, trial factoring to 2^40 is very quick - I spent only about
   > 2 (PII-350) CPU hours spread over all 159,975 candidate exponents in
   > the range I selected. But that's enough to eliminate a third of them.

In fact, there was a problem with a particular version of George's
factorer such that it didn't always find factors _smaller_ than 2^32
or so.  And this was discovered only when GIMPS was expanding to the
current high exponent of 20.5 million or so.  So I ran mersfacgmp to
find all the factors less than about 2^33 for all prime exponents up
to about 21.5 million.  It took a couple of days on my (then) 90MHz
Pentium.

   Maybe we should start checking factors in (the range of prime
   numbers used in your database) in 2^40 segments, between you and me
   (and others?).

Others, including myself, have already done parts of this.  The data
that I have collected from them all is significantly larger than the
web-accessible disk space I have.  But feel free to send me more
factoring data and I'll send, in suitably sized chunks, whatever parts
of the data that I have that you want.

   When you send me the source, I'll try to port it GCC (then maybe we
   can make something useful out of it :-)

No need; mersfacgmp already supports GCC, since my primary machine is
RedHat Linux v5.2.  But see below for reasons that another program,
independently developed, can be very useful.

   What type of sieving did you do (if any) ?

Mersfacgmp does essentially the same sieving as George Woltman's code,
though in a different order so as to test possible factors in order.
Mersfacgmp tests possible factors in order so that the "checkpoint"
file is just the largest number attempted so far.  George's factoring
checkpoint files are in binary and include the sieving pass number
(out of 16).  George's code is organized that way for the speed
advantage.

   Did you write the modpow routine, or was it included with some math
   header?

George got the basic algorithm from Knuth, I believe, and pointed it
out to me not long after GIMPS started.  It sped up my pre-GIMPS
factoring program by something over a factor of three, as I recall.

   How much room for improvment in speed would you say is there in the
   source?

Quite a bit, probably, but the primary loop is rather small and most
of the math is done by libgmp (or freeLIP in the case of mersfaclip).

   I have limited computational resources, a PII233, a P100, but
   because of my work, I have practically unlimited resources in the
   486 department they could finish a 2^40 section in about a day or
   so.

As mentioned above, feel free to send me any data that you want; I've
been saving this sort of data for a lot longer than GIMPS.  E.g., I
have some pre-GIMPS data for certain exponents up to about 240
million.  The results file, containing all the data that I have, is
now over 90 MB; the list of exponents alone is over 14 MB.

If nothing else, sending me your data will let me compare it to what I
already have for exponents and factoring ranges in commonn and check
to see if any of the programs have bugs.  This sort of comparison has
found bugs in both the mers package programs and in George's programs
several times and is a big reason for doing double checking with
distinct programs on distinct hardware.

Will

http://www.garlic.com/~wedgingt/mersenne.html   Brief web page w/ links
mers.tgzMers package, tar'd, gzip'd

Unsubscribe & list info -- http://www.scruz.net/~luke/signup.htm



Mersenne: Serious problems with v.18

1999-06-06 Thread Will Edgington


   > Here are my ideas on bugs: Bugs happen! They're a fact of life,
   > omnipresent in all software.

   Showstopper bugs should not slip through testing and into release
   software.

Correct: _should_ not.  That does not mean _will_ not.  Mistakes
happen, at least as often as accidents.  If testing could be perfected
in this manner, then programs themselves could be perfected.

   > Bugs should allways be caught in the testing, but so often they
   > aren't.

   Minor bugs yes, massive showstoppers no.

How can a bug be known to be a show stopper until it has been found?

For that matter, I seem to recall that it cannot be proven that a
program will _halt_, let alone do something useful, let alone do
something useful without any bugs in any circumstances.

   > In the meantime, a subgroup of testers have been created which
   > should (hopefully) ensure that things like this cannot take place
   > again.

   Yes... a good idea. With a shiny new lock on that barn door,
   perhaps these horses won't escape a second time and cost GIMPS
   hundreds of P90-years of time... I still think it would have been a
   good idea to have had this lock from the outset. But it's water
   under the bridge...

Actually, a somewhat different "lock" has been on this barn door for
years (since not long after GIMPS started at the latest), in the form
of other programs, implemented independently and able to run on
different hardware.  I'm not sure about this bug in particular, but
earlier bugs (in, at least, Prime95's factoring code and many of the
mers package programs) were only discovered by comparing their results
with results of those independent programs.

The new subgroup of testers is still a good idea, of course, but they
will only improve the quality of the releases, not make them bug-free.

Anyone expecting otherwise has quite a bit to learn about programming.

  Will

Unsubscribe & list info -- http://www.scruz.net/~luke/signup.htm



Re: Mersenne: New Prime...I wonder if the "islands" theorem will hold fast?

1999-06-02 Thread Will Edgington


Luke Welsh writes:

   TTBOMK, the theory was never formalized.  Regardless, Peter Lawrence
   Montgomery settled the issue:
   http://www2.netdoor.com/~acurry/mersenne/archive2/0032.html
   See also:
   http://www2.netdoor.com/~acurry/mersenne/archive2/0035.html
   http://www2.netdoor.com/~acurry/mersenne/archive2/0026.html 
   http://www2.netdoor.com/~acurry/mersenne/archive2/0023.html

That archive appears to be old and I do not see some replies that I
later made to this thread.

Notably, I added mersdistrib, a slightly modified version of the
program that Peter included in the first message above, to the mers
package at the URL below.

Will

http://www.garlic.com/~wedgingt/mers.tar.gz

Unsubscribe & list info -- http://www.scruz.net/~luke/signup.htm



Mersenne: factorization

1999-05-20 Thread Will Edgington


Tony Forbes writes:

   I know it's a bit feeble the usual standards for ECM factorization, but

Seems to me that "feeble" certainly doesn't include factors that are
new!  Besides, I'm doing some work on 11-digit factors.:)

   I just found this 36-digit factor of 2^2203+1 :

   848425589476255002200418022118728331

Great!

   Thus 2^2203+1 = 3 * 13219 * 208613913329 * 743372438374143806443 * 
   282324958084937237369 * 848425589476255002200418022118728331 * C571

   I apologise if this is not new or not interesting.

New factors are always interesting, at least to me.  And "new" is
relative; I don't always have time to update my web pages each week.

   I am still trying to find numbers n > 1000 where gcd(n, 30) = 1 and 2^n-
   1 and 2^n+1 are completely factorized. Like 2203 would be once the C571
   part has been factorized (2^2203-1 is prime). The only ones I know are
   1121 and 1141. Anyone know of any more? 

There may be more in my data; check:

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

Note that 2^n - 1 is listed there with n as the exponent; 2^n + 1
is listed there with 2*n as the exponent, since:

2^(2*n) - 1 = (2^n - 1)*(2^n + 1)

by the difference of squares factoring method.  E.g., take the case of
2^2203 + 1; it's listed under 'M( 4406 )' but does not include the
first factor listed above (3) since that is also a factor of a smaller
Mersenne number (M(2)).  (If this wasn't done, 3 would be listed next
to all even exponents, 7 next to all exponents that are multiples of
3, 5 next to all that are multiples of 4, etc; see ecm3.c of the mers
package for how this is done).

 Will

P.S. Here's the most recent run of a new program of mine:

+ 1strs8gmp -r617 32768 1300069 131
M( 20163 )C: 13001425009
M( 24603 )C: 13013067967
M( 28795 )C: 13014015431
M( 30644 )C: 13015272901
M( 19130 )C: 13016377211
M( 16105 )C: 13032166001
M( 10997 )C: 13032852617
M( 13762 )C: 13034540681
M( 20190 )C: 13044597481
M( 11660 )C: 13051970801
M( 17388 )C: 13053675853
M( 5358 )C: 13062782569
M( 7160 )C: 13070164721
M( 13414 )C: 13078100027
M( 13428 )C: 13098436597
M( 7292 )C: 13098758149

It printed all factors (from 13 to 13.1 billion) that are not already
in my data of all Mersenne numbers between the two arguments to -r
(617 and 2^15, here).  It took about 6 hours this morning on my new
P233MMX CPU (my P200's mainboard appears to have fried Sunday night in
a power outage & surge; sorry if email to me bounced in the mean time.
I believe that no data was lost, though I still have some bad blocks
to fix/redirect).

Note that it would run at the same speed if the limit on the exponent
were removed, but it would be full of data for composite exponents up
to the size of the factor.

Unsubscribe & list info -- http://www.scruz.net/~luke/signup.htm



Mersenne: JavaLucas (again) Large FFT results and I need some help oh great prime gurus...

1999-05-03 Thread Will Edgington


Blosser, Jeremy writes:

   So I ran JavaLucas with an FFT of 256k Its getting 1.75
   sec/iteration. So...  not too shabby really...

Not bad at all.

   1) What the algorithm for finding the best FFT size. I was doing:
   [...] 
   So I looked at MacLucasUNIX, and it has:

while (n < ((BIG_DOUBLE)q)/ROUNDED_HALF_MANTISSA + 4.0)
n <<= 1;
 size = n + ((n & MASK) >> SHIFT);

   What I can't find is where the ROUNDED_HALF_MANTISSA came from, and
   why the mask and shift operation?

ROUNDED_HALF_MANTISSA in MacLucasUNIX is mis-named, really; as I
recall (and I didn't write the original use of it), it's just a
constant based indirectly on the number of bits in the mantissa of the
doubles being used.  You'll find the declaration in setup.h, based on
the define of BIG_DOUBLE.

The mask and shift is a "trick" (that I believe George Woltman passed
on to John Sweeney) to leave gaps in the arrays to improve cache
performance.  See the file "Wisdom" which John Sweeney wrote and I
pass on as part of the mers distribution.  I have no idea whether it
will help or hurt Java performance, but there are some hooks in the
mers package code to use it (MacLucasUNIX) or turn it off (mersenne1)
in some of the functions that use the primary array.

   2) I'm looking at the code, in Lucac.c and it looks like:
a) create the scrambled array scrambled[j] = n[permute[j-1]] *
   two_to_phi[permute[j-1]]
(not quite sure why)
b) it converts the scrambled array to fft, squares it, does the
   inverse fft...
c) multiplies the scrambled array * two_to_minusphi
(Is this the mod here???)
d) calls addsignal
(this one has me lost)
e) calls patch
(carry?)

I believe this is simpler in both mersenne1.c and MacLucasUNIX.c,
though it's been a while since I've looked at any of them this closely
and I myself don't fully understand FFTs.

   So, my question is, where is the subtraction?
n = (n*n-2) % (2**p-1)
   I see the square, I see (I think) the mod... wheres the -2?

MacLucasUNIX.c does it in normalize().  Mersenne1.c does it in main().

   3)  I was thinking in the shower this morning... (Odd ain't it?)

   And for all n < 2**p-1, the answer will always be n*n-2 right? Also, if n <
   sqrt(MAXLONG), then we can do it in place without the FFT...
   Just looking at some data sets, the odd of n being less than sqrt(MAXLONG)
   is actually not to bad... (especially in Java which has 64-bit longs)...
   So where does this short cut fit in? (with a big FFT, this can be a big
   difference (I think))...

I'm not sure, but I'd guess that you've goofed somewhere.  For
reasonably large p (in this case, anything over about 100), the chance
of n being less than 33 bits should be miniscule, except, of course,
during the first several iterations.  But perhaps I'm misunderstanding
what you're saying.

And even when I tried the "obviously-it-will-work" change to start at
194 or 14 (rather than 4) in mersenne1 and MacLucasUNIX, there were
problems on some computers and compilers.

Will

http://www.garlic.com/~wedgingt/mers.tar.gz
mers.tgz
mers.zip
mersenne.html

Unsubscribe & list info -- http://www.scruz.net/~luke/signup.htm



Mersenne: Factoring & bugs

1999-04-08 Thread Will Edgington


[EMAIL PROTECTED] writes:

   As LL tests begin to go beyond the limits of older machines, now may
   be a good time to consider a distributed factoring effort. I've wanted
   to see one for a while now but frankly, implementing many of the
   algorithms is over my head. That, and the lack of a permanent home
   have made me shelf it. If, however, anyone wants to talk about
   donating code or a server, I don't see why we couldn't make one, and
   factor some of the unfinished mersennes.

See ECMNet.  I'm pretty sure there's a link off www.mersenne.org and
off my mersenne.html.  There's a new server/client setup that's
apparently almost as automatic as Prime95/PrimeNet.  (I haven't had
time to try it yet).  But note that ECMNet is trying to completely
factor various numbers, including the Mersennes with exponents into
the low thousands; it is not trying to find factors of the Mersenne
numbers that GIMPS is interested in.  If you want to do the latter,
use Prime95.

   In my mind, the v17 bug illustrates how important factoring is. It
   provides an easily-verified proof of compositeness.

Yes, and that's the whole reason there is a factorer part of GIMPS:
because having it eliminates possibilities faster, and with no need
for a doublecheck.  Factors are very easy to confirm; my 200MHz
Pentium can probably verify every known factor in a day or three (and
I have had it do so a few times in the past).

But Prime95's factoring code has also had bugs at times; a bug-free
program is - as I'm sure most of us are aware - effectively
impossible.  Which is part of why there are other programs that do the
same things, like the mers package that I maintain.  Prior bugs in the
mers package LL testers and factorers were exposed by comparisons with
output from Prime95, just as prior bugs in Prime95 were exposed by
comparisons with the mers package programs.

Will

http://www.garlic.com/~wedgingt/mersenne.html

Unsubscribe & list info -- http://www.scruz.net/~luke/signup.htm



Re: Mersenne: Distribution of factors among congruence classes

1999-04-01 Thread Will Edgington


Alex Kruppa wrote:

   Now I know how the 55 (mod 120) got there, it's:

   M( 310169 )C: 3486114749130405725455

   and the problem is that that's not a factor. Not remotely.

   3486114749130405725455 = 2*3*11*69720503*757595229073 +1

   so doesn't seem to be a factor of another Mersenne we've tested,
   either. Must have snuck in there by mistake, or maybe a typo.

You're using an old copy of my data; that particular false factor
took me several updates to eradicate for some reason, but it's
not in my data presently.

Will

Unsubscribe & list info -- http://www.scruz.net/~luke/signup.htm



Re: Mersenne: VME claim

1999-03-14 Thread Will Edgington


Henk Stokhorst writes:

   M(727) is not prime. VME made the claim that they could compute the
   first prime following M(727) in two seconds. Just want to know
   someone who can do the same trick and what software it takes.

   It took less than 2 seconds to find the next sequential prime :

   7060034896770543742372772105511569658378384779628943811708504827156734575902
   9962497646848024880749924272446637457099914453082421646959773690663827212173
   6526607699022870679030143158018123175881930939339869708632591433883

Well, that's only 156 more than M727, so finding it is easy; the
obvious sieve will do it.  Verifying it's at least pseudo-prime took
the mers package's ecmfactor program only 1.27 seconds CPU on my Linux
Pentium 200MHz just now, and proving it prime using Morain's ECPP
program took all of 50.9 seconds.

So, even if they are proving it prime, it's not a big advance.

More to the point, a better test, since they're unwilling to reveal
their method, would be to give them some large, strong pseudo-primes
mixed in with known primes of similar size.  Anybody care enough to
produce such a set?  The composite factors of prime exponent Mersennes
are all base-2 pseudo-primes, but that's not enough; they should
probably be Cunningham numbers (which are pseudo-prime to all bases
that aren't related to their factors).

The only stronger tests that I can think of are making the program
available via a TCP/IP server of some sort, so people like us can give
it arbitrary numbers to check in real time, and a rigorous proof of
the method, which requires making it public.

Will

Unsubscribe & list info -- http://www.scruz.net/~luke/signup.htm



Mersenne: Factoring

1999-02-15 Thread Will Edgington


Sander Hoogendoorn writes:

   Last weekend when i was testing Prime 95 i noticed that factoring
   low numbers took much longer as high numbers.
   Factoring M17XXX from 2^52 to 2^54 took minutes per pass while
   factoring M9XX from 2^52 to 2^54 took about one minute to
   complete the whole factoring. How is this possible?

All factors of a Mersenne number with a prime exponent, p, are of the
form 2*k*p + 1 where k is a natural number (positive integer).  So the
larger p is, the fewer the number of possible factors between two
constants like 2^52 and 2^54.  In this case, 17XXX divided by 9XX
is at most 0.2%, so checking all the possible factors of M17XXX takes
about 500 times as much CPU as checking all the possible factors of
M9XX within the same range of numbers.

This a large part of why higher exponent Mersennes are trial factored
farther than lower exponent Mersennes.

While I'm here, I'll mention for the newcomers that I collect all
sorts of factoring data on Mersenne numbers, including George
Woltman's ECM & GIMPS data, the Cunningham Project ftp site data
maintained by Paul Leyland, Conrad Curry's Factor98 data, and directly
from interested individuals like yourself; just send it to me in
email, plain text or as MIME attachment(s).  The data I've collected
for exponents under 200,000 is available below.  I have data for many
larger exponents, including all primes thru 21.5 million or so, but do
not have room on my ISP's web server to upload it.

Will

http://www.garlic.com/~wedgingt/mersenne.html (proofs, links, etc.)
mersfmt.txt   (data format description)
mersdata.zip  (data, zip'd)
mersdata.tgz  (same data, different packing)
factoredM.txt (completely factored Mersennes)
...



Mersenne: Raise the Lower Limits

1998-12-29 Thread Will Edgington


Robert G. Wilson v, PhD ATP writes:

   The below chart gives the general lower bounds for which the limit
   of powers of two begins.  As an example, 2^55 for the most part, is
   the least exponent as a limit for all Mersenne numbers greater than
   1,040,000.  There are exceptions and this is the object of this
   post.

   I would like to see that there are no exceptions except for the
   obviously untested Mersenne numbers.  Once this is accomplished,
   then I would like to see the Mersenne numbers at which a particular
   exponent occurs also reduced.

   Exponent, Mersenne Nbrs.
   52 1,400
   53   400,000
   54   730,000
   55 1,040,000
   56 1,335,240
   57 1,602,275
   58 2,222,000
   59 2,655,000
   60 3,602,100
   61 4,715,000
   62 5,260,000

I'm not sure that I see what you're talking about, but I'll guess,
from the table you give, that you mean nearly all Mersenne numbers
with exponents above 1400 have been factored thru 2^52, nearly all
Mersenne numbers with exponents above 400,000 have been factored thru
2^53, and so on, and you would like someone to do trial factoring to
change those "nearly all"s to "all"s, increase those powers of 2, and
decrease the corresponding Mersenne exponents.

I believe that the vast majority of trial factoring presently being
done is the factoring step of GIMPS, prior to the LL test.  For
example, nearly everyone that was doing trial factoring of small
exponents (already LL tested) is now doing ECM or P-1 factoring or has
gone back to LL testing; the only two people I know of that are still
running trial factoring of already LL tested exponents are
Jean-Charles Meyrignac and myself, and I'm just filling gaps in prior
trial factoring efforts, mostly between a known factor discovered by
GIMPS and a larger factor or the next power of two.  Since I can't use
George's factorer for this "gap filling", I'm using mersfacgmp, which
is considerably slower, and I've only got one CPU, which usually
spends half its time doing cofactor pseudo-prime tests, looking for
complete factorizations.

So, unless other people assist, it's going to be a slow process, with
the exception of the GIMPS factoring.  On the other hand, that means
that one person, even with only one computer, could make quite a
relative contribution, if they want to.  For that matter, there still
aren't many people running ECM or P-1, which are typically faster than
trial factoring for the small exponents (up to, say, the 17 limit
of Factor98) anyway.  And the advantage of ECM and P-1 is best for the
smallest exponents, where their memory usage is less; the memory usage
of trial factoring is effectively unaffected by the exponent's value.

Other progress: all factors less than 2^32 for all exponents less than
25000 should be in lowM.txt (or factoredM.txt) now; some had been
missed by GMP-ECM because the starting bound is too large to get all
factors.  All cofactors for exponents under about 14000 have been
pseudo-prime tested.  1742 composite Mersenne numbers are now known to
have either a prime or a pseudo-prime cofactor.

Will



Re: Mersenne: RE: any large groups that run GIMPS software on corporate computers?

1998-11-27 Thread Will Edgington


Simon Burge writes:

   You may want to try what I do with some of our machines - instead
   of killing and restarting the program, send it a STOP or a CONT
   signal (I assume Linux has these signals available, I'm a BSD and
   SysV person).

Yes, Linux has them, being a mostly POSIX-compliant UNIX, which is
closer to System V in some ways, closer to BSD in other ways, and a
merge of them in yet other ways.

The primary differences between this method and simply killing it
and restarting it are:

1. This method doesn't generate a save file when the STOP is sent
   (this could be changed at a cost in reaction time to the STOP).
2. This method still occupies a process slot, swap space, etc., during
   pauses (usually only minor annoyances if your system has a reasonable
   amount of swap space).
3. This method pauses and resumes faster and with less I/O, making
   slightly better use of the idle time that's available (most of
   this advantage would be lost if STOP generated a save file).

See 'kill -l' (lower case L; on many UNIX's) to see what signals are
available.

Will



Mersenne: ECM Factoring

1998-11-19 Thread Will Edgington


Glenn Brown writes:

   The computer has found TWO factors of 2^647+1.  It's still
   searching!  WHY

Good question.  Most likely, because what's left is still composite.
But since I don't know what program you're using nor what factors it
has found, I can't help you more without more information.  From the
current lowM.txt file, which presently includes all the data that I
have on incompletely factored Mersenne numbers with exponents up to
200,000:

M( 1294 )C: 4570409
M( 1294 )C: 9021769
M( 1294 )C: 932184694939

... since:

(2^647 + 1)*(2^647 - 1) = (2^647)^2 - 1^2 = 2^1294 - 1 = M(1294)

... factors of 2^647 + 1 will be listed under M(1294) in lowM.txt.
Factors of M(1294) that are also factors of M(647) are only listed
under M(647).  Data for completely factored Mersenne numbers is moved
from lowM.txt to factoredM.txt.

LowM.txt - factors, cofactors' primality, etc. - is verified by the
ecm3 program of the mers package every time I update my data, usually
for all exponents up to around 15,000 (depending on how long I let it
run).

New data is gathered from George Woltman's ftp site, Paul Leyland's
Cunningham Project ftp site, and Conrad Curry's P-1 data ftp site
automatically as part of my update scripts.

Will

http://www.garlic.com/~wedgingt/mersdata.tgz   tar'd & gzip'd lowM.txt, etc.
mersdata.zip   DOS zip'd lowM.txt, etc.
mersfmt.txtdescription of format
mersenne.html  descriptions and links



RE: Mersenne: Fast check for common factor?

1998-11-17 Thread Will Edgington


Don Leclair writes:

   There is the risk that more than one factor (or all factors!) might
   be extracted in between GCD's.  This is easy to work around: After
   each unsuccessful GCD, save the current iteration number.  If the
   next GCD(N,accumulator) is equal to 'N', back track to the
   iteration you saved and start again, executing the GCD more
   frequently.

I believe that Factor98, at least, does things as Don describes,
except that it does not "back up".  Certainly, it does sometimes print
"this factor is composite" (or similar) and I end up factoring those
composite factors, when they're sent to me, using the ecmfactor
program of the mers package.  In fact, the ecmfactor program was
written by me based on ecm3 precisely because I needed to factor some
composite factors found by Factor98.

As always, feel free to send me new code, bug reports, fixes, etc.,
for the package.  I haven't seen many lately, but I also doubt it's
perfect.:)  As for new features, PrimeNet for the LL testers is in the
early, pre-compilation, stage of implementation, so you don't need to
mention that one to me, but go ahead and send me other ideas.

Will

http://www.garlic.com/~wedgingt/mers.tar.gz
mers.tgz(same contents)
beta.tgz(beta version)
README.html (nearest thing to a FAQ)



Mersenne: Completely factorized (2^n-1)(2^n+1)

1998-11-16 Thread Will Edgington


Tony Forbes writes:

   I am looking for odd numbers n (not necessarily prime), n not divisible
   by 3, n > 1000 such that both 2^n-1 and 2^n+1 have been completely
   factorized into primes. 

Look at the factoredM.txt file on my web pages.  2^n + 1 is listed
under 2^(2*n) - 1, from the difference of squares factorization.  So,
if there are entries in factoredM.txt for n and 2*n with n odd above
1000, then n meets your criteria.

   The Cunningham tables give 1121 and I have been unable to find any more.
   However, there has been a lot of recent factorizing activity and my
   sources may well be out of date. 

I'll say; factoredM.txt has grown _very_ fast lately, I think, though
I haven't actually counted for a while.

   I am also interested to know who found the factors 58142098448088409
   and 359071640268582342735956401 of 2^1121+1.

It appears that I got them straight from Paul Leyland's Cunningham
Project ftp site; certainly, I don't see, after a few searches in the
appropriate files, email direct to me announcing their discovery.

Will

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



Re: Mersenne: Goldbach's Conjecture

1998-11-15 Thread Will Edgington


Nicolau C. Saldanha writes:
   
   > >   Given N, let f1(N) be the number of primes of the form 4n+1 which
   > >   are smaller than N, and f3(N) be the number of primes of the form
   > >   4n+3 which are smaller than N. Thus, f1(10) = 1 and f3(10) = 2.
   > >   Is it true that f1(N) <= f3(N) for all N?
   > >
   > >The answer is no, but I challenge you to find a counter-example.

   What I do not understand is why you consider it unwise to pose
   challenges to people who might actually be interested in them.

"Challenge" in this context in English (at least as used in America)
often implies that you believe that it cannot be done or that it would
be very hard to do.  It might be used to challenge someone to prove
Goldbach's Conjecture or Fermat's Last Theorem, for example.

   Maybe you consider "challenge" a bad word?

Not a bad word, but it does sound like a difference in usage.

   My point was that such a counter-example would large enough that:
   (a) a naive person, seeing the empirical evidence,
   would draw an incorrect conclusion.
   (b) some members of this list might find it interesting to
   consider the problem.

"Interesting", "difficult", and "non-trivial" would have been closer
to your intended meaning, then, I think.  And if you simply wanted
someone to find a counter-example, just asking for one is fine; the
list has seen several conjectures proven and disproven (including at
least one of mine, on my Mersenne web page) by example.

Will

http://www.garlic.com/~wedgingt/mersenne.html



Re: Mersenne: [meta] List bug, please fix; Yuri Sorkin, your email is phony

1998-11-14 Thread Will Edgington


Paul Derbyshire writes:

   [deleted]

Since you deleted all the text that you're replying to and your mailer
did not add to the 'References:' header, I cannot even be sure what
you are replying to, but I'll assume you're replying to me since I'm
the only one, as far as I noticed, that said anything about UNIX;
however, since even that reference was just a mention of Linux in a
footnote, it's quite possible I'm mistaken.  On the other hand, I see
that my current mailer, GNU Emacs' vm package, added my note's msg-ID
to the references above despite your mailer not doing so.

   It is somewhat rude or inconsiderate to be unix-centric.

Yes, I suppose it is.  Did you think I was being UNIX-centric?  That
was certainly not my intention, though I must admit a bias in that
direction since I do not often use other systems.  However, I have not
only used other systems at times, I have been systems, network, and
email admin for many such machines, on and off the Internet since
before it was the Internet, over the past 14 or so years.  Being the
kind of group this is, I suspect there are others out there with even
more experience, especially with MSWindows and Macs, but I _have_ used
mailers on all three.  Your assuming otherwise could itself be
construed as rude or inconsiderate, it seems to me.

   I use a PC running Windoze... the mail client, the best free one I
   could find, is Eudora Light.

Many people do use MSWindows and Eudora.  Personally, I found Eudora
so cumbersome and troublesome that I gave up on it quickly, but
perhaps it has improved since and there are certainly a lot of people
out there that prefer it over all mailers.  That doesn't mean it has
no bugs, nor that it follows Internet standards.  Unfortunately, I do
not have recent information on MSWindows mailers, so someone else will
have to help you with that if you want to try something else.  I
presume there are still several newsgroups on the subject, if nothing
else.

   It has an option to reply to the Reply-To or to the Reply-To and
   any addresses Cc:ed but that's it as far as I know...

Now, if one of us had the source to Eudora Light, this could be fixed
- um, OK, perhaps "changed" is a better word - in a jiffy; does anyone
have it?  Somehow, I doubt it, though I've been wrong before, so it's
possible I'm wrong now; thus, I really am asking.  In the mean time,
I'm nearly certain that there are other free emailers out there for
MSWindows that do this and other things (like 'References:') better.

But, as others have noted, this discussion does not really belong on
this list; anyone who's interested is free to contact me directly and,
if there's interest, I'll coordinate a short-term mailing "list" to
get better info on mailers and report back to those that care.

Will

http://www.garlic.com/~wedgingt/mersenne.html



Mersenne: [meta] List bug, please fix; Yuri Sorkin, your email is phony

1998-11-12 Thread Will Edgington


Paul Derbyshire writes:

   To list admins: Please fix the damn listserv software so it sets
   Reply-To: to "[EMAIL PROTECTED]" will you? Right now it is
   unintelligently just forwarding the messages, leaving the Reply-To
   pointing at the author, and it is tedious to have to keep changing
   the address whenever replying to the list. Also error-prone.

Sorry, I disagree.  Of course, my email programs* allow me to reply to
either just the author (Reply-To or From) or the author and everyone
on the To: and Cc: lists.  In fact, my opinion is that any email
program that doesn't allow both is broken and should be fixed.

   To Yuri Sorkin: your e-mail address bounces... that's not exactly a
   friendly gesture, signing on this list with a bogus address.

Yuri has been on this list and part of GIMPS, including providing and
testing programs, from very early on; I think it's far more likely
that his mail server is experiencing problems.  In any case, the
listserv software automatically drops addresses that bounce too many
times or something similar.  I myself have been caught by that last
two or three times when my mail server was having problems.

Will

* Linux comes with several; I believe that they can all do this.



Re: Mersenne: What up with PPC Macs?

1998-11-11 Thread Will Edgington


Greg Hewgill writes:

   Would MacLucas be suitable for double checking? Not having a Mac, I
   have never run MacLucas, but there is lots of double checking work
   going on right now in the 1.3e6 - 1.6e6 range.

I'm sure that there are quite a few people out there using
MacLucasUNIX for double checking.  Probably more, though, are using it
for 'first checking'.

Will

http://www.garlic.com/~wedgingt/README.html



Mersenne: Faster GMP exp mod 2**p-1

1998-11-11 Thread Will Edgington


Alexander Kruppa writes:

   I saw code posted earlier today that did LL testing with the GMP
   library. It used the mpz_powm_ui function for exponentiating modulo
   x.  For x=2**p-1 this function can be sped up considerably, since a
   mod (2^p-1) = a % 2^p + a / 2^p (integer operations) and these can
   be done by bit shifting/masking.

Yup; good eye.  I figured this out years ago, but I think the only
place it's presently used in the mers package is in mers3p.  The LL
test programs do the modulo as part of the FFT, though, so it would
actually slow them down.

   I use this function below for my P-1 factorer (not released (yet?)).
   It gave me a factor 3 speedup. It´s a pretty straigtforward
   exponentiation algo 
   exp(b,e) = if (e & 1) b*exp(b**2,e >>1) else exp(b**2,e >>1)
   with the modulo by bit shifting.

This is what the trial factorers, George's and the mers package's, do,
except that the modulo is by the trial factor, and thus can't be sped
up this way but allows the use of single word arithmetic, and the
exponentiation is of two.  George told me about it and we put it in my
pre-GIMPS trial factorer, which also gave it a speed up of a factor of
three or so.

   To Will Edington: I think I saw in the P-1 factorer of the mers
   package that it used mpz_powm_ui, too, perhaps you may want to
   replace it.

Yup, when I get around to it.  But that program is so slow, noone is
using it so far as I'm aware.  It also does not support save files.

What would be really nice is if someone that understands the FFT code
of MacLucasUNIX, mersenne1, or even fftlucas would use that knowledge
to write a P-1 and/or ECM factorer.  I'd do it myself, except that I
don't understand FFTs themselves enough, let alone the mers package
programs that implement them.

Will



Mersenne: What up with PPC Macs?

1998-11-11 Thread Will Edgington


Richard McDonald writes:

   A bunch of Macs in my life would love to add to the effort, along
   with my PCs.  I've found the MacLucas program, which was never very
   useable, is now unuseable; presumably the exponents are too large.

The MacLucasUNIX program of the mers package is a direct descendant of
John Sweeney's MacLucas program and I have just been informed by a Mac
user that the current version, v6.1, compiles and passes the Makefile
tests, so give it a try it you like.  It will run best on PowerPC CPUs
(Mac or not), since that's what John Sweeney tuned the code for, but
don't expect it to be as fast as George Woltman's programs.

http://www.garlic.com/~wedgingt/mers.tgz

Someone else tells me that Navigator and IE both download that in text
rather than binary mode, so I've also named it 'mers.tar.gz', which
should be correctly recognized as binary.  WinZip will likely not
recognize the latter, however; rename it to the former first.

   I can't find anything online about efforts to produce a proper
   client (network enabled & stable) for Mac, which surprises me.

MacLucasUNIX is not network-capable, but there are people (including
me, slowly) that are working on adding PrimeNet support, but without
support for the Prime95 style checksum to verify results.

Will

http://www.garlic.com/~wedgingt/README.html
http://www.garlic.com/~wedgingt/mersenne.html



Mersenne: Pseudoprime tests?

1998-11-07 Thread Will Edgington


Paul Derbyshire writes:

   I notice that GIMPS exponents are tested with a bit of trial
   factoring and then we go straight to LL testing, without any
   pseudoprime testing. I assume that pseudoprime tests are actually
   slower than the LL test itself?  Or else they'd use them to
   eliminate some composite numbers before going on to the LL tests...

The pseudo-prime test requires effectively the same amount of CPU
time, since the only real difference is that the LL test does the
subtraction of two each iteration.  The real issue is that the
pseudo-prime test is not certain, since some composites "look" prime
to it.  The LL test is certain, barring errors during execution.

   (I am aware that Mersenne numbers are always strong
   2-pseudoprimes. I was thinking along the lines of other bases.)

Base 3, e.g., which is where mers3p.c of the mers package came from,
due to a prior discussion of this on this mailing list.  Compare it to
the recently posted LL test program implemented on top of GMP.

  Will

http://www.garlic.com/~wedgingt/mersenne.html
`



Mersenne: New mers release, v6.1

1998-11-07 Thread Will Edgington

A week or so ago, I put a new release, v6.1, of the mers package on my
web pages at:

http://www.garlic.com/~wedgingt/mers.tgz

The prior (non-beta) release was v4.42; v5.x only appeared as beta
releases.  There is already a newer beta release, as well.

Two new programs have been added since v4.42.  Mers3p does (slow,
non-FFT) base-3 pseudo-prime tests of Mersenne numbers and ecmfactor
uses freeLIP's ECM routines to factor arbitrary natural numbers.

There are no great speed improvements, only a few fixes and somewhat
improved and easier usage; I've included some details below.

Will

README.html has been somewhat improved and considerably updated,
including references to the manual test forms of PrimeNet in
preference to emailing George Woltman to get exponents to LL test.

The fftll shell script will now ignore a leading 'Test=' so that the
PrimeNet form result can be simply cut-and-pasted or saved as a file
and the file name given to fftll as an argument.

Ecm3 now knows how to handle even exponent Mersennes, including the
'L' and 'M' algebraic factors when the exponent is an odd multiple of
four.  See README.html and mersfmt.html for more details, including
the algebra itself.  Ecm3 also has several new flags.

Extract and rw.c can now read and contract can produce DATABASE files
with exponents larger than 2^24 (about 16.6 million).  Extract can now
print information from Factor98 save files.

Mersdistrib should now compile and run on SGIs and SunOS 5.x.

A small Makefile bug for DEC MIPS machines has been fixed.

Small problems with libraries in Makefile.nofac have been fixed.



Re: Mersenne: When triple checking fails

1998-10-25 Thread Will Edgington


Marc-Etienne Vargenau writes:

   Yes, I have the same problem. With Netscape on Macinstosh or Unix
   (Solaris).  I sent a few days ago a private e-mail to George about
   this and he answered that I was the only one to have this
   problem. He told me that
   ftp://gimps:[EMAIL PROTECTED]/home/gimps/programs.txt works and
   that ftp://gimps:[EMAIL PROTECTED]/programs.txt dit not work with
   Internet Explorer on his computer.  I would probably consider this
   a bug in Internet Explorer.

>From your description, it is a bug either in IE or in either the HTTP
or FTP server on 209.45.246.79; the FTP protocol is quite clear as to
the directory at login.  But FTP itself (my Linux ftp client, e.g.,
rather than a web browser) is working correctly, so the FTP server
appears to be working fine.

My Linux box's lynx (a text-only web browser) gets seriously confused
by either URL; the server is sending something that causes lynx to
switch my xterm to an alternate, unreadable, character set (which
implies a bug in lynx, too; it shouldn't do that sort of thing no
matter what it gets over the connection).

Oddly enough, my Linux Netscape Navigator also works only with the
longer URL, so something screwy is going on.

But note that the URL:

ftp://gimps:[EMAIL PROTECTED]/~gimps/programs.txt

... should work with correct and broken (in this fashion) browsers,
even if it does appear to be from the Department of Redundancy
Department.:)

Will



Mersenne: factoring code

1998-10-25 Thread Will Edgington


Henk Stokhorst writes:

   table:1,7,17,23,31,41,47,49,71,73,79,89,97,103,113,119

In case it still isn't clear to someone out there, this is the list of
numbers less than 120 that are relatively prime (no common factors
greater than 1) to 120.

   for number := first to last number in table do
 for factor := smallest to highest possible factor do
   result := Mersenne candidate divided by factor
 if result = number then factor found ; exit
 next factor
   next number

Yes, this is the basic idea.

   While I would have expected the code

   for factor := smallest to highest possible factor do
 result := Mersenne candidate divided by factor
 for number := first to last number in table do
   if result = number then factor found ; exit
  next number
   next factor

This is slightly incorrect; the "division" (the actual code does no
long division) still has to take place inside the inner loop:

for factor := smallest to highest possible factor do
  for number := first to last number in table do
result := Mersenne candidate divided by (factor + number)
if result = (factor + number) then (factor + number) is a factor ; exit
   next number
next factor

   to be faster. Of course it isn't, but why?

I believe that most of it is because there is less to do in the
innermost loop.  For example, the increase in the possible factor in
the first case is a constant, the index into table doesn't change in
the inner loop, and table isn't even read from in the inner loop.

But it's also not quite that simple.  If the Mersenne has one small
factor and it happens to be 119 mod 120, the first method will search
the entire range 15 times before finding it; the second method will
find it quickly and exit.  But the assembly code version is so fast -
especially compared to the LL test times for the large exponents GIMPS
is working on now - that it's probably not worth worrying about this
last effect.

Will



Re: Mersenne: factoring code

1998-10-25 Thread Will Edgington


Henk Stokhorst writes:

   I simplified the code a little bit, it says divide, whereas in the
   real code fourier transformations seem to be used. But I assumed
   more people would be familiar with dividing than fourier
   transformatios.

The factoring code does not use fourier transformations; only the
squaring code of the Lucas-Lehmer test needs that.

But rather than having to even calculate, let alone divide anything
into, the Mersenne number itself, the factoring code (in both Prime95
and the mers package trial factorers) calculates (2^exponent) modulo
the trial factor a bit (literally) of the exponent at a time,
something like this:

  acc = 2;
  topbit = 2;
  while (topbit <= exponent)
topbit = 2*topbit;
  for (bit = topbit/2; bit > 0; bit = bit/2)
acc = (acc*acc) % trial_factor;
if (exponent & bit) /* is this bit set/on in the exponent? */
  acc = 2*acc;
  if (acc == (trial_factor + 1))
found_a_factor(trial_factor);

... where '%' is the C modulo (remainder) operator and '&' is the C
bit-wise and operator.  The comparison to trial_factor + 1 rather than
to just 1 is because the last '2*acc' is not '(2*acc) % trial_factor'.

  Will



Mersenne: factoring code

1998-10-25 Thread Will Edgington


I wrote:

   Henk Stokhorst writes:

  table:1,7,17,23,31,41,47,49,71,73,79,89,97,103,113,119

   In case it still isn't clear to someone out there, this is the list
   of numbers less than 120 that are relatively prime (no common
   factors greater than 1) to 120.

Oops!  I should have thought about this some more before sending this
out; it's not quite correct.

All the numbers in this table are indeed relatively prime to 120, but
there are 16 more such numbers, each differing from one of the above
by 60.  My only excuse is that I was thinking in terms of my old,
pre-GIMPS, factoring code, which used 60 instead of 120 but still had
16 entries.  Those 16 out of 60 are equal to (2 - 1)*(3 - 1)*(5 - 1)
out of 2*3*5: cancel half, then one third, then one fifth.

Will



Mersenne: Two questions on Prime95.exe

1998-10-24 Thread Will Edgington


Bill Cherepy writes:

   I recently join the project and I'm testing my first exponent. I
   have two questions on Prime95.exe, the Windows 95 version.

Welcome!:)

   When the program reached about 47% complete on the LL iterations,
   Status listed a second exponent for me with a Dec date. It this
   normal?

Yes, if your computer is estimating that it will complete the first
and then the second (and any later) exponents' LL tests within the
number of days of work you've told Prime95 to ask PrimeNet for.

   Does the program run the LL test to 100% completion?

Yes, given enough CPU time.  When it does complete, it will print a
line (in the window and to results.txt) saying that the Mersenne
number is either composite (99+%) or prime (about 38 in 3 million :).

Note that, if your second (or any later) exponent needs factoring,
Prime95 may do that factoring before completing an LL test already in
progress.  If there is a small enough factor, it will take much less
time to find it than doing an LL test and it will eliminate the need
for the LL test, meaning your computer will suddenly have much less
future work.

Will



Mersenne: Mersenne exponential range

1998-10-22 Thread Will Edgington


[EMAIL PROTECTED] writes:

 I was looking at the available ranges to test Mersenne primes and
I noticed the range included exponents which by definition cannot
yield primes.
 
The ranges listed at www.mersenne.org and PrimeNet are mostly meant to
include only prime exponents.  The only exception I can think of at
the moment is the ECM (Elliptic Curve Method) factoring pages at
www.mersenne.org.

 I looked at some Mersenne htmls and didn't see any mention of
even number exponents excluded from the search.

They (all composite exponents, actually) are excluded from the search
for Mersenne primes.  No composite exponent Mersenne can be prime; see
my:

http://www.garlic.com/~wedgingt/mersenne.html

for a proof.

if the exponent, n, is an even number integer then 2^n is a square
   and 2^n-1 is factorable by: ((2^n)1/2 -1) ((2^n)1/2 +1) = 2^n-1

Correct.  See my recent message to this list titled 'Composite
exponent Mersenne numbers' for another factorization when n is an odd
multiple of four.  I've added the appropriate references to the email
headers to make this easier once this message is archived.

 My computer is a pentium 133, 64mb ram , 2gig hd, MS95, math
coprocessor.  Could I contribute to the prime search?

Yes, both for a new Mersenne prime - which is what GIMPS is looking
for - and for new prime factors of smaller Mersenne numbers.  There
are several programs for each that will run on your hardware and
operating system.  For Mersenne prime hunting in particular, you want
George Woltman's prime95, at www.mersenne.org; it's easily the fastest
on Intel CPUs.

Will



Mersenne: Composite exponent Mersenne numbers

1998-10-18 Thread Will Edgington


Foghorn Leghorn writes:

   Second, I see that there are now some composite exponents in the
   ECM factoring page. Why are none of them even? Is there a technical
   reason that makes them less interesting?

As Sam Laur and George Woltman have mentioned, even exponent Mersennes
are always composite.  George also pointed out the explicit factorization
based on the usual difference of squares rule:

  x^2 - y^2 = (x - y)*(x + y)

which, for our current purposes, gives:

  M(2*n) = 2^(2*n) - 1 = (2^n)^2 - 1^2 = (2^n - 1)*(2^n + 1)
 = M(n)*(M(n) + 2)

So, if you want to know the factors of M(2*n), then factor M(n) and
M(n) + 2 == 2^n + 1.  Thus, (part of) the Cunningham Project tries to
factor '2-' and '2+' numbers, 2^n - 1 for odd n and 2^n + 1 for all n.

To fully understand the Cunningham Project 2+ file, there's another
"algebraic factorization" that works for 2+ numbers for certain n's:

2^(4*a - 2) + 1 = (2^(2*a - 1) - 2^a + 1)
 *(2^(2*a - 1) + 2^a + 1)

The first column of the 2+ file for the lines that can be factored in
this was is n = 4*a - 2.  For example, here are a couple of early
lines in 2+:

14L 113
14M 29

2^14 + 1 = 16385 = 5*29*113

where 14 = n = 4*a - 2, giving a = 4.  So:

2^14 + 1 = 2^(4*4 - 2) + 1 = (2^(2*4 - 1) - 2^4 + 1)
*(2^(2*4 - 1) + 2^4 + 1)
 = (2^7 - 16 + 1)*(2^7 + 16 + 1)
 = (128 - 15)*(128 + 17)
 = 113*145
 = 113*5*29

5 will always appear in this complete factorization if n is even,
since M(4) = 15 and 5 divides no smaller Mersenne number (3 also
always appears, but in the Mersenne (2-) half when n is even, in this
case 2^14 - 1 = 16383 = 3*43*127 = 129*127 where 127 is, of course,
2^7 - 1 == M(7)).

Paul Leyland maintains the Cunningham Project data, presently at both
of ftp://ftp.cam.uk.eu.microsoft.com/pub/math/cunningham/ and
ftp://sable.ox.ac.uk/pub/math/cunningham/.

George Woltman continued:

   However, prime95 can be used on even exponents.  If both 2^n-1 and
   2^n+1 have not been fully factored then you can modify your
   lowm.txt file and try factoring 2^2n-1.  If one of the two smaller
   values has been factored, then you are better off factoring either
   2^n-1 or waiting for an upgrade that can factor numbers of the form
   2^n+1.

The beta mers package version of ecm3 can also now handle even
exponent Mersenne numbers, including, imperfectly, the L and M
"halves" described above when the exponent is 8*a - 4 == 2*n.  The
program knows enough to split the halves into distinct numbers to
factor, but does not yet distinguish, in the output, to which half a
new factor belongs.  Old "factors", from the input, are checked
against both halves before being rejected as incorrect (if it divides
neither half).

Ecm3 also handles composite (including even) exponent Mersennes
slightly better than Prime95 by pulling out factors that are due to
smaller Mersennes (with exponents that factor the larger, composite
exponent) before trying to factor what's left.  For even exponent
(2*x) Mersennes, this means that ecm3 only works on the 2^x + 1 part;
the rest is ignored by ecm3 since it will be or already has been
factored independently as M(x) == 2^x - 1.  Prime95's much greater
speed, due to the FFT multiplication, is thus at least partially
offset in that ecm3 is trying to factor smaller numbers - often _much_
smaller - when the exponent is composite.  At least until George
decides to improve Prime95 in this way.:)

Further, since ecm3 can now handle even exponents, my data files,
including lowM.txt, will now include data for even exponents.  I have
already added the data from the Cunningham Project's 2+ file and will
update my web site's mersdata.zip and mersdata.gz data files within a
day or so, after I check some details of my new update scripts and the
newest version of ecm3.

Lastly, feel free to send me data related to composite exponent
Mersenne numbers; it will get added as I have time, as for the prime
exponents.  Note that the mers package trial factorers still only work
for prime exponents; the sieving code needs to be substantially
modified to deal with composite exponents.  I will almost certainly
not cure this defect any time soon, since ECM and P-1 are much faster
than trial factoring, _especially_ for these smaller exponents.

 Will



Re: Mersenne: When triple checking fails

1998-10-16 Thread Will Edgington


Ken Kriesel writes:

   M4190237 is not prime. Res64: 14FC0406840D6CF3. WQ1: 2DB378F5
   (exponent) (result)   (residue)  (SW version) (security code)

   Do other programs (MacLucas, mersenne1, etc.) have a security code,
   or are those results on the honor system?

They are on the honor system, at least for the mers package.  That's
because the source code to generate the security code must be secret;
if the source code were available, someone could add it to any program
and the result would appear to be legitimate no matter how the residue
was generated.  PrimeNet goes a step further and adds a random value
to the bytes checksummed by the security code.

This means that adding PrimeNet support to the mers package programs
is presently impossible, at least in the sense of verified-by-
security-code results, since I have no way of compiling the package
anywhere but my Intel Linux box and have no way of distributing
binaries (executables) even if someone else compiled them for me.

But I am finally looking at adding PrimeNet support (without security
codes) to the mers package programs.  Don't expect anything soon,
though.

 Will



Mersenne: Exponents

1998-10-13 Thread Will Edgington


[EMAIL PROTECTED] writes:

   For some reason, Mr. Woltman didn't respond to the E-mail I sent
   him at [EMAIL PROTECTED] I'm sending it here in hopes that
   he'll see it: My friend AYL, who's been running Prime95 on a slow
   P75 on and off for a while, recently got a fast PII 400Mhz that's
   on 24hrs a day. So he just completed the two exponents which I got
   for him quite a while ago: 4631663 and 4631821. (He has no E-mail
   or Internet access). I'd like to request 10 or so more prime
   exponents to work on. :-D (10 should take about 2 months).

I suggest that you do what I do for another no-email GIMPS member: use
the manual checkin & reservation page of PrimeNet.  I created an
account for him with my email address and a name of 'His Name c/o Will
Edgington'; that way, I get the email warnings about exponents timing
out but I can also download a status report with only his data on it
and put it on a diskette (along with the new version of Prime95 this
time) to USMail to him.

Will
`



Re: Mersenne: Hitting the snail...

1998-10-12 Thread Will Edgington


Brian J Beesley writes:

   > It would also - improperly - catch those of us that can't use the
   > automatic networking but whose machines are slower than the estimate
   > for some reason.  A participant without email access that sends me
   > USMail with his data now and then is about to get caught by this for
   > an exponent that he's working on; 60 days simply isn't going to be
   > enough even though the prediction was for less than 40 days.

   Not neccessarily.

Yes, it would, because only the automatic networking code in Prime95
is supported directly by the server.  Since all my activitiy for the
person noted above is via the manual web forms, his status report says
the last activity by his account was in July even though I have
submitted a new residue and a new factor already in October.  I had to
ask Scott to manually add 30 days to the predictions to prevent it
from timing out an exponent part way thru the LL test.  The only
reason I won't have to do that repeatedly is Prime95's new ability to
do double check LL tests of exponents already tested by Prime95.

   What I meant was, if the last date any message was received about an 
   exponent is more than 4 months ago, reassign it, even if the expected 
   completion date hasn't yet arrived.

Yes, I agree that something like this has to be done.  But it still
causes problems, as described above.

   > Also, P-1 factoring, using Factor98, is still useful, there are still
   > many exponents under 1000 that noone is working on, and it will work
   > on exponents thru 170,000.  Reserve exponents for P-1 by sending me
   > email; I also have some Factor98 save files for many exponents.

   Perhaps you should publicise this a bit...

That was part of the reason I mentioned it, actually.  Where else
would it make sense to publicize it?

   Does ECM find only prime factors, or is it just that it is so much 
   more likely to find factors which are numerically small, so that 
   factors composed of a product of two or more largish primes are most 
   unlikely to be discovered without discovering the prime factors?

The mers package's ecm3 and ecmfactor only print prime factors because
they check the primality of factors found and factor them in turn if
they fail a pseudo-prime test.  But they generally only find composite
factors of Mersennes early on, with low bounds and no already known
factors.

   How do you verify that an arbitary number with ~1000 digits really is 
   prime? (Let alone a number ten times that length!)

There are programs out there, notably Morain's ECPP (Elliptic Curve
Primality Prover), that provide primality proofs.  I don't have one
myself, so I don't know a lot about them.

   I think the rules would have to state that the "prize" factor must
   be found using one of a set of specific programs, which must supply
   the "s number" so that the calculation can be verified.

"S number"?  And factors can be confirmed quickly and easily, much
easier than large primes; what does it matter how it was produced as
long as it's a new factor, previously unknown?

Will



Re: Mersenne: Hitting the snail...

1998-10-10 Thread Will Edgington


Brian J Beesley writes:

   Also this would catch those users still using 15.x, which doesn't
   have the same automatic mechanism for intermediate check-ins.

It would also - improperly - catch those of us that can't use the
automatic networking but whose machines are slower than the estimate
for some reason.  A participant without email access that sends me
USMail with his data now and then is about to get caught by this for
an exponent that he's working on; 60 days simply isn't going to be
enough even though the prediction was for less than 40 days.

   I think trial factoring is far enough ahead that encouraging slow
   machines to do that isn't going to be helpful. However, slow
   machines can still run ECM factoring usefully. I think it would be
   better to encourage them to try ECM.

Using slow machines for trial factoring still makes good sense to me;
if nothing else, it means the faster machines are spending that much
more time on LL tests, even if it is a small extra amount of time.

ECM, as you note, is also productive; small exponents should be
reserved with Paul Zimmerman of ECMNet (there's a link on
www.mersenne.org).

Also, P-1 factoring, using Factor98, is still useful, there are still
many exponents under 1000 that noone is working on, and it will work
on exponents thru 170,000.  Reserve exponents for P-1 by sending me
email; I also have some Factor98 save files for many exponents.

   (b) an annual prize for the numerically largest factor found during
   each calendar year - though I don't know where the money would come
   from.

Neither do I; I'm still kind of surprised someone is offering money
for the next Mersenne prime.

And it would have to be worded very carefully; I can give you lots of
very large factors quite quickly, including fifteen or more that are
almost certainly prime but noone has proven to be prime.  The largest
is 9778 digits and would be the largest "hard" prime known by a wide
margin.  Would any of them count?  I can likely find almost
arbitrarily large ones in the future; how about them?

And a prize for the smallest new factor would be even easier to rig in
this fashion; I have a 10-15 year old program whose entire purpose is
to print out small factors of Mersennes in _factor_ order!  See my old
postings about my "reverse method".

Will



RE: Mersenne: Hitting the snail...

1998-10-10 Thread Will Edgington


   I suppose the factoring methods do not guarantee to find _prime_
   factors.

Correct.  In fact, I recently added the ecmfactor program to the mers
package precisely because other programs, notably Factor98 (which uses
the P-1 method), print composite factors.  I use ecmfactor routinely
(once a week or so) to factor a composite factor discovered by someone
else using Factor98.

Ecmfactor uses the freeLIP library's ECM (Elliptic Curve Method)
functions to factor arbitrary natural numbers.  Ecm3 uses the same
functions to factor Mersenne number cofactors (the part left after
some known factors are divided out).

Will



Re: Mersenne: Prediction

1998-10-08 Thread Will Edgington


Yvan Dutil writes:

   Maybe a multi-level objective would be better. Say for 2001:

   -Exploration factoring up to 15 000 000

Depending on what you mean by "exploration", this is already done thru
21.5 million or so.

   -one L-L up to 10 000 000
   -two L-L up to  6 000 000

Others can almost certainly better estimate how likely these are.

   -ECM complete factoring up to 100 000

This is, I think, wildly optimistic; it's quite likely that there will
still be Mersenne numbers with exponents under 1000 that are not
completely factored by 2001.  M727 still has no known factors, for
example, and no ECM effort for any exponent above 23,059 has been
reported to me; in contrast, there's been some P-1 effort to just
under 170,000.  Further, there are far fewer people running ECM (or
P-1) factoring than there are people running Lucas-Lehmer tests and
'complete' factoring is much harder than LL tests for the same
exponent.

There are still exponents under 1000 that noone is running P-1 on,
for that matter; if you want to reserve some, send me email.

 Will



Re: Mersenne: Double-checking (was snails)

1998-10-08 Thread Will Edgington


Eduard Kostolansky writes:

   Oh, GOD!  I think, this will be the real death of us - UNIX
   double-checkers.

Possible, I suppose, but for people that only have UNIX boxes and want
to contribute ...  Of course, there's always ECM factoring, NFSNet,
Ernst Mayer's F90 code, and others.

   Note for Will Edgington: Will, I don't wanna die!! It's time to
   upgrade MacLucasUnix! Or is it impossible??

I'm sure it's possible, but I certainly don't know enough to improve
the speed.  And have not even had time to keep up with bug reports,
recently, though that should change over the next few weeks.

 Will