View Single Post
Old 2021-05-31, 19:23   #11
charybdis's Avatar
Apr 2020

7258 Posts

Originally Posted by bur View Post
To see if I understood it correctly (that example helped a lot), if I want to factor 1281979*2^{523}+1 with SNFS, I follow EdH's guide, with the following modifications:

1) Using self-created poly, in the example case: 4*(1281979*2^{523}+1) = 1281979*{(2^{105})}^{5}+4, so c5 = 1281979, c0 = 4, y1 = 1, y0 = -2^105 (negative)?

2) Don't copy lambda0 and lambda1 values to params. So I just leave it out or do I use the ones from the original CADO params file?

3) Calculate rels_wanted using your formula.
Theoretically, yes. Best to just leave out the lambdas - they're useful for fine-tuning optimal GNFS parameters, but as we don't really have "optimal SNFS parameters" in the same way, we might as well let CADO use its own guess at optimal lambdas.

EdH's guide relies on using YAFU to generate the parameter file, so you'll need a version of YAFU that doesn't have the SNFS poly selection bug that I mentioned. Alternatively you can use CADO sieving parameters - Curtis's params.c120 in this case - but with tasks.sieve.sqside = 0 for rational-side sieving (I think this will be a little faster than algebraic side?) and the algebraic and rational side parameters swapped (lim0 and lim1 etc). You can keep the lambdas in this case. Neither of these options will give optimal parameters, but at this size it really won't matter too much. For larger numbers you would want to test-sieve different choices of parameters, although there are often good theoretical reasons to expect certain parameter choices to be better than others.

I guess for now I'm good with the default values, but out of curiosity, how could the polynomial be changed? I could just multiply by 4 again, but I guess it's not that simple?
You could also represent this number as 8*1281979*2^520+1, giving c5 = 10255832, c0 = 1, Y1 = 1, Y0 = -2^104. This choice of polynomial might even be slightly faster than yours; at least it has a higher E-score. For some numbers there will be even more polynomials to choose between: this will often be the case when near the crossover between degree 5 and degree 6, for instance (and here we have to test-sieve, as E-scores from different degrees are not comparable).
charybdis is offline   Reply With Quote