20210216, 06:07  #1 
Aug 2005
Seattle, WA
11010100101_{2} Posts 
Yafu SNFS difficulty calculation
Can anybody help me understand the values Yafu is claiming for the difficulty in this example?
Code:
n: 401721424383720426137324949508336187045848565417289917430550907056665790265814883369879394476169080075318675151956526421358049691930517872710129161972339727160629599769770122149882863 # 7^307+6^307, difficulty: 260.29, anorm: 1.30e+037, rnorm: 1.27e+049 # scaled difficulty: 262.29, suggest sieving rational side # size = 1.218e012, alpha = 0.000, combined = 1.324e013, rroots = 0 type: snfs size: 260 skew: 0.9746 c6: 7 c0: 6 Y1: 4849687664788584363858837602739217760256 Y0: 12589255298531885026341962383987545444758743 ... 
20210216, 14:55  #2  
"Ben"
Feb 2007
2^{2}×23×37 Posts 
Quote:
Difficulty is computed in the normal way, except here it looks like I may have included the contribution of the leading coefficient twice. Thanks for that report. As for scaled difficulty, quoting here from the code: Quote:
Size is rounded difficulty. IIRC ggnfs doesn't use size for anything. p.s. I'm happy to consider alternatives if you have any suggestions! As indicated above, scaled difficulty was a mix of numerology and experience from back when I was actively performing snfs work. Last fiddled with by bsquared on 20210216 at 15:08 Reason: more details 

20210216, 18:08  #3 
Apr 2020
232_{10} Posts 
These are a bit small, especially anorm; the code uses a = 1e6*sqrt(skew), b=1e6/sqrt(skew) which might work well for small jobs but for numbers this large 1e6 is a big underestimate.
Really it should be something like a = sqrt(2^(2I1)*Q*skew)*const, b = sqrt(2^(2I1)*Q/skew)*const where Q is a realistic average specialq; smaller a and b give more relations so const should maybe be around 0.2? Not sure how it would be best to code this, given that the scaled difficulty informs the choice of I and Q. Perhaps use some function of difficulty that's a reasonable approximation of sqrt(2^(2I1)*Q)? And really anorm ought to be multiplied by exp(alpha) to account for root properties of the algebraic polynomial, but if you're doing a job large enough that this matters, then you ought to be testsieving anyway. 
20210216, 19:33  #4  
"Ben"
Feb 2007
2^{2}×23×37 Posts 
Quote:
sqrt(2^(2I1)*1e6*skew) and sqrt(2^(2I1)*1e6/skew) as I think finer adjustments to Q or using alpha would be in the noise of what this estimate is used for. 

20210224, 16:23  #5 
Aug 2005
Seattle, WA
3^{5}·7 Posts 
Here's another one, though perhaps with the opposite cause. The correct difficulty is 255.99. It looks like in this case Yafu didn't add the leading coefficient at all (255.14 ≈ 245*log_10(11)).
Code:
n: 7384049810391587250211352363287406947175960642669013845450189424529816242856745368078260733462087073764724231472029401134928725306986130695481851831787933178814661362606610448657133293018573723301486442995118362671069447396748839101553572591556351201 # 11^244+7^244, difficulty: 255.14, anorm: 1.75e+031, rnorm: 1.02e+057 # scaled difficulty: 259.44, suggest sieving rational side # size = 1.944e017, alpha = 0.000, combined = 7.014e014, rroots = 1 type: snfs size: 255 skew: 1.0946 c5: 7 c0: 11 Y1: 256923577521058878088611477224235621321607 Y0: 1067189571633593786424240872639621090354383081702091 
Thread Tools  
Similar Threads  
Thread  Thread Starter  Forum  Replies  Last Post 
Difficulty of SNFS polynomials  StrongestStrike  Factoring  6  20200916 22:40 
HOW TO BYPASS RSA DIFFICULTY... not!  Alberico Lepore  Alberico Lepore  3  20200429 16:28 
Running YAFU via Aliqueit doesn't find yafu.ini  EdH  YAFU  8  20180314 17:22 
Better measures of SNFS difficulty  fivemack  Factoring  4  20070630 09:20 
Difficulty Running Prime with DSL  Rosenfeld  Lounge  16  20040731 22:15 