mersenneforum.org

mersenneforum.org (https://www.mersenneforum.org/index.php)
-   FactorDB (https://www.mersenneforum.org/forumdisplay.php?f=94)
-   -   Factoring database (https://www.mersenneforum.org/showthread.php?t=11119)

LaurV 2011-08-15 03:26

Just reported my first "List of 1.000 randomly chosen, small composite numbers", mainly 82..84 bits. Over the weekend job with Yafu. Using this opportunity to signal a small bug in yafu, if the batch file has some empty lines inside (empty CR/LF sequences, I edited the downloaded file of "numbers to be factored" with Notepad, to add some other lines in the beginning of it, like [URL="http://www.mersenneforum.org/showpost.php?p=267936&postcount=1"]this one here[/URL], and it got a CR/LF at the end by saving it). In this case yafu goes in an infinite loop saying something like "skipping empty line bla bla bla" and if any numbers to be factored after that line, they will not be reached. When I came to the office this morning, my screen was scrolling up like crazy with that message. Fortunately the log file was clear, the error message is not added into the log, that made my reporting easier, copy/paste.

As a second observation, for some of the numbers I reported, it says "factor already known", so I would be a little skeptical about the "random number generator" that was used, as it seems that some other people got the same numbers like me and factored them over the weekend, faster. From two millions available for factoring, getting random "unique" a thousand should not be too difficult, or maybe there are many-many users working to factor them? (which is not my feeling, I thought there are not so many people full of enthusiasm about finding such "small factors").

LaurV 2011-08-15 03:34

[QUOTE=schickel;268739]If you could come up with a quick & easy automated way, I'd say go for it[/QUOTE]

Subscribe 100% to that idea! Waiting for an automated way too.

schickel 2011-08-15 03:56

[QUOTE=LaurV;269113]Just reported my first "List of 1.000 randomly chosen, small composite numbers", mainly 82..84 bits. [/quote]Cool. You've made the FactorDB that much better with your assistance![quote]Over the weekend job with Yafu. Using this opportunity to signal a small bug in yafu, if the batch file has some empty lines inside (empty CR/LF sequences, I edited the downloaded file of "numbers to be factored" with Notepad, to add some other lines in the beginning of it, like [URL="http://www.mersenneforum.org/showpost.php?p=267936&postcount=1"]this one here[/URL], and it got a CR/LF at the end by saving it). In this case yafu goes in an infinite loop saying something like "skipping empty line bla bla bla" and if any numbers to be factored after that line, they will not be reached. When I came to the office this morning, my screen was scrolling up like crazy with that message. Fortunately the log file was clear, the error message is not added into the log, that made my reporting easier, copy/paste.[/quote]You might want to make sure that you report this over in the YAFU [url="http://www.mersenneforum.org/showthread.php?t=10871"]thread[/url] so that bsquared sees the message....[quote]As a second observation, for some of the numbers I reported, it says "factor already known", so I would be a little skeptical about the "random number generator" that was used, as it seems that some other people got the same numbers like me and factored them over the weekend, faster. From two millions available for factoring, getting random "unique" a thousand should not be too difficult, or maybe there are many-many users working to factor them? (which is not my feeling, I thought there are not so many people full of enthusiasm about finding such "small factors").[/QUOTE]That's the main reason I trim out the smaller numbers, so that I'm working, hopefully, a number slightly beyond where any of the automated scripts that work from smaller to larger would be factoring....

Also, you should be aware that >3/4 of the "factor already known" messages are the result of your reporting factors. Here's an example:[quote=FactorDB]Number Factor Result
5346366962...3<96> 111770948692081677297647526622070785956547369<45> Factor added
5346366962...3<96> 4783324311...7<52> Factor already known
5346366962...3<96> 111770948692081677297647526622070785956547369<45> Factor already known
5346366962...3<96> 4783324311...7<52> Factor already known[/quote]For this, I put a number in, then reported the two factors. Notice that the p45 says "Factor added". You see where it says "Factor already known" for the p52? That is because the p52 became "known" [i]when the p45 was divided out of the c96[/i]! Also, for some reasson, the DB lists the reported factors again, but since the p45 is already known, it gets the "factor already known" tag. So for reporting 2 factors, you get one "Factor added" and three "Factor already known" tags. You also get the same effect if there are smaller factors in the mix. When there were a lot of numbers <80 digits, I would get a bunch of factors coming out in the 6-15 digit range, resulting in a 3-way split on the composite. For those, the DB reports "small factor", "factor added", and "factor already known".

So as long as you get a healthy proportion of "Factor added" messages when you do a mass reporting, you know that you are actually helping the matter....

schickel 2011-08-15 04:01

[QUOTE=LaurV;269114]Subscribe 100% to that idea! Waiting for an automated way too.[/QUOTE]I'm not sure if it is totally automated, but if you click the "More information" arrow, then follow the chain "up" the "Is factor of:" links, if the top composite is an SNFS form, there will be an SNFS poly available for download.

LaurV 2011-08-15 06:13

[QUOTE=schickel;269116] there will be an SNFS poly available for download.[/QUOTE]

That is a very useful info! I did not know it. Let me see if I can figure out what to do with that poly :D if not, I will come back to you.
For "automated" I understood something like P95, just run it on my wheelbarrow and it would take care by itself of downloading numbers, factoring them (running the tool I tell to it - yafu, else - or eventually factoring algorithm included), report the results.

schickel 2011-08-15 06:39

[QUOTE=LaurV;269121]That is a very useful info! I did not know it. Let me see if I can figure out what to do with that poly :D if not, I will come back to you.
For "automated" I understood something like P95, just run it on my wheelbarrow and it would take care by itself of downloading numbers, factoring them (running the tool I tell to it - yafu, else - or eventually factoring algorithm included), report the results.[/QUOTE]Nope, nothing like that has been posted (that I remember....)

There was some discussion about adding larger tools to the scripts included in this thread, but nothing concrete.

One thing you could do is get numbers in the 100+ digit range (up to ~130 or so, depending on your setup) and run manual NFS jobs. For example, on one of my current aliquot sequences, I'm in the linear algebra stage of an NFS job of 130 digits. Total time ~2 days.

If you took numbers in the 110-120 digit range, you could run NFS jobs overnight and upload the results in the morning....in fact, if you look at the composite report, there is bulge in composites in the 97-109 digit range. Start chipping away at numbers on the high side of that range and you wouldn't have to worry about duplicate work.

yoyo 2011-08-15 19:57

Hi,

I also wrote a small Perl script which performes SIQS on composites > 70 digits downloaded from factordb and reports the results back. You just need yafu in the directory where the script runs:
[CODE]
#!/bin/perl

use warnings;
use strict;
use LWP::Simple;

while(1){
print "get composites\n";
my $contents = get("http://factorization.ath.cx/listtype.php?t=3&mindig=70&perpage=1&start=0&download=1");
die "Couldn't get list of composites!" unless defined $contents;

my @composites=split(/\s/, $contents);
foreach my $composite (@composites) {
print "Factoring ".length($composite)." digits: $composite\n";
my @results;
open(YAFU, "yafu siqs($composite) |") or die "Couldn't start yafu!";
while (<YAFU>) {
if (/P.*? = (\d+)/) {
push( @results, $1 );
print "$_\n";
}
}
close(YAFU);

print "report factors\n";
if ( scalar(@results) > 0 ) {
my $url="http://factorization.ath.cx/report.php?report=".$composite."%3D2".join('*',@results);
#print "$url\n";
$contents=get($url);
#print $contents;
}else {
print "Error, no result found\n";
sleep(60);
}
}
}
die;
[/CODE]
yoyo

LaurV 2011-08-16 02:35

Thanks. It looks ok, with two small exceptions:

1. I am not a big perl fan. (read that like "I have no idea how to use it and being reticent to learn, from personal reasons, not connected to prime or searching for factors")

2. What's with the links? They seems to point to a different web page, that I can not open in my browser. Is that a mirror of factordb, or are you trying to include me in some factoring team, without my knowledge? "you do the work, we take the glory?" :P

schickel 2011-08-16 03:03

[QUOTE=LaurV;269196]Thanks. It looks ok, with two small exceptions:

1. I am not a big perl fan. (read that like "I have no idea how to use it and being reticent to learn, from personal reasons, not connected to prime or searching for factors")[/quote]Well, unless you roll your own, you're kind of stuck with what everyone's posting here....[quote]2. What's with the links? They seems to point to a different web page, that I can not open in my browser. Is that a mirror of factordb, or are you trying to include me in some factoring team, without my knowledge? "you do the work, we take the glory?" :P[/QUOTE]The [noparse]"factorization.ath.cx"[/noparse] form is the original domain that the DB was available under. It does mirror to [noparse]factordb.com[/noparse].

And I don't know about you, but when I tried [url]http://factorization.ath.cx/listtype.php?t=3&mindig=70&perpage=1&start=0&download=1[/url], here is what I got:[quote=factorization.ath.cx]7227652095162032532139324736930860452869099063319483875357304625277498951240945393[/quote]Fundamentally, the listtype page gives you a bare listing of numbers. "t=3" gives you composites (maybe "composite with no known factors"); "mindig=" gives you composites at a specified size (or larger); "perpage=" gives how many you want per page; "start=" gives you an offset from the beginning of the list; "download=1" specifies how you want the numbers formatted ("1" means strip everything).

The link further down ([noparse]http://factorization.ath.cx/report.php?report=".$composite."%3D2".join('*',@results)[/noparse]) is the same as the "report results" page, just seen from the inside of the html code....

If you go back higher in this thread, you can find where Syd defines the various parameters.....maybe some one should compile everything to a simple guide.

LaurV 2011-08-16 04:51

Thanks for clarifying it. Now it makes more sense. The link I still can't access but it could be something with the company's firewall. Maybe they saw my last days activity, they didn't know what is it, and cut me off.

@yoyo
Sorry I got fussy. One of those days...

yoyo 2011-08-16 13:36

I just run the Perlscript over night on 2 cores. Now the smallest composite with unknown factor has 82 digits.
If anybody is interested I can also provide a binary, than you don't need a Perl installation on your Windows.
yoyo


All times are UTC. The time now is 23:02.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.