mersenneforum.org  

Go Back   mersenneforum.org > Factoring Projects > Factoring

Reply
 
Thread Tools
Old 2005-12-08, 17:45   #45
R.D. Silverman
 
R.D. Silverman's Avatar
 
Nov 2003

22×5×373 Posts
Default

Quote:
Originally Posted by xilman
For the line siever you just use the recipe you already gave: sieve over a rectangle which has dimensions in the ratio 1:skew

Actually, that's not quite right for two reasons. First, it's the ratio |a_max| / b_max that should be equal to skew --- the real rectangle is twice as wide because a may be negative.

Secondly, the optimal sieving region is not rectangular, as Bob reminds us every now and again. However, the true optimal area has a very complex shape in general and is not known a priori, so everyone uses rectangularly tiled approximations to it. Traditionally a single rectangle is used; the recipe above is appropriate in this case. NFSNET generally uses a "top hat" approximation, which is a wide rectangle at low b and a narrower one at larger b values. I do not know the precise details of how Bob chooses his rectangular tiles in his line siever, but it seems fairly clear that he uses a number of line widths as he progresses to larger b, and that he adapts the widths according to some function of the yield of relations as the sieving progresses.

Paul
Suppose the probability that a point (b,a) yields a relation is G(b,a).
Then, z = G(b,a) is a surface. A picture of this surface can be found in my
paper on SNFS optimization.

If we now take a plane that is parallel to the (b,a) plane at height
lambda above the (b,a) plane and intersect it with the surface G(b,a) we
get a curve. Project this curve straight down onto the (b,a) plane and
this gives us the optimal sieve region. Proving this, and determining
lambda was the main theorem of my paper. A picture of this curve
can also be found in my paper. It "somewhat resembles" a hyperbola
whose asymptotes are the b and a axes.


I tried doing the same thing for the lattice sieve, but now the optimal
boundary is an affine transform of the boundary I discussed above and
needs to be RECOMPUTED every time special-q changes. And it complicates
the sieve procedure. I did not find [based on some VERY crude experiments]
that it was worth doing.

Note that for line sieving, the yield decreases as b increases.

For the lattice siever, for each special q, yield is a function of the size
of that special q and the AREA of the sieve region. As special-q
increases, yield also goes down; but not as quickly as with the line
siever. I am now looking at an approach that still uses parallelograms
for the shape of the sieve region for each special-q, but adjusts its
AREA as q changes. It does seem to have some effect. [Work still in
progress]
R.D. Silverman is offline   Reply With Quote
Old 2005-12-08, 18:29   #46
xilman
Bamboozled!
 
xilman's Avatar
 
"π’‰Ίπ’ŒŒπ’‡·π’†·π’€­"
May 2003
Down not across

2A0016 Posts
Default

Quote:
Originally Posted by R.D. Silverman
If we now take a plane that is parallel to the (b,a) plane at height
lambda above the (b,a) plane and intersect it with the surface G(b,a) we
get a curve. Project this curve straight down onto the (b,a) plane and
this gives us the optimal sieve region. Proving this, and determining
lambda was the main theorem of my paper. A picture of this curve
can also be found in my paper. It "somewhat resembles" a hyperbola
whose asymptotes are the b and a axes.
I remember reading your pre-publication version of that paper and sending you feedback on it. I don't remember the fine details now and don't have the paper available.

However, I seem to remember that you omitted consideration of the root properties of the polynomials. If my memory is correct, then I suggest that your hyperbola-like curve does not generate the optimum sieving area. It certainly gives a much better area than a simple rectangle.

I've seen several other pictures of sieving yields as a function of position in the (a,b) plane, first in a paper by Marije Elkenbracht-Huizing in Experimental Mathematics (later a chapter in her thesis) and subsequently elsewhere. Arjen Lenstra calls them "chicken foot" surfaces. A contour at any particular yield has fingers (or should that be toes?) along the directions where a/b is a good approximation to a root of the polynomial. We assume, as usual, that one polynomial is linear. Lenstra calls these plots "crown diagrams". He has a way with words ...

It would appear, to me at least, that the optimal shape is not as you describe but rather closer to the crown diagram. Approximating such a shape with rectangular tiles is difficult to do in a computationally efficient manner.


Paul
xilman is offline   Reply With Quote
Old 2005-12-08, 18:55   #47
VJS
 
VJS's Avatar
 
Dec 2004

13×23 Posts
Default

Thanks for all of the advise, I posted this polynomial since it's one of the more difficult ones I have on my plate. With a degree of 175 as Dr.silverman points out I'm wondering if I should simply use ggnfs. ( I know it's the easy way out mentally, I like a challenge but sometimes I'll settle with success)

Quote:
With x^5 - 647293 and root 647293^6, factor base sizes of 1 million
primes, and large prime bounds of 500 million, my lattice siever
produces about 14.2 relations/sec on my 1.6GHz laptop.
That's much better than I was getting on a faster machine...

I will increase my factor base (as per your suggestion) and probably run this one manually as opposed to using the script. It's a learning process but I'm getting the hang of it. I seem to have polynomial selection down, and I'm assuming I calculated skew correctly.

If I have additional problems I'll ask again.
VJS is offline   Reply With Quote
Old 2005-12-08, 20:57   #48
R.D. Silverman
 
R.D. Silverman's Avatar
 
Nov 2003

22×5×373 Posts
Default

Quote:
Originally Posted by xilman
I remember reading your pre-publication version of that paper and sending you feedback on it. I don't remember the fine details now and don't have the paper available.

However, I seem to remember that you omitted consideration of the root properties of the polynomials. If my memory is correct, then I suggest that your hyperbola-like curve does not generate the optimum sieving area. It certainly gives a much better area than a simple rectangle.

I've seen several other pictures of sieving yields as a function of position in the (a,b) plane, first in a paper by Marije Elkenbracht-Huizing in Experimental Mathematics (later a chapter in her thesis) and subsequently elsewhere. Arjen Lenstra calls them "chicken foot" surfaces. A contour at any particular yield has fingers (or should that be toes?) along the directions where a/b is a good approximation to a root of the polynomial. We assume, as usual, that one polynomial is linear. Lenstra calls these plots "crown diagrams". He has a way with words ...

It would appear, to me at least, that the optimal shape is not as you describe but rather closer to the crown diagram. Approximating such a shape with rectangular tiles is difficult to do in a computationally efficient manner.


Paul
I regret that the diagram is crude.

It will depend on the value of lambda.

I denote the sieve bounday by the \
The "chicken feet" are shown by /
Generally, they do not interfere with the optimal boundary. Even though
the 'feet' can extend outside the boundary I have drawn, you do not
want to sieve "along" the feet outside the boundary area

Code:
|\
   \|
|    \
|       \                           /     Do not want to sieve here despite the 'ridge'
|           \                 /
|  sieve here     \  /
|                  /            \
|         /                                                \
| /                   sieve here
--------------------------------------------

Last fiddled with by garo on 2005-12-09 at 16:40 Reason: Fixed spaces in diagram
R.D. Silverman is offline   Reply With Quote
Old 2005-12-08, 20:58   #49
R.D. Silverman
 
R.D. Silverman's Avatar
 
Nov 2003

22·5·373 Posts
Default

Quote:
Originally Posted by R.D. Silverman
I regret that the diagram is crude.

It will depend on the value of lambda.

I denote the sieve bounday by the \
The "chicken feet" are shown by /
Generally, they do not interfere with the optimal boundary. Even though
the 'feet' can extend outside the boundary I have drawn, you do not
want to sieve "along" the feet outside the boundary area


|\
\|
| \
| \ / Do not want to sieve here despite the 'ridge'
| \ /
| sieve here \ /
| / \
| / \
| / sieve here
--------------------------------------------

OY! When I submitted this, the software deleted all the extra spaces
between the / and the \. The diagram does not show up at all.

See my paper.
R.D. Silverman is offline   Reply With Quote
Old 2005-12-08, 21:46   #50
smh
 
smh's Avatar
 
"Sander"
Oct 2002
52.345322,5.52471

29·41 Posts
Default

Quote:
Originally Posted by R.D. Silverman
OY! When I submitted this, the software deleted all the extra spaces
between the / and the \. The diagram does not show up at all.
Use de [ CODE ] tags
smh is offline   Reply With Quote
Old 2005-12-08, 21:50   #51
smh
 
smh's Avatar
 
"Sander"
Oct 2002
52.345322,5.52471

29·41 Posts
Default

Quote:
Originally Posted by VJS
Thanks for all of the advise, I posted this polynomial since it's one of the more difficult ones I have on my plate.
If it's a c117 wouldn't GNFS be much faster?
smh is offline   Reply With Quote
Old 2005-12-09, 00:11   #52
R.D. Silverman
 
R.D. Silverman's Avatar
 
Nov 2003

22·5·373 Posts
Default

Quote:
Originally Posted by smh
If it's a c117 wouldn't GNFS be much faster?
About the same. The C117 is roughly 1/3 smaller. This is approximately
the break even point for switching to GNFS.
R.D. Silverman is offline   Reply With Quote
Old 2005-12-09, 03:35   #53
trilliwig
 
trilliwig's Avatar
 
Oct 2004
tropical Massachusetts

3×23 Posts
Default

Quote:
Originally Posted by VJS
I have a feeling I should start with a higher alim and q0: But the script always resets these.
If you want to adjust alim or q0, you should add the setting to your .poly file. The .job file is automatically generated and the Perl script won't notice any changes to it.
trilliwig is offline   Reply With Quote
Old 2005-12-09, 16:50   #54
VJS
 
VJS's Avatar
 
Dec 2004

13·23 Posts
Default

Thanks Trilliwig,

You pointed me in the direction of the problem. It appears that when the script it intially generates a job file, I check the settings they are generally fine. (At least as far as I know) But if you don't like the generated job file, q0 etc... and you decide to change it using the polyfile you must delete the generated job file. If not the new alim, q0 placed in the poly are ignored and it simply continues with the previous job, future job files also ignore the poly file.

Quote:
About the same. The C117 is roughly 1/3 smaller. This is approximately
the break even point for switching to GNFS.
Thanks for the confirmation 117 x 3/2 = 175.5 (SNFS difficulty break even). I also find it more interesting to generate my own poly, skipping the poly5 program... SNFS also consumes less disk space if I recall correctly. (not experienced enough yet to make this statement as fact).

---------------------------------

I've been looking through forums for polynomial selection and have found xilliams phi'c program. I think this is one of those, an afternoon in the library can be avoided with 3 months of hard lab work, situations.

It works very well, wow... a proof reader or sorts. I tried a few others however I had a problem using it with a particular expression. Or I'm not implementing the program correctly.

A c113 for (215650177543^11-1)/215650177542

I was thinking a degree 5

c5: 215650177543
c0: 1
m: 215650177543^2

but one might be able to do this one degree 4 or 6.

c?:1
c0: 215650177543
m: 215650177543^2 or ^3 depending on degree

However phi suggested the following poly file:

skew: 1.00
c5: 1
c4: 1
c3: -4
c2: -3
c1: 3
c0: 1
y1: -215650177543
y0: 46504999074327421516850
m: 215650177543
type: snfs

Which would be a difficulty of 113 however running the script specified a difficult of 54-digits!!!. Followed by a crash creating the factor base.

Error: Bad polynomial: f(m): !=0 (mod n)
m=215650177543

If I'm correct the reason why the polynomial didn't work is b/c of the denominator in the expression, ignoring it with phi over simplifies the polynomial?

----------------------------

Is the discussion on polynomial choice selection etc, worthy of discussion here??? Or should I crawl into my hole again, do it on my own etc?
VJS is offline   Reply With Quote
Old 2005-12-09, 21:03   #55
trilliwig
 
trilliwig's Avatar
 
Oct 2004
tropical Massachusetts

3·23 Posts
Default

Quote:
Originally Posted by VJS
However phi suggested the following poly file:

skew: 1.00
c5: 1
c4: 1
c3: -4
c2: -3
c1: 3
c0: 1
y1: -215650177543
y0: 46504999074327421516850
m: 215650177543
type: snfs

Which would be a difficulty of 113 however running the script specified a difficult of 54-digits!!!. Followed by a crash creating the factor base.

Error: Bad polynomial: f(m): !=0 (mod n)
m=215650177543
Y1 and Y0 must be capitalized, and the value of m is wrong. It should be -Y0/Y1 (mod n). Since Y1 and Y0 are supplied, GGNFS can figure out the correct value of m on its own and you can leave it out.

Quote:
Originally Posted by VJS
Is the discussion on polynomial choice selection etc, worthy of discussion here??? Or should I crawl into my hole again, do it on my own etc?
It should be on topic. There are already a number of posts on this forum discussing this. You just have to search for them, which I leave up to you, since I don't have the time at the moment.
trilliwig is offline   Reply With Quote
Reply



Similar Threads
Thread Thread Starter Forum Replies Last Post
Any answers on missing factors? schickel Aliquot Sequences 8 2011-11-29 12:24
Unpacking and installing GGNFS? (error and n00b-questions) Andi47 Factoring 1 2007-03-22 20:58
ggnfs ATH Factoring 3 2006-08-12 22:50
Questions about GGNFS ValerieVonck Factoring 58 2005-11-18 20:39
Building DC farms; Experience, advice, questions and answers Prime Monster Hardware 44 2005-03-21 01:14

All times are UTC. The time now is 12:31.


Fri Jul 16 12:31:41 UTC 2021 up 49 days, 10:18, 2 users, load averages: 1.74, 1.28, 1.29

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

This forum has received and complied with 0 (zero) government requests for information.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.
A copy of the license is included in the FAQ.