In[]:=
In[]:=
resTimes=computeAllParts[100000,20];
47.3854
48.4147
48.0731
47.9324
47.9204
47.7189
48.0627
48.0533
47.8377
48.0369
48.2
48.6916
49.8801
48.9316
49.2068
49.2213
49.6504
49.38
49.2205
49.1606
Per-part times (sec) = {47.3854,48.4147,48.0731,47.9324,47.9204,47.7189,48.0627,48.0533,47.8377,48.0369,48.2,48.6916,49.8801,48.9316,49.2068,49.2213,49.6504,49.38,49.2205,49.1606}
Max time (sec) = 49.8801
Total time (sec) = 970.978
In[]:=
Timing[MRB2=MRBFromPartsStream[100000,20];N[mtest-MRB2,30]]
Out[]=
{510.125,0.×}
-100495
10
In[]:=
(*================================================*)(*Sixth-orderPadékernelforn^(1/n)*)(*Robustseed:prec/100(notprec/1000)*)(*Noglobals*)(*================================================*)ClearAll[RootPade6];RootPade6[n_Integer,prec_Integer]:=Module[{x,pc,z,t,N0=n,A1,A2,A3,B1,B2,y},(*initialseedatmodestprecision*)x=N[N0^(1/N0),Max[10,Floor[prec/18000]]];pc=Precision[x];(*bootstrapintobasincheaply*)While[pc<prec/1800,pc=Min[6pc,prec/1800];x=SetPrecision[x,pc];y=x^N0-N0;x=x*(1-2y/((N0+1)y+2N0N0));];(*sixth-orderPadépolish*)While[pc<prec,pc=Min[6pc,prec];x=SetPrecision[x,pc];A1=SetPrecision[3(2N0+1)/(5N0),pc];A2=SetPrecision[3(N0+1)(2N0+1)/(20N0^2),pc];A3=SetPrecision[(N0+1)(2N0+1)/(60N0^3),pc];B1=SetPrecision[2(3N0-1)/(5N0),pc];B2=SetPrecision[(2N0-1)(3N0-1)/(20N0^2),pc];t=x^N0;z=(N0-t)/t;(*(n-x^n)/x^n*)x=x*(1+A1z+A2z^2+A3z^3)/(1+B1z+B2z^2);];N[x,prec]];
In[]:=
resTimes=computeAllParts[300000,60];
177.375
169.227
171.623
172.208
173.792
173.554
173.829
174.357
174.356
175.413
174.315
174.966
175.451
174.127
175.369
175.501
175.5
175.353
175.766
176.497
172.552
174.238
176.039
174.546
174.871
174.629
174.766
176.281
177.96
177.2
176.022
176.522
177.337
177.62
177.463
176.745
178.449
176.584
180.999
179.766
176.515
177.797
177.442
178.267
177.711
178.251
179.038
178.164
178.653
178.398
177.984
179.778
179.061
180.146
180.515
179.771
180.378
180.096
179.962
179.741
Per-part times (sec) = {177.375,169.227,171.623,172.208,173.792,173.554,173.829,174.357,174.356,175.413,174.315,174.966,175.451,174.127,175.369,175.501,175.5,175.353,175.766,176.497,172.552,174.238,176.039,174.546,174.871,174.629,174.766,176.281,177.96,177.2,176.022,176.522,177.337,177.62,177.463,176.745,178.449,176.584,180.999,179.766,176.515,177.797,177.442,178.267,177.711,178.251,179.038,178.164,178.653,178.398,177.984,179.778,179.061,180.146,180.515,179.771,180.378,180.096,179.962,179.741}
Max time (sec) = 180.999
Total time (sec) = 10596.8
In[]:=
Timing[MRB2=MRBFromPartsStream[300000,60];N[mtest-MRB2,30]]
Out[]=
{5317.38,0.×}
-301494
10