![]() |
SNFS spinner works!
1 Attachment(s)
[QUOTE=Max0526;580666]@fivemack
Regarding your comments in the sheet on the highest difficulty SNFS degree 4 job ever run at the forum (8, -8) [url]http://factordb.com/index.php?id=1100000002598203189[/url] c229/snfs275.5, c253/snfs275.2 (t45 done on both) I am happy to say that (at least) c253 could be represented by 8 (not just 4) different SNFS polys. I got 6 explicitly so far and still working on the other 2 (next level math is involved). The two best I know are below. If anything better comes up, I'll update. The formulas are coming too.[code] (8, -8) c253 / snfs276 --> poly 1 n: 8804520161676131700982540766264320490679194033982281399896425294638109453150751678880580616975539504041811224827523553098748730672460054169092839796707517989930320213119027214444156828381573746656945529005366269066529760620006615774307975893498163091241 # a = 1106273959150699304135127106363386120968812205980268960573631929106481/126098023634219809899835084852688502789500914867461314423771553552960 Y0: -1106273959150699304135127106363386120968812205980268960573631929106481 Y1: 126098023634219809899835084852688502789500914867461314423771553552960 # poly 2*x^4 - 30*x^3 + 169*x^2 - 420*x + 196*2 c0: 392 c1: -420 c2: 169 c3: -30 c4: 2 skew: 4.97043 # E = 8.65288632e-17 ------------------------------------------ (8, -8) c253 / snfs276 --> poly 5 n: 8804520161676131700982540766264320490679194033982281399896425294638109453150751678880580616975539504041811224827523553098748730672460054169092839796707517989930320213119027214444156828381573746656945529005366269066529760620006615774307975893498163091241 a = 700645316548417658401985828694234244401797260158210592496450279693521/10786963307681811764114618362962601770038791026484251295375326612440 Y0: -700645316548417658401985828694234244401797260158210592496450279693521 Y1: 10786963307681811764114618362962601770038791026484251295375326612440 # poly x^4 - 24*x^3 + 288*x^2 - 4320*x + 32400 <-- a different poly here c0: 32400 c1: -4320 c2: 288 c3: -24 c4: 1 skew: 21.08616 # E = 9.26201191e-17 <-- higher score [/code][/QUOTE] I built the SNFS spinner and it works! :stirpot: The two polys above easily spin up 9%, and above 1e-16. [code] 1,0,2,-12,10,64721779846090870584687710177775610620232746158905507772251959674640,-635923536702326787817298118516458633781564513999305084724198320018881 2.80011 1.01256249e-16 2,2,1,4,8,126098023634219809899835084852688502789500914867461314423771553552960,-601881864613820064535786766952632109810808546510423702878545714894641 2.23217 1.01166588e-16 1,0,8,-96,160,32360889923045435292343855088887805310116373079452753886125979837320,-635923536702326787817298118516458633781564513999305084724198320018881 5.58749 1.00195264e-16 [/code] If anybody wants to try spinning a poly, please let me know. [B]@swishzzz[/B] Is it possible to try with Python please? 1) feed in the text file with 7 comma separated values for c4,c3,c2,c1,c0,Y1,Y0 on each line, the test file is attached; 2) connect to [url]http://myfactorcollection.cownoise.com:8090/calculators.html[/url], the top form Optimal Skew; 3) send records through Optimal Skew form and receive the skew and E score for each; 4) pick the line with the best E score; 5) how long would it take to process 100 records? [B]@bsquared[/B] Is anything like this possible to implement with your newly gained knowledge and skills in github yafu? |
stage 11
I added more factorable lines in stage 11 and cleaned the GCDs. Many smaller numbers.
If you decide to participate, please book and ECM first. |
[QUOTE=Max0526;580741]Found the paper: [URL]https://hal.inria.fr/hal-01089507/file/sopt-20140905.pdf[/URL]
I was wrong. How could I forget? The whole point of writing that paper was to introduce the L^2-norm as an alternative (and better) predictor of how good the GNFS poly is after the size and root optimization. Formula (2.2) on page 2, where d is a poly degree (d = 4 for us now), s is the skew (could be taken as a standard estimate from c0 and c4 for each poly during the spin). We can drop (1/2)log and pi/7168, and set c5=c6=0. Nine simple terms before simplification (it will simplify when s is given explicitly, and all ci~=ci*s^(i-2) are set). The lower the L^2-norm, the better the poly. Will code and report the results during the weekend.[/QUOTE] The L^2-norm ended up being implemented like this in the degree 4 SNFS spinner [code] ### s:=(abs(1.0*c0/c4))^(1/4); <-- SNFS skew ### s2:=s^2; s2:=sqrt(abs(1.0*c0/c4)); L2:=log(1.0*(252*c0*c4+14*c1*c3+7*c2^2+s2*5*(2*c2*c4+c3^2)+1/s2*21*(2*c0*c2+c1^2))); [/code] |
[QUOTE=Max0526;580741]Found the paper: [URL]https://hal.inria.fr/hal-01089507/file/sopt-20140905.pdf[/URL]
I was wrong. How could I forget? The whole point of writing that paper was to introduce the L^2-norm as an alternative (and better) predictor of how good the GNFS poly is after the size and root optimization. Formula (2.2) on page 2, where d is a poly degree (d = 4 for us now), s is the skew (could be taken as a standard estimate from c0 and c4 for each poly during the spin). We can drop (1/2)log and pi/7168, and set c5=c6=0. Nine simple terms before simplification (it will simplify when s is given explicitly, and all ci~=ci*s^(i-2) are set). The lower the L^2-norm, the better the poly. Will code and report the results during the weekend.[/QUOTE] ??? I don't see any claim that the L^2-norm is a better predictor; in fact the authors even say on page 3 that the root-adjusted L^2-norm is only a rough estimate of polynomial performance and that Murphy's E score is better! And that's the root-adjusted L^2-norm, not the L^2-norm itself, which is only intended to estimate the size of the norms, not the root properties of the polynomial. The usefulness of the L^2-norm is that, unlike Murphy-E, it can be easily calculated (by formula 2.2), so the authors used it to design a slightly improved polynomial selection algorithm. There is a [URL="https://hal.inria.fr/hal-02151093v4/document"]more recent paper[/URL] which does find an improved version of Murphy's E-score. |
[QUOTE=charybdis;580775]??? I don't see any claim that the L^2-norm is a better predictor; in fact the authors even say on page 3 that the root-adjusted L^2-norm is only a rough estimate of polynomial performance and that Murphy's E score is better! And that's the root-adjusted L^2-norm, not the L^2-norm itself, which is only intended to estimate the size of the norms, not the root properties of the polynomial.
The usefulness of the L^2-norm is that, unlike Murphy-E, it can be easily calculated (by formula 2.2), so the authors used it to design a slightly improved polynomial selection algorithm. There is a [URL="https://hal.inria.fr/hal-02151093v4/document"]more recent paper[/URL] which does find an improved version of Murphy's E-score.[/QUOTE] Thank you for the post, charybdis! My wrong evaluation of the ideas presented in Shi Bai's paper was misleading, and I am sorry for that. You are right everywhere. And thank you for the link to the more recent publication. |
Is my earlier posting for GNFS spinning of any use for SNFS polynomials? (I got sidetracked when I was trying to convert your Maple portion.) I have a Python version of my Bash script that I posted, but neither go past the CADO-NFS s/r routines.
|
[QUOTE=EdH;580790]Is my earlier posting for GNFS spinning of any use for SNFS polynomials? (I got sidetracked when I was trying to convert your Maple portion.) I have a Python version of my Bash script that I posted, but neither go past the CADO-NFS s/r routines.[/QUOTE]
It definitely would be if we try! Last time I tried to optimize a known SNFS poly on CADO manually (probably years ago now), it returned some ridiculous version of the poly that was obviously worse by both lognorm and the E score. I couldn't figure out why it would report it as a result. Maybe a newer CADO is better in that regard. Thank you for the idea, EdH! There are many 4/8 SNFS poly packs for some numbers already posted in the thread. If/when you have time, please feel free to feed any of them into your existing Python/CADO spinner. Let us know please, especially if any of them spins up. |
Nice split
C156 from line 55 splits as
[code] p78 factor: 208030089699658289822530838465866133665512884513204464375029444713302449264703 p78 factor: 974982439992577307530683544126660941864526132438167923989094894696074180145839 [/code] About three wall-clock days of sieving plus six hours for the linear algebra, on 20-core Xeon E5-2673v4. Probably rushed the polynomial selection a bit, score was 2.203e-12 while I'd usually want 2.5e-12 for this size number. Stage 7 is now entirely a pleasing green. |
[QUOTE=fivemack;580799]C156 from line 55 splits as
[code] p78 factor: 208030089699658289822530838465866133665512884513204464375029444713302449264703 p78 factor: 974982439992577307530683544126660941864526132438167923989094894696074180145839 [/code] About three wall-clock days of sieving plus six hours for the linear algebra, on 20-core Xeon E5-2673v4. Probably rushed the polynomial selection a bit, score was 2.203e-12 while I'd usually want 2.5e-12 for this size number. Stage 7 is now entirely a pleasing green.[/QUOTE] This is what we call a nice split! c156=2*p78! Done and done! Thank you, fivemack! Could you please send me that c156 GNFS poly? How did you select it? msieve GPU or CADO? Could you also take a look at [url]https://mersenneforum.org/showpost.php?p=580745&postcount=228?[/url] [B]EDIT:[/B] fivemack, I hope you haven't started line 88 (5, -8) yet. If you haven't, could you please hold on for a bit, just to give me a chance to look at all available SNFS polys and their spins for that c209? It would be a perfect training ground for the definitely possible (just checked) polys 5-8 and the newly baked spinner. |
[QUOTE=Max0526;580791]It definitely would be if we try!
Last time I tried to optimize a known SNFS poly on CADO manually (probably years ago now), it returned some ridiculous version of the poly that was obviously worse by both lognorm and the E score. I couldn't figure out why it would report it as a result. Maybe a newer CADO is better in that regard. Thank you for the idea, EdH! There are many 4/8 SNFS poly packs for some numbers already posted in the thread. If/when you have time, please feel free to feed any of them into your existing Python/CADO spinner. Let us know please, especially if any of them spins up.[/QUOTE] I will have to play in that arena later today. For now, all the smaller composites are factored and the c312 is nearing t50. |
(11,-1) c160= 783834531741188343291076442119519 * P127
c171= 10909091155385421570068617489 * P143 (10,-5) c192 =415912252448292884427458837* P165 |
| All times are UTC. The time now is 15:38. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.