mersenneforum.org  

Go Back   mersenneforum.org > Factoring Projects > Cunningham Tables

Reply
 
Thread Tools
Old 2008-05-08, 20:45   #12
bsquared
 
bsquared's Avatar
 
"Ben"
Feb 2007

22×3×293 Posts
Default

Quote:
Originally Posted by bsquared View Post
I had not considered octic polynomials... can msieve deal with them? Or the ggnfs postprocessing suite? I don't have any other tools at my disposal for postprocessing.
the ggnfs lattice siever didn't like the octic either... simply didn't recognize the c7 or c8 lines.

Code:
n: 17046484339439502390787014663843382603841990311536588019427381788315112645544913528357093997566704677217496355462170676223202258500459624221675999642483043420478565738287873667689291
skew: 1 
c8: 1
c7: -1
c6: -7
c5: 6
c4: 15
c3: -10 
c2: -10 
c1: 4
c0: 1
Y1: 140737488355328 
Y0: -19807040628566084398385987585
rlim: 85000000 
alim: 85000000 
lpbr: 30
lpba: 30 
mfbr: 60 
mfba: 60 
rlambda: 2.6 
alambda: 2.6
btw, I think the poly coefficients are correct... at least, they make the equation f(b+1/b)*b^8 - (b^17+1)/(b+1) = 0 when f(x) = c8*x^8 + ... + c1*x + c0

Last fiddled with by bsquared on 2008-05-08 at 20:49 Reason: bit at the end
bsquared is offline   Reply With Quote
Old 2008-05-08, 20:52   #13
jasonp
Tribal Bullet
 
jasonp's Avatar
 
Oct 2004

1101110101112 Posts
Default

Quote:
Originally Posted by bsquared View Post
I had not considered octic polynomials... can msieve deal with them? Or the ggnfs postprocessing suite? I don't have any other tools at my disposal for postprocessing.
Msieve can only deal with degree 6 or less; if you want to recompile the source, just increment MAX_POLY_DEGREE in gnfs/gnfs.h

While this could make the library (and its line siever) work, it doesn't make degree 8 a good idea.

Last fiddled with by jasonp on 2008-05-08 at 20:52
jasonp is offline   Reply With Quote
Old 2008-05-08, 21:51   #14
bsquared
 
bsquared's Avatar
 
"Ben"
Feb 2007

22×3×293 Posts
Default

Quote:
Originally Posted by R.D. Silverman View Post


But it would be an interesting experiment.....
Does your lattice siever handle octic's? If so, I can try to get it built on my system and run a few sieve experiments. Let me know if it can and if you're willing and I can PM you contact info.
bsquared is offline   Reply With Quote
Old 2008-05-09, 11:40   #15
R.D. Silverman
 
R.D. Silverman's Avatar
 
Nov 2003

1D2416 Posts
Default

Quote:
Originally Posted by bsquared View Post
Does your lattice siever handle octic's? If so, I can try to get it built on my system and run a few sieve experiments. Let me know if it can and if you're willing and I can PM you contact info.
I have to change a defined parameter and recompile.

However, my suggestion was a joke of sorts.... An octic will be quite
slow; the norms will be very unbalanced.
R.D. Silverman is offline   Reply With Quote
Old 2008-05-09, 12:49   #16
fivemack
(loop (#_fork))
 
fivemack's Avatar
 
Feb 2006
Cambridge, England

2·132·19 Posts
Default

Yes, it will be a long time before octics make sense.

Pick a Q; the basis of the lattice will have entries around \sqrt Q; with gnfs-lasieve4I14e, the search region is I think 2^15 x 2^14, so A and B will be around 2^13 \sqrt Q.

So the octic polynomial will have values around 2^104 Q^4 ( = (2^13 \sqrt Q)^8), the linear around 2^94 \sqrt Q. Lattice-sieve on the algebraic side, so you get a free factor Q; Q ~ 2^26 in this case, so algebraic things are ~182 bits and linear ~107 bits. Say large-prime bound is 2^31; yield estimate is (182/31)^(-182/31) * (107/31)^(-107/31) or 4e-7. Not quite as disastrous as I'd have feared.

For a sextic, the polynomial values are around 2^78 Q^3, the linear around 2^134 \sqrt Q. Again Q ~ 2^26, algebraic things are around 130 bits after taking out the free factor Q, rational around 147 bits, yield estimate 1.53e-6, or 1.44e-6 if you sieve on the rational side.

(that argument suggests the algebraic side is very slightly better, but it'll be lost in the noise. The problem with comparing rational and algebraic sides over short intervals is that the number of usable Qs can fluctuate quite a lot. In 85M..85M+1k, you have 63 valid rational-side Q and 44 valid algebraic-side Q, so you'd expect a larger yield from the rational side).

Code:
? k=0;forprime(p=85e6,85e6+1000,k=k+1);print(k)
63
? k=0;forprime(p=85e6,85e6+1000,k=k+length(polrootsmod(2*x^6+1,p)));print(k)
44
fivemack is offline   Reply With Quote
Old 2008-05-09, 15:55   #17
fivemack
(loop (#_fork))
 
fivemack's Avatar
 
Feb 2006
Cambridge, England

191616 Posts
Default

Once you've got a million relations, count (uniq -d or similar) how many duplicates you have; I know the coupon-collecting model is invalid because there are several different kinds of coupons, but if you believe the coupon-collectors then you'd expect 10,000 times as many duplicates from the full 10^8 relations as you find among the first million - so if you have much over 2500 duplicates from a million, you might want to use a larger search region.
fivemack is offline   Reply With Quote
Old 2008-05-09, 19:44   #18
bsquared
 
bsquared's Avatar
 
"Ben"
Feb 2007

1101101111002 Posts
Default

This is great, I'm learning a lot already and I've hardly even started yet. Thanks Fivemack for the yield estimation example - I understand section 2 of Silverman's "Optimal parameterization of SNFS" a bit better now.

I've done some more yield estimates and I now think algebraic side sieving will be better, but the difference is hardly noticable. In either case, I think I'll need a range of 120M rather than 100M.

5^293 - 3^293 is in linear algebra now, so I've starting sieving for this project. I'll post updates here.
Attached Files
File Type: pdf yield_estimate_alg.pdf (10.5 KB, 144 views)
bsquared is offline   Reply With Quote
Old 2008-05-10, 06:04   #19
henryzz
Just call me Henry
 
henryzz's Avatar
 
"David"
Sep 2007
Cambridge (GMT/BST)

16F916 Posts
Default

you could try both algebraic and rational sieving
it worked quite well for me it didnt appear that there were many duplicates caused by that
henryzz is online now   Reply With Quote
Old 2008-05-14, 19:23   #20
bsquared
 
bsquared's Avatar
 
"Ben"
Feb 2007

22·3·293 Posts
Default

After sieving from 75M to 112M on the algebraic side, I've yielded ~32M relations with about 5.5% duplication (32.494M rels, 30.725 unique). So my initial optimistic projection is actually looking realistic.

I'll do at least a few million q of overlapping rational side sieving at some point, if for no other reason than that I'm curious about the duplication percentage.
bsquared is offline   Reply With Quote
Old 2008-05-14, 19:43   #21
xilman
Bamboozled!
 
xilman's Avatar
 
"π’‰Ίπ’ŒŒπ’‡·π’†·π’€­"
May 2003
Down not across

250138 Posts
Default

Quote:
Originally Posted by bsquared View Post
After sieving from 75M to 112M on the algebraic side, I've yielded ~32M relations with about 5.5% duplication (32.494M rels, 30.725 unique). So my initial optimistic projection is actually looking realistic.

I'll do at least a few million q of overlapping rational side sieving at some point, if for no other reason than that I'm curious about the duplication percentage.
Perhaps so. If so, I'll be somewhat surprised. Consider a birthday paradox model in which the number of dups grows as O(sqrt N).

We'll doubtless find out in due course.


Paul
xilman is offline   Reply With Quote
Old 2008-05-15, 16:20   #22
bsquared
 
bsquared's Avatar
 
"Ben"
Feb 2007

22·3·293 Posts
Default

Quote:
Originally Posted by jasonp View Post
Msieve can only deal with degree 6 or less; if you want to recompile the source, just increment MAX_POLY_DEGREE in gnfs/gnfs.h

While this could make the library (and its line siever) work, it doesn't make degree 8 a good idea.
In polyutil.c, I see this code block

Code:
 
#if MAX_POLY_DEGREE > 6
#error "polynomial degree > 6 not supported"
#endif
so simply modifing the #define in gnfs.h produces the above error. I also note that in get_polyval(...), cases for poly degree > 6 do not exist. I'm pretty sure it would be non-trivial to add the necessary code to make the library work with degree > 6, and of course I am not trying to tell you to do so... just FYI.
bsquared is offline   Reply With Quote
Reply

Thread Tools


Similar Threads
Thread Thread Starter Forum Replies Last Post
PrimeNet APIs to query own stats ET_ PrimeNet 0 2011-12-16 15:15
Query about age of assignment GARYP166 Information & Answers 11 2010-08-27 18:46
Query: Point Addition R.D. Silverman GMP-ECM 1 2007-12-04 16:41
Query for George about ERROR 3 garo PrimeNet 17 2005-10-18 21:01
Custom Torture Test Query DavidJames Hardware 2 2004-03-16 14:49

All times are UTC. The time now is 08:05.


Tue Jul 27 08:05:20 UTC 2021 up 4 days, 2:34, 0 users, load averages: 1.53, 1.73, 1.79

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.