# Try to beat these MRB constant records!

Posted 4 years ago
76689 Views
|
82 Replies
|
6 Total Likes
|
 POSTED BY: Marvin Ray Burns .MKB constant calculations, , have been moved to their own discussion at Calculating the digits of the MKB constant .I think the following important point got buried near the end.When it comes to mine and a few other people's passion to calculate many digits and the dislike possessed by a few more people: it is all a matter telling us that the "universal human mind" is multi faceted in giving passion, to person a for one task, and to person b for another task!The MRB constant is defined below. See http://mathworld.wolfram.com/MRBConstant.html $$\text{MRB}=\sum _{n=1}^{\infty } (-1)^n \left(n^{1/n}-1\right)$$Here are some record computations. If you know of any others let me know.. On or about Dec 31, 1998 I computed 1 digit of the (additive inverse of the) MRB constant with my TI-92's, by adding 1-sqrt(2)+3^(1/3)-4^(1/4) as far as I could and then by using the sum feature to compute $\sum _{n=1}^{1000 } (-1)^n \left(n^{1/n}\right).$ That first digit, by the way, is just 0. On Jan 11, 1999 I computed 3 digits of the MRB constant with the Inverse Symbolic Calculator. In Jan of 1999 I computed 4 correct digits of the MRB constant using Mathcad 3.1 on a 50 MHz 80486 IBM 486 personal computer operating on Windows 95. Shortly afterwards I computed 9 correct digits of the MRB constant using Mathcad 7 professional on the Pentium II mentioned below. On Jan 23, 1999 I computed 500 digits of the MRB constant with the online tool called Sigma. In September of 1999, I computed the first 5,000 digits of the MRB Constant on a 350 MHz Pentium II with 64 Mb of ram using the simple PARI commands \p 5000;sumalt(n=1,((-1)^n*(n^(1/n)-1))), after allocating enough memory. On June 10-11, 2003 over a period, of 10 hours, on a 450mh P3 with an available 512mb RAM: I computed 6,995 accurate digits of the MRB constant. Using a Sony Vaio P4 2.66 GHz laptop computer with 960 MB of available RAM, on 2:04 PM 3/25/2004, I finished computing 8000 digits of the MRB constant. On March 01, 2006 with a 3GH PD with 2GBRAM available, I computed the first 11,000 digits of the MRB Constant. On Nov 24, 2006 I computed 40, 000 digits of the MRB Constant in 33hours and 26min via my own program in written in Mathematica 5.2. The computation was run on a 32-bit Windows 3GH PD desktop computer using 3.25 GB of Ram. Finishing on July 29, 2007 at 11:57 PM EST, I computed 60,000 digits of MRB Constant. Computed in 50.51 hours on a 2.6 GH AMD Athlon with 64 bit Windows XP. Max memory used was 4.0 GB of RAM. Finishing on Aug 3 , 2007 at 12:40 AM EST, I computed 65,000 digits of MRB Constant. Computed in only 50.50 hours on a 2.66GH Core2Duo using 64 bit Windows XP. Max memory used was 5.0 GB of RAM. Finishing on Aug 12, 2007 at 8:00 PM EST, I computed 100,000 digits of MRB Constant. They were computed in 170 hours on a 2.66GH Core2Duo using 64 bit Windows XP. Max memory used was 11.3 GB of RAM. Median (typical) daily record of memory used was 8.5 GB of RAM. Finishing on Sep 23, 2007 at 11:00 AM EST, I computed 150,000 digits of MRB Constant. They were computed in 330 hours on a 2.66GH Core2Duo using 64 bit Windows XP. Max memory used was 22 GB of RAM. Median (typical) daily record of memory used was 17 GB of RAM. Finishing on March 16, 2008 at 3:00 PM EST, I computed 200,000 digits of MRB Constant using Mathematica 5.2. They were computed in 845 hours on a 2.66GH Core2Duo using 64 bit Windows XP. Max memory used was 47 GB of RAM. Median (typical) daily record of memory used was 28 GB of RAM. Washed away by Hurricane Ike -- on September 13, 2008 sometime between 2:00PM - 8:00PM EST an almost complete computation of 300,000 digits of the MRB Constant was destroyed. Computed for a long 4015. Hours (23.899 weeks or 1.4454*10^7 seconds) on a 2.66GH Core2Duo using 64 bit Windows XP. Max memory used was 91 GB of RAM. The Mathematica 6.0 code used follows: Block[{$MaxExtraPrecision = 300000 + 8, a, b = -1, c = -1 - d, d = (3 + Sqrt[8])^n, n = 131 Ceiling[300000/100], s = 0}, a[0] = 1; d = (d + 1/d)/2; For[m = 1, m < n, a[m] = (1 + m)^(1/(1 + m)); m++]; For[k = 0, k < n, c = b - c; b = b (k + n) (k - n)/((k + 1/2) (k + 1)); s = s + c*a[k]; k++]; N[1/2 - s/d, 300000]]  On September 18, 2008 a computation of 225,000 digits of MRB Constant was started with a 2.66GH Core2Duo using 64 bit Windows XP. It was completed in 1072 hours. Memory usage is recorded in the attachment pt 225000.xls, near the bottom of this post. . 250,000 digits was attempted but failed to be completed to a serious internal error which restarted the machine. The error occurred sometime on December 24, 2008 between 9:00 AM and 9:00 PM. The computation began on November 16, 2008 at 10:03 PM EST. Like the 300,000 digit computation this one was almost complete when it failed. The Max memory used was 60.5 GB. On Jan 29, 2009, 1:26:19 pm (UTC-0500) EST, I finished computing 250,000 digits of the MRB constant. with a multiple step Mathematica command running on a dedicated 64bit XP using 4Gb DDR2 Ram on board and 36 GB virtual. The computation took only 333.102 hours. The digits are at http://marvinrayburns.com/250KMRB.txt . The computation is completely documented in the attached 250000.pd at bottom of this post. On Sun 28 Mar 2010 21:44:50 (UTC-0500) EST, I started a computation of 300000 digits of the MRB constant using an i7 with 8.0 GB of DDR3 Ram on board.; But it failed due to hardware problems. I computed 299,998 Digits of the MRB constant. The computation began Fri 13 Aug 2010 10:16:20 pm EDT and ended 2.23199*10^6 seconds later | Wednesday, September 8, 2010. I used Mathematica 6.0 for Microsoft Windows (64-bit) (June 19, 2007) That is an average of 7.44 seconds per digit.. I used my Dell Studio XPS 8100 i7 860 @ 2.80 GH 2.80 GH with 8GB physical DDR3 RAM. Windows 7 reserved an additional 48.929 GB virtual Ram. I computed exactly 300,000 digits to the right of the decimal point of the MRB constant from Sat 8 Oct 2011 23:50:40 to Sat 5 Nov 2011 19:53:42 (2.405*10^6 seconds later). This run was 0.5766 seconds per digit slower than the 299,998 digit computation even though it used 16GB physical DDR3 RAM on the same machine. The working precision and accuracy goal combination were maximized for exactly 300,000 digits, and the result was automatically saved as a file instead of just being displayed on the front end. Windows reserved a total of 63 GB of working memory of which at 52 GB were recorded being used. The 300,000 digits came from the Mathematica 7.0 command Quit; DateString[] digits = 300000; str = OpenWrite[]; SetOptions[str, PageWidth -> 1000]; time = SessionTime[]; Write[str, NSum[(-1)^n*(n^(1/n) - 1), {n, \[Infinity]}, WorkingPrecision -> digits + 3, AccuracyGoal -> digits, Method -> "AlternatingSigns"]]; timeused = SessionTime[] - time; here = Close[str] DateString[]  314159 digits of the constant took 3 tries do to hardware failure. Finishing on September 18, 2012 I computed 314159 digits, taking 59 GB of RAM. The digits are came from the Mathematica 8.0.4 code DateString[] NSum[(-1)^n*(n^(1/n) - 1), {n, \[Infinity]}, WorkingPrecision -> 314169, Method -> "AlternatingSigns"] // Timing DateString[]  Where I have 10 digits to round off. (The command NSum[(-1)^n*(n^(1/n) - 1), {n, [Infinity]}, WorkingPrecision -> big number, Method -> "AlternatingSigns"] tends to give about 3 digits of error to the right.)The following records are due to the work of Richard Crandall found here. Sam Noble of Apple computed 1,000,000 digits of the MRB constant in 18 days 9 hours 11 minutes 34.253417 seconds Finishing on Dec 11, 2012 Ricard Crandall, an Apple scientist, computed 1,048,576 digits in a lighting fast 76.4 hours. That's on a 2.93 Ghz 8-core Nehalem. (This was most likely processor time, which is in accordance to the following record and hardware used.) I computed a little over 1,200,000 digits of the MRB constant in 11 days, 21 hours, 17 minutes, and 41 seconds,( finishing on on March 31 2013). I used a six core Intel(R) Core(TM) i7-3930K CPU @ 3.20 GHz 3.20 GHz. On May 17, 2013 I finished a 2,000,000 or more digit computation of the MRB constant, using only around 10GB of RAM. It took 37 days 5 hours 6 minutes 47.1870579 seconds. I used a six core Intel(R) Core(TM) i7-3930K CPU @ 3.20 GHz 3.20 GHz. Finally, I would like to announce a new unofficial world record computation of the MRB constant that was finished on Sun 21 Sep 2014 18:35:06. It took 1 month 27 days 2 hours 45 minutes 15 seconds. I computed 3,014,991 digits of the MRB constant with Mathematica 10.0. I Used my new version of Richard Crandall's code, below, optimized for my platform and large computations. I also used a six core Intel(R) Core(TM) i7-3930K CPU @ 3.20 GHz 3.20 GHz with 64 GB of RAM of which only 16 GB was used. Can you beat it (in more number of digits, less memory used, or less time taken)? This confirms that my previous "2,000,000 or more digit computation" was actually accurate to 2,009,993 digits. (They were used as MRBtest2M.)  (**Fastest (at MRB's end) as of 25 Jul 2014*.*) DateString[] prec = 3000000; (**Number of required decimals.*.*)ClearSystemCache[]; T0 = SessionTime[]; expM[pre_] := Module[{a, d, s, k, bb, c, n, end, iprec, xvals, x, pc, cores = 12, tsize = 2^7, chunksize, start = 1, ll, ctab, pr = Floor[1.005 pre]}, chunksize = cores*tsize; n = Floor[1.32 pr]; end = Ceiling[n/chunksize]; Print["Iterations required: ", n]; Print["end ", end]; Print[end*chunksize]; d = ChebyshevT[n, 3]; {b, c, s} = {SetPrecision[-1, 1.1*n], -d, 0}; iprec = Ceiling[pr/27]; Do[xvals = Flatten[ParallelTable[Table[ll = start + j*tsize + l; x = N[E^(Log[ll]/(ll)), iprec]; pc = iprec; While[pc < pr, pc = Min[3 pc, pr]; x = SetPrecision[x, pc]; y = x^ll - ll; x = x (1 - 2 y/((ll + 1) y + 2 ll ll));];(**N[Exp[Log[ll]/ll], pr]**)x, {l, 0, tsize - 1}], {j, 0, cores - 1}, Method -> "EvaluationsPerKernel" -> 4]]; ctab = ParallelTable[Table[c = b - c; ll = start + l - 2; b *= 2 (ll + n) (ll - n)/((ll + 1) (2 ll + 1)); c, {l, chunksize}], Method -> "EvaluationsPerKernel" -> 2]; s += ctab.(xvals - 1); start += chunksize; Print["done iter ", k*chunksize, " ", SessionTime[] - T0];, {k, 0, end - 1}]; N[-s/d, pr]]; t2 = Timing[MRBtest2 = expM[prec];]; DateString[] Print[MRBtest2] MRBtest2 - MRBtest2M  t2 From the computation was {1.961004112059*10^6, Null}.Here are a couple of graphs of my record computations in max digits/ year: Attachments: Answer 82 Replies Sort By: Posted 3 years ago  OK, you might think I'm real vain for saying the following! Nonetheless, here you go. The ultimate record to break: Richard Mathar and Richard Crandall both wrote 1 scholarly article that talks about the MRB constant to a good extent. Can you break that record and publish a full article or two about the MRB constant? (You might have to come up with some new ideas.) Mathar's and Crandall's papers can be found on Google Scholar: https://scholar.google.com/scholar?q=%22MRB+constant%22 Steven R Finch, Eric W.Weisstein,and i have written some about it in other genres. Answer Posted 3 years ago  What Richard Crandall and maybe others did to come up with that method is really good and somewhat mysterious. I still don't really understand the inner workings, and I had shown him how to parallelize it. So the best I can say is that it's really hard to compete against magic. (I don't want to discourage others, I'm just explaining why I myself would be reluctant to tackle this. Someone less familiar might actually have a better chance of breaking new ground.)In a way this should be good news. Should it ever become "easy" to compute, the MRB number would lose what is perhaps its biggest point of interest. It just happens to be on that cusp of tantalizingly "close" to easily computable (perhaps as sums of zeta function and derivatives thereof), yet still hard enough that it takes a sophisticated scheme to get more than a few dozen digits. Answer Posted 3 years ago  Daniel Lichtblau, Which one do you not understand? how he derived the eta' formula: from ?Or is it how and why he added the extra loop to Cohen's method:ll = start + l - 2; b *= 2 (ll + n) (ll - n)/((ll + 1) (2 ll + 1)); ?I've been asking for a proof of the eta formula derivation. I think it could become the foundation to a great paper.If the extra loop changes Cohen's method for to a method for I think the code in that loop could help prove the derivation. Answer Posted 3 years ago  I can't say I understand either. My guess is the Eta stuff comes from summing (-1)^k*(Log[k]/k)^n over k, as those are the terms that appear in the double sum you get from expanding k^(1/k)-1 in powers of Log[k]/k (use k^(1/k)=Exp[Log[k]/k] and the power series for Exp). Even if it does come from this the details remain elusive.. Answer Posted 3 years ago  How about computing the MRB constant from Crandall's eta derivative formulas? They are mentioned in a previous post but here they are again: I computed and checked 500 digits, using the first eta derivative formula in 38.6 seconds. How well can you do? Can you improve my program? (It is a 51.4% improvement of one of Crandall's programs.) I would like a little competition in some of these records! (That formula takes just 225 summands, compared to 10^501 summands using -1^(1/1)+2^(1/2)-3^(1/3)+.... See http://arxiv.org/pdf/0912.3844v3.pdf for more summation requirements for other summation methods.) In[37]:= mm = 0.187859642462067120248517934054273230055903094900138786172004684089\ 4772315646602137032966544331074969038423458562580190612313700947592266\ 3043892934889618412083733662608161360273812637937343528321255276396217\ 1489321702076282062171516715408412680448363541671998519768025275989389\ 9391445798350556135096485210712078444230958681294976885269495642042555\ 8648367044104252795247106066609263397483410311578167864166891546003422\ 2258838002545539689294711421221891050983287122773080200364452153905363\ 9505533220347062755115981282803951021926491467317629351619065981601866\ 4245824950697203381992958420935515162514399357600764593291281451709082\ 4249158832041690664093344359148067055646928067870070281150093806069381\ 3938595336065798740556206234870432936073781956460310476395066489306136\ 0645528067515193508280837376719296866398103094949637496277383049846324\ 5634793115753002892125232918161956269736970748657654760711780171957873\ 6830096590226066875365630551656736128815020143875613668655221067430537\ 0591039735756191489093690777983203551193362404637253494105428363699717\ 0244185516548372793588220081344809610588020306478196195969537562878348\ 1233497638586301014072725292301472333336250918584024803704048881967676\ 7601198581116791693527968520441600270861372286889451015102919988536905\ 7286592870868754254925337943953475897035633134403826388879866561959807\ 3351473990256577813317226107612797585272274277730898577492230597096257\ 2562718836755752978879253616876739403543214513627725492293131262764357\ 3214462161877863771542054231282234462953965329033221714798202807598422\ 1065564890048536858707083268874877377635047689160983185536281667159108\ 41219342016438600025850842655643500695483283012054619321661.\ 273833491444; In[30]:= Timing[ etaMM[m_, pr_] := Module[{a, d, s, k, b, c}, a[j_] := Log[j + 1]^m/(j + 1)^m; n = Floor[1.32 pr]; d = Cos[n ArcCos[3]]; {b, c, s} = {-1, -d, 0}; Do[c = b - c; s = s + c a[k]; b = (k + n) (k - n) b/((k + 1) (k + 1/2)), {k, 0, n - 1}]; N[s/d, pr] (-1)^m]; eta[s_] := (1 - 2^(1 - s)) Zeta[s]; eta1 = Limit[D[eta[s], s], s -> 1]; MRBtrue = mm; prec = 500; MRBtest = eta1 - Sum[(-1)^m etaMM[m, prec]/m!, {m, 2, Floor[.45 prec]}]; MRBtest - MRBtrue] Out[30]= {36.831836, 0.*10^-502} Here is a short table of computation times with that program: Digits Seconds 500 36.831836 1000 717.308198 1500 2989.759165 2000 3752.354453 I just now retweaked the program. It is now Timing[etaMM[m_, pr_] := Module[{a, d, s, k, b, c}, a[j_] := N[(-PolyLog[1, -j]/(j + 1))^m, pr]; n = Floor[1.32 pr]; d = Cos[n ArcCos[3]]; {b, c, s} = {-1, -d, 0}; Do[c = b - c; s = s + c a[k]; b = N[(k + n) (k - n) b/((k + 1) (k + 1/2)), pr], {k, 0, n - 1}]; Return[N[s/d, pr] (-1)^m]]; eta[s_] := (1 - 2^(1 - s)) Zeta[s]; eta1 = Limit[D[eta[s], s], s -> 1]; MRBtrue = mm; prec = 1500; MRBtest = eta1 - Sum[(-1)^m etaMM[m, prec]/Gamma[m + 1], {m, 2, Floor[.45 prec]}, Method -> "Procedural"]; MRBtest - MRBtrue] Here are my best eta derivative records: Digits Seconds 500 9.874863 1000 62.587601 1500 219.41540 2000 1008.842867 2500 2659.208646 3000 5552.902395 3500 10233.821601 That is using V10.0.2.0 Kernel. Here is a sample Timing[etaMM[m_, pr_] := Module[{a, d, s, k, b, c}, a[j_] := N[(-PolyLog[1, -j]/(j + 1))^m, pr]; n = Floor[1.32 pr]; d = Cos[n ArcCos[3]]; {b, c, s} = {-1, -d, 0}; Do[c = b - c; s = s + c a[k]; b = N[(k + n) (k - n) b/((k + 1) (k + 1/2)), pr], {k, 0, n - 1}]; Return[N[s/d, pr] (-1)^m]]; eta[s_] := (1 - 2^(1 - s)) Zeta[s]; eta1 = Limit[D[eta[s], s], s -> 1]; MRBtrue = mm; prec = 500; MRBtest = eta1 - Sum[(-1)^m etaMM[m, prec]/Gamma[m + 1], {m, 2, Floor[.45 prec]}]; ] N::meprec: Internal precision limit$MaxExtraPrecision = 50. reached while evaluating -Cos[660 ArcCos[3]]. N::meprec: Internal precision limit $MaxExtraPrecision = 50. reached while evaluating -Cos[660 ArcCos[3]]. N::meprec: Internal precision limit$MaxExtraPrecision = 50. reached while evaluating -Cos[660 ArcCos[3]]. General::stop: Further output of N::meprec will be suppressed during this calculation. Out[1]= {9.874863, Null} 
Posted 3 years ago
 OOPS! I did believe for a little while that I figured out how to rapidly compute AND CHECK a computation of the MRB constant! but it wasn't quite a good check! (The timing given is in processor time [for computing and checking] only. T0 can be used with another SessionTime[] call at the end to figure out all time expired during running of the program.) I used both of Crandall's methods for computing it and used for a check, the nontrivial identity ,where gamma is the Euler constant and M is the MRB constant.Below is my first version of the code with results. If nothing else, I thought, the code pits Crandall's 2 methods against each other to show if one is wrong they both are wrong. (So it is not a real proof.) But these are two totally different methods! (the first of which has been proven by Henry Cohen to be theoretically correct here). For a second check mm is a known approximation to the constant; over 3 million non checked (as of now) digits are found in the attached file 3M.nb. (You will have to change the Format/Style to Input to use the digits.)I at least did hope that I did more than to only show == , but I'm afraid I didn't! In[15]:= (*MRB constant computation with verification! The constant's \ decimal approximation is saved as MRBtest*)prec = 5000;(*Number of \ required decimals.*)ClearSystemCache[]; T0 = SessionTime[]; expM[pre_] := Module[{a, d, s, k, bb, c, n, end, iprec, xvals, x, pc, cores = 4, tsize = 2^7, chunksize, start = 1, ll, ctab, pr = Floor[1.02 pre]}, chunksize = cores*tsize; n = Floor[1.32 pr]; end = Ceiling[n/chunksize]; d = N[(3 + Sqrt[8])^n, pr + 10]; d = Round[1/2 (d + 1/d)]; {b, c, s} = {SetPrecision[-1, 1.1*n], -d, 0}; iprec = Ceiling[pr/27]; Do[xvals = Flatten[ParallelTable[Table[ll = start + j*tsize + l; x = N[E^(Log[ll]/(ll)), iprec]; pc = iprec; While[pc < pr, pc = Min[3 pc, pr]; x = SetPrecision[x, pc]; y = x^ll - ll; x = x (1 - 2 y/((ll + 1) y + 2 ll ll));];(*N[Exp[Log[ll]/ll], pr]*)x, {l, 0, tsize - 1}], {j, 0, cores - 1}, Method -> "EvaluationsPerKernel" -> 1]]; ctab = Table[c = b - c; ll = start + l - 2; b *= 2 (ll + n) (ll - n)/((ll + 1) (2 ll + 1)); c, {l, chunksize}]; s += ctab.(xvals - 1); start += chunksize;, {k, 0, end - 1}]; etaMs = N[-s/d - (EulerGamma Log[2] - Log[2]^2/2), pr]]; t2 = Timing[MRBtest2 = expM[prec];]; Print["The MRB constant was computed and checked to ", prec, " digits \ in ", t1 = t2[[1]] + Timing[eta[s_] := (1 - 2^(1 - s)) Zeta[s]; eta1 = Limit[D[eta[s], s], s -> 1]; MRBtrue = mm; MRBtest = eta1 + etaMs; check = MRBtest - MRBtrue][[1]], " seconds"]; check During evaluation of In[15]:= The MRB constant was computed and checked to 5000 digits in 2.12161 seconds Out[18]= 0.*10^-5000 In[19]:= MRBtest - mm Out[19]= 0.*10^-5000  Attachments:
Posted 3 years ago

## Update Mar 13, 2018

In celebration of 72600 views, this reply moved to what is presently the bottom of the Que. It contains many updates and will gain even more.

Posted 3 years ago
 Going back to the Crandall equations for the MRB constant: In particular, this time we will work on equation 44, which should have a negative sign in front.The naive approach is about as good as any other, so far:: Clear[a, c]; eta[s_] := (1 - 2^(1 - s)) Zeta[s]; a[i_] := Derivative[i][eta][0]; c[j_] := Sum[Binomial[j, d]*(-1)^d*d^(j - d), {d, 1, j}]; -N[Sum[c[m]/m!*a[m], {m, 1, 40}], 6] giving, after some warning, 0.187859 Nonetheless, I found a shortcut for computing the m'th derivatives of the eta function( with an argument of 0). For an example below you can replace 70 with any other n>3. Timing[Derivative[70][DirichletEta][0]]] can be computed in a lot less time by a = EulerGamma^2/2 - Pi^2/24 - (1/2)*(Log[2] + Log[Pi])^2 + StieltjesGamma[1]; b = EulerGamma^3 + (3/2)*EulerGamma^2*Log[2*Pi] - (1/8)*Pi^2* Log[2*Pi] - (1/2)*Log[2*Pi]^3 + 3*EulerGamma*StieltjesGamma[1] + 3*Log[2*Pi]*StieltjesGamma[1] + (3*StieltjesGamma[2])/2 - Zeta[3]; Timing[((-1)^n*Log[2]^n + (-1)^(n + 1)*n*Log[2]^(n - 1)* Log[2*Pi] + (-1)^(n + 1)*n*(n - 1)*Log[2]^(n - 2)*a) + (-1)^n*2*Binomial[n, 3]*Log[2]^(n - 3)* b - (Derivative[n][Zeta][0] + Sum[(-1)^x*2* Binomial[n, x]*(Derivative[n - x][Zeta][0]*Log[2]^x), {x, 1, n - 4}]) /. n -> 70] . That shortcut leads to the following raw program to compute the MRB constant. (Unfortunately, it is severely limited in its precision due to Mathematica's refusal to give high precision results for zeta derivatives of order >3 with argument of 0. For example try N[Derivative[4][Zeta][0], 40] ).Be careful reading the program. (There is a dot product in it. And it could use a lot of cleanup!) a = EulerGamma^2/2 - Pi^2/24 - (1/2)*(Log[2] + Log[Pi])^2 + StieltjesGamma[1]; b = EulerGamma^3 + (3/2)*EulerGamma^2*Log[2*Pi] - (1/8)*Pi^2* Log[2*Pi] - (1/2)*Log[2*Pi]^3 + 3*EulerGamma*StieltjesGamma[1] + 3*Log[2*Pi]*StieltjesGamma[1] + (3*StieltjesGamma[2])/2 - Zeta[3]; -N[With[{prec = 40}, (c = CoefficientList[Series[Exp[(-x)*Exp[x]], {x, 0, prec}], x])[[2 ;; 4]] . Table[Derivative[n][DirichletEta][0], {n, 1, 3}] + c[[5 ;; prec]] . Table[((-1)^n*Log[2]^n + (-1)^(n + 1)*n*Log[2]^(n - 1)* Log[2*Pi] + (-1)^(n + 1)*n*(n - 1)*Log[2]^(n - 2)*a) + (-1)^ n*2*Binomial[n, 3]*Log[2]^(n - 3)*b - (N[Derivative[n][Zeta][0], prec] + Sum[(-1)^x*2* Binomial[n, x]*(N[Derivative[n - x][Zeta][0], prec]*Log[2]^x), {x, 1, n - 4}]), {n, 4, prec - 1}]], 40] Does anyone care to work on this?The zeta derivatives of order n with argument of 0 do have exact forms not involving the zeta function.(I just haven't figured out the pattern to them.) For examples, Derivative[6][Zeta][0] is the same as Limit[D[2 (2 Pi)^(s - 1) Sin[Pi*s/2] Gamma[1 - s] Zeta[1 - s], {s, 6}], s -> 0] which gives the following that doesn't use zeta. (1/2688)*(6720*EulerGamma^6 + 5040*EulerGamma^4*Pi^2 + 1596*EulerGamma^2*Pi^4 - 275*Pi^6 + 32256*EulerGamma^5*Log[2*Pi] + 13440*EulerGamma^3*Pi^2*Log[2*Pi] + 60480*EulerGamma^4*Log[2*Pi]^2 + 10080*EulerGamma^2*Pi^2*Log[2*Pi]^2 - 1596*Pi^4*Log[2*Pi]^2 + 53760*EulerGamma^3*Log[2*Pi]^3 + 20160*EulerGamma^2*Log[2*Pi]^4 - 1680*Pi^2*Log[2*Pi]^4 - 1344*Log[2*Pi]^6 - 53760*EulerGamma^3*PolyGamma[2, 1] - 80640*EulerGamma^2*Log[2*Pi]*PolyGamma[2, 1] + 6720*Pi^2*Log[2*Pi]*PolyGamma[2, 1] + 26880*Log[2*Pi]^3*PolyGamma[2, 1] - 13440*PolyGamma[2, 1]^2 + 8064*Log[2*Pi]*PolyGamma[4, 1] + 40320*EulerGamma^4*StieltjesGamma[1] + 20160*EulerGamma^2*Pi^2*StieltjesGamma[1] + 3192*Pi^4*StieltjesGamma[1] + 161280*EulerGamma^3*Log[2*Pi]*StieltjesGamma[1] + 40320*EulerGamma*Pi^2*Log[2*Pi]*StieltjesGamma[1] + 241920*EulerGamma^2*Log[2*Pi]^2*StieltjesGamma[1] + 20160*Pi^2*Log[2*Pi]^2*StieltjesGamma[1] + 161280*EulerGamma*Log[2*Pi]^3*StieltjesGamma[1] + 40320*Log[2*Pi]^4*StieltjesGamma[1] - 161280*EulerGamma*PolyGamma[2, 1]*StieltjesGamma[1] - 161280*Log[2*Pi]*PolyGamma[2, 1]* StieltjesGamma[1] + 80640*EulerGamma^3*StieltjesGamma[2] + 20160*EulerGamma*Pi^2*StieltjesGamma[2] + 241920*EulerGamma^2*Log[2*Pi]*StieltjesGamma[2] + 20160*Pi^2*Log[2*Pi]*StieltjesGamma[2] + 241920*EulerGamma*Log[2*Pi]^2*StieltjesGamma[2] + 80640*Log[2*Pi]^3*StieltjesGamma[2] - 80640*PolyGamma[2, 1]*StieltjesGamma[2] + 80640*EulerGamma^2*StieltjesGamma[3] + 6720*Pi^2*StieltjesGamma[3] + 161280*EulerGamma*Log[2*Pi]*StieltjesGamma[3] + 80640*Log[2*Pi]^2*StieltjesGamma[3] + 40320*EulerGamma*StieltjesGamma[4] + 40320*Log[2*Pi]*StieltjesGamma[4] + 8064*StieltjesGamma[5]) In traditional form that result isEven Derivative[8][Zeta][0] is the same as Limit[D[2 (2 Pi)^(s - 1) Sin[Pi*s/2] Gamma[1 - s] Zeta[1 - s], {s, 8}], s -> 0] gives -(Pi^8/4608) + (1/6)* ... (an exact form not involving zeta). Derivative[n][Zeta][0] is approximately -n!Try In[656]:= ss = Table[N[Limit[ D[2 (2 Pi)^(s - 1) Sin[Pi*s/2] Gamma[1 - s] Zeta[1 - s], {s, n}], s -> 0] + n!, 20], {n, 1, 9}] Out[656]= {0.081061466795327258220, -0.0063564559085848512101, \ -0.0047111668622544477611, 0.0028968119862920410128, \ -0.00023290755845472453599, -0.00093682513005092950428, \ 0.00084982376500166915171, -0.00023243173551155958286, \ -0.00033058966361229644526}, so we can switch them in our ugly program to compute the MRB constant and get a rapidly converging rough approximation as follows. a = EulerGamma^2/2 - Pi^2/24 - (1/2)*(Log[2] + Log[Pi])^2 + StieltjesGamma[1]; b = EulerGamma^3 + (3/2)*EulerGamma^2*Log[2*Pi] - (1/8)*Pi^2* Log[2*Pi] - (1/2)*Log[2*Pi]^3 + 3*EulerGamma*StieltjesGamma[1] + 3*Log[2*Pi]*StieltjesGamma[1] + (3*StieltjesGamma[2])/2 - Zeta[3]; -N[With[{prec = 50}, (c = CoefficientList[Series[Exp[(-x)*Exp[x]], {x, 0, prec}], x])[[2 ;; 4]].Table[ Derivative[n][DirichletEta][0], {n, 1, 3}] + c[[5 ;; prec]].Table[((-1)^n*Log[2]^n + (-1)^(n + 1)*n* Log[2]^(n - 1)*Log[2*Pi] + (-1)^(n + 1)*n*(n - 1)* Log[2]^(n - 2)*a) + (-1)^n*2*Binomial[n, 3]*Log[2]^(n - 3)* b - (-n! + Sum[(-1)^x*2*Binomial[n, x]*(-(n - x)!*Log[2]^x), {x, 1, n - 4}]), {n, 4, prec - 1}]], 40] , which unfortunately is off from the true value of the MRB constant by about 0.00112931. Does anyone have suggestions on how to adjust this new program to give a better rapidly converging approximation to the MRB constant? or how to proceed from here?
Posted 3 years ago
 I could really use your opinions here! If your getting tired of my posts let me know.Power towers are defined below. See http://mathworld.wolfram.com/PowerTower.html . ;;; How about breaking my record for computing the infinite power tower of the MRB constant. Here's how I have to go about computing n digits of it: I compute a decimal expansion of the MRB constant, which I save as m. Then I compute l = Log[m]; N[-ProductLog[-l]/l, n]. My record is 3 million digits, in which I used my 3,014,991 digit computation of the MRB constant (mentioned in the first post of this thread) for m.It would be EXTREMELY helpful if anyone could find a way to compute the exact power tower without first computing the MRB constant! Such a revelation would be synonymous with finding a closed for solution to the MRB constant! I've been trying to find the exact power tower, lately, with no success. Even a high precision approximation to the power tower would generate a nearly equally precise approximation to the MRB constant. (Let ll be the infinite power tower of m, then ll^(1/ll)=m)Attached are 3 million digits of the power tower. Attachments:
Posted 3 years ago
 Using the same programs to compute the MRB constant, MMA V10.1 is a little slower than 10.0.0.Here is a sample of such programs: (*Fastest (at MRB's end) as of 24 Dec 2014.*) prec = 10000;(*Number of required decimals.*)ClearSystemCache[]; T0 = SessionTime[]; expM[pre_] := Module[{a, d, s, k, bb, c, n, end, iprec, xvals, x, pc, cores = 12, tsize = 2^7, chunksize, start = 1, ll, ctab, pr = Floor[1.005 pre]}, chunksize = cores*tsize; n = Floor[1.32 pr]; end = Ceiling[n/chunksize]; Print["Iterations required: ", n]; Print["end ", end]; Print[end*chunksize]; d = Cos[n ArcCos[3]]; {b, c, s} = {SetPrecision[-1, 1.1*n], -d, 0}; iprec = Ceiling[pr/27]; Do[xvals = Flatten[ParallelTable[Table[ll = start + j*tsize + l; h = Log[ll]/ll; x = N[Exp[h], iprec]; pc = iprec; While[pc < pr, pc = Min[3 pc, pr]; x = SetPrecision[x, pc]; y = x^ll - ll; x = x (1 - 2 y/((ll + 1) y + 2 ll ll));];(*N[Exp[Log[ll]/ll], pr]*)x, {l, 0, tsize - 1}], {j, 0, cores - 1}, Method -> "EvaluationsPerKernel" -> 4]]; ctab = ParallelTable[Table[c = b - c; ll = start + l - 2; b *= 2 (ll + n) (ll - n)/((ll + 1) (2 ll + 1)); c, {l, chunksize}], Method -> "EvaluationsPerKernel" -> 2]; s += ctab.(xvals - 1); start += chunksize; Print["done iter ", k*chunksize, " ", SessionTime[] - T0];, {k, 0, end - 1}]; N[-s/d, pr]]; t2 = Timing[MRBtest2 = expM[prec];]; MRBtest2 I'm in the process of tweaking that program to perform better in V 10.1.I tweaked the program a little. I computed 301493 digits in 31266 seconds, or 8 hours 41 minutes 6 seconds. (See attachment.) It's pretty hard to tweak without loosing accuracy!!!Some other 10.1 records: digits seconds 10,000 9.7 20,000 44 30,000 119 40,000 228 50,193 360 100,493 2573 301,493 31266  Attachments:
Posted 3 years ago

## Update Mar 13, 2018

In celebration of 72600 views, this reply moved.

MKB constant calculations have been moved to their own discussion at http://community.wolfram.com/groups/-/m/t/1323951?ppauth=W3TxvEwH .

Posted 3 years ago

## These few erased messages dealt with the integral analog of the MRB constant. .

MKB constant calculations have been moved to their own discussion at

Attachments are still here, though.

Attachments:
Posted 3 years ago

## These few erased messages dealt with the integral analog of the MRB constant. .

They are moved to the present bottom of the post. Attachments are still here, though..

Attachments:
Posted 3 years ago

## These few erased messages dealt with the integral analog of the MRB constant. .

They are moved to the present bottom of the post.

Posted 3 years ago
 MKB constant calculations have been moved to their own discussion at http://community.wolfram.com/groups/-/m/t/1323951?ppauth=W3TxvEwH .
Posted 3 years ago

## Update Mar 13, 2018

In celebration of 72600 views, this reply moved to what is presently the bottom of the Que. It contains many updates and will gain even more.

Posted 3 years ago

## Update Mar 13, 2018

In celebration of 72600 views, this reply moved to what is presently the bottom of the Que. It contains many updates and will gain even more.

Posted 3 years ago

## These few erased messages dealt with the integral analog of the MRB constant. .

MKB constant calculations have been moved to their own discussion at

Posted 2 years ago
 I am waiting for an improvement in Mathematica to try to break any new records, especially because the goal of 4,000,000 digits of the MRB constant requires, in the neighborhood of, 3 months worth of computing time with the best version so far! Also, I thought I would take advantage of this opportunity to introduce this discussion to any new members, that they too may learn or be encouraged by its voluminous replies, as manifold experienced members have -- and a few have added to it-- contributing to its success. Thank you all!In this post we have listed record calculations of the MRB constant (MRB) and its integral analog (MKB); found new formulas for computing each (many, many formulas for computing MKB with each more complicated and powerful that the previous like ); looked at records using only special formulas for MRB; and looked at a few related constants, like the infinite power tower of MRB. I haven't decided whether to start a new post when I try my next record, or not; if i decide to start a new one I will post a link to it here. Please feel free to continue to use this post for your contributions or questions!
Posted 2 years ago
 I've been working on Crandall's code for many digits of the MRB constant. On my big computer Windows 10 is just a little slower than Windows 7 was. This new code runs on Windows 10 at the same speed the my last mention in this blog program did in Windows 7.Here it is in input form: Quiet[prec = 30000; ClearSystemCache[]; T0 = SessionTime[]; expM[pre_] := Module[{a, d, s, k, bb, c, n, end, iprec, xvals, x, pc, cores = 16, tsize = 2^7, chunksize, start = 1, ll, ctab, pr = Floor[1.005*pre]}, chunksize = cores*tsize; n = Floor[1.32*pr]; end = Ceiling[n/chunksize]; Print["Iterations required: ", n]; Print["end ", end]; Print[end*chunksize]; d = (1/2)*(3 + 2*Sqrt[2])^n*(1 + (3 + 2*Sqrt[2])^ (-2*n)); {b, c, s} = {SetPrecision[-1, 1.1*n], -d, 0}; iprec = Ceiling[pr/27]; Do[xvals = Flatten[ParallelTable[ Table[ll = start + j*tsize + l; x = N[ll^(1/ll), iprec]; pc = iprec; While[pc < pr, pc = Min[3*pc, pr]; x = SetPrecision[x, pc]; y = x^ll - ll; x = x - (2*x*y)/(y + ll*(2*ll + y))]; x, {l, 0, tsize - 1}], {j, 0, cores - 1}, Method -> "EvaluationsPerKernel" -> 4]]; ctab = ParallelTable[Table[c = b - c; ll = start + l - 2; b *= (2*(ll^2 - n^2))/ (1 + 3*ll + 2*ll^2); c, {l, chunksize}], Method -> "EvaluationsPerKernel" -> 2]; s += ctab . (xvals - 1); start += chunksize; Print["done iter ", k*chunksize, " ", SessionTime[] - T0]; , {k, 0, end - 1}]; N[-s/d, pr]]; t2 = Timing[MRBtest2 = expM[prec]; ]; MRBtest2] Also, here is my new fastest program for calculating digits of the MRB constant via the eta formula, This program is nearly twice as fast as the one in I gave "best eta timings" for, above.. prec = 1500; to = SessionTime[]; etaMM[m_, pr_] := Module[{a, d, s, k, b, c}, a[j_] := N[(Log[j + 1]/(j + 1))^m, pr]; n = Floor[132 /100 pr]; d = N[(1/2)*(3 + 2*Sqrt[2])^n*(1 + (3 + 2*Sqrt[2])^(-2*n)), prec]; {b, c, s} = {-1, -d, 0}; Do[c = b - c; s = s + c a[k]; b = (k + n) (k - n) b/((k + 1) (k + 1/2)), {k, 0, n - 1}]; Return[N[s/d, pr] (-1)^m]]; eta1 = N[EulerGamma Log[2] - Log[2]^2/2, prec]; MRBtest = eta1 - ParallelSum[(Cos[Pi m]) etaMM[m, prec]/ N[Gamma[m + 1], prec], {m, 2, Floor[.40 prec]}]; Print[MRBtest]; SessionTime[] - to gives (* During evaluation of In[188]:= 0.18785964246206712024851793405427323005590309490013878617200468408947723156466021370329665443310749690384234585625801906123137009475922663043892934889618412083733662608161360273812637937343528321255276396217148932170207628206217151671540841268044836354167199851976802527598938993914457983505561350964852107120784442309586812949768852694956420425558648367044104252795247106066609263397483410311578167864166891546003422225883800254553968929471142122189105098328712277308020036445215390536395055332203470627551159812828039510219264914673176293516190659816018664245824950697203381992958420935515162514399357600764593291281451709082424915883204169066409334435914806705564692806787007028115009380606938139385953360657987405562062348704329360737819564603104763950664893061360645528067515193508280837376719296866398103094949637496277383049846324563479311575300289212523291816195626973697074865765476071178017195787368300965902260668753656305516567361288150201438756136686552210674305370591039735756191489093690777983203551193362404637253494105428363699717024418551654837279358822008134480961058802030647819619596953756287834812334976385863010140727252923014723333362509185840248037040488819676767601198581116791693527968520441600270861372286889451015102919988536905728659287086875425492533794395347589703563313440382638887986656195980733514739902565778133172261076127975852722742777308985774922305970962572562718836755752978879253616876739403543214513627725492293131262764357321446216187786377154205423128223 Out[192]= 105.7159526*) 
Posted 2 years ago
 V 11 has a significant improvement in my new most recently mentioned fastest program for calculating digits of the MRB constant via the eta formula, Here are some timings: Digits seconds 1500 42.6386632 2000 127.3101969 3000 530.4442911 4000 1860.1966540 5000 3875.6978162 6000 8596.9347275 10,000 53667.6315476 From an previous message that starts with "How about computing the MRB constant from Crandall's eta derivative formulas?" here are my first two sets of records to compare with the just mentioned ones. You can see that I increased time efficiency by 10 to 29 to even 72 fold for select computations! In the tests used in that "previous message," 4000 or more digit computations produced a seemingly indefinitely long hang-on. Digits Seconds 500 36.831836 1000 717.308198 1500 2989.759165 2000 3752.354453 Digits Seconds 500 9.874863 1000 62.587601 1500 219.41540 2000 1008.842867 2500 2659.208646 3000 5552.902395 3500 10233.821601 Comparing first of the just mentioned 2000 digit computations with the "significant improvement" one we get the following. 3752/127 ~=29. And from the slowest to the fastest 1500 digit run we get2989/42 ~=72,
Posted 1 year ago

# Reply starts with UPDATE on 8/13/2017 below.

Search 8/13/2017 below for where this reply was placed.

Posted 2 years ago
 On a recent post, I derived a bunch of approximations of the MRB constant.It was MRB constant approximations using TranscendentalRecognize -- http://community.wolfram.com/groups/-/m/t/819837?p_p_auth=m7XRds7k.Some of the last ones consist of arbitrary approximations to any n digits, while still using small coefficients, compared with the thousand of digits of the target. I wonder if anyone could show me how to extract the coefficient like terms which come before the summations, in a list like this:So someone could find a closed form consisting of those coefficient like terms
Posted 2 years ago

## Repeated on top of first message

When it comes to mine and a few more educated people's passion to calculate many digits and the dislike of a few more educated people; it is all a matter telling us that the human mind is multi faceted in giving passion, to person a, for one task and to person b for another task!

Posted 2 years ago
 My plan in the previous was to find a numeric list to dot product(.) a set of sums that equal the MRB constant, list or at least gave an improvable result. In the postI have made several numeric list and sums that are inner products, but I haven't found any good pattern to the numeric lists!Below is a sample of what I want to investigating with just a sample value for a, b , c..So from  m = NSum[(-1)^n*(n^(1/n) - 1), {n, 1, Infinity},Method -> "AlternatingSigns", WorkingPrecision -> 1000] N[m - (-129858773922357615372945307143544254 - 332618118135196201861563173048187520*3^(1/5) + 360989141074787715535168098417020609*2^(2/5)*3^(1/5))/ 261711912538111957032871243762602971, 200] Out[116]= 0.*10^-99 you could have In[112]:= a = {-129858773922357615372945307143544254, 332618118135196201861563173048187520, 360989141074787715535168098417020609}; In[113]:= b = {1, -3^(1/5), 2^(2/5) 3^(1/5)}; In[114]:= c = 261711912538111957032871243762602971; In[115]:= N[m - (a.b/c), 200] Out[115]= 0.*10^-99 If only there was a formula for the elements of a,b, and c; up to the precision given by TranscendentalRecognize in a polynomial like from,you could derive a,b,c without TranscendentalRecognize getting arbitrary digits of m of the simple formula of a.b/c .
Posted 2 years ago
 I just reasoned a great reason to compute the MRB constant!As we saw above at https://web.archive.org/web/20130430193005/http://www.perfscipress.com/papers/UniversalTOC25.pdf , Richard Crandall wrote about Unified algorithms for polylogarithm, L-series, and zeta variants. Since this paper was cited 8 times in its first year (how much longer he lived), I believe this paper is suitable for an introduction to most of what is said in the subject mentioned above. In chapter 7 i.e. "Key fundamental constants." I searched for the meaning of Key fundamental constants, on google and found it referred to different constants, all depending on the subject that uses the constant. So a whole section of that chapter was called The MRB constant. So I wonder does considering the MRB constant to be a "Key fundamental constants." make to calculating of its digits any more interesting? Even if you don't want to use all of the computer power to break a record here, If anyone can find a faster algorithm that I could use, that would bee terrific!
Posted 2 years ago
 I think this article might be starting a second life for,since the efficient analysis of equation 44 is missing:http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.695.5959&rep=rep1&type=pdf <- New occasionally working reference, so subject not dead! This reference, on my site, is up a little more: http://www.marvinrayburns.com/UniversalTOC25.pdf .We touched formula 44 but didn't dig out any of the good stuff that Crandall believed to be in it!Here B is the MRB constant. Plus Crandall acknowledged that there should be a negative sign before first summation.
Posted 2 years ago
 MKB constant calculations have been moved to their own discussion at http://community.wolfram.com/groups/-/m/t/1323951?ppauth=W3TxvEwH .
Posted 1 year ago
 MKB constant calculations have been moved to their own discussion at http://community.wolfram.com/groups/-/m/t/1323951?ppauth=W3TxvEwH .
Posted 1 year ago
 I have two versions of MRB constant code that I presently use, a short one (non-parallel) and a long one. Both are given below.Short (*Newer loop with Newton interior.*)prec = 5000;(*Number of required \ decimals.*)expM[pr_] := Module[{a, d, s, k, b, c}, n = Floor[1.32 pr]; Print["Iterations required: ", n]; d = N[(3 + Sqrt[8])^n, pr + 10]; d = Round[1/2 (d + 1/d)]; {b, c, s} = {-1, -d, 0}; T0 = SessionTime[]; Do[c = b - c; x = N[E^(Log[k + 1]/(k + 1)), iprec = Ceiling[prec/128]]; pc = iprec; Do[nprec = Min[2 pc, pr]; x = SetPrecision[x, nprec];(*Adjust precision*) x = N[x - x/(k + 1) + 1/x^k, nprec]; pc *= 2; If[nprec >= pr, Break[]], {ct, 1, 19}]; s += c*(x - 1); b *= 2 (k + n) (k - n)/((k + 1) (2 k + 1)); If[Mod[k, 1000] == 0, Print["Iterations: ", k, " Cumulative time (sec): ", SessionTime[] - T0];], {k, 0, n - 1}]; N[-s/d, pr]]; MRBtest2 = expM[prec] Long  (**Fastest (at MRB's end) as of 25 Jul 2014*.*)DateString[] prec = 7000; (**Number of required decimals.*.*)ClearSystemCache[]; T0 = SessionTime[]; expM[pre_] := Module[{a, d, s, k, bb, c, n, end, iprec, xvals, x, pc, cores = 12, tsize = 2^7, chunksize, start = 1, ll, ctab, pr = Floor[1.005 pre]}, chunksize = cores*tsize; n = Floor[1.32 pr]; end = Ceiling[n/chunksize]; Print["Iterations required: ", n]; Print["end ", end]; Print[end*chunksize]; d = ChebyshevT[n, 3]; {b, c, s} = {SetPrecision[-1, 1.1*n], -d, 0}; iprec = Ceiling[pr/27]; Do[xvals = Flatten[ParallelTable[Table[ll = start + j*tsize + l; x = N[E^(Log[ll]/(ll)), iprec]; pc = iprec; While[pc < pr, pc = Min[3 pc, pr]; x = SetPrecision[x, pc]; y = x^ll - ll; x = x (1 - 2 y/((ll + 1) y + 2 ll ll));];(**N[Exp[Log[ll]/ ll],pr]**)x, {l, 0, tsize - 1}], {j, 0, cores - 1}, Method -> "EvaluationsPerKernel" -> 4]]; ctab = ParallelTable[Table[c = b - c; ll = start + l - 2; b *= 2 (ll + n) (ll - n)/((ll + 1) (2 ll + 1)); c, {l, chunksize}], Method -> "EvaluationsPerKernel" -> 2]; s += ctab.(xvals - 1); start += chunksize; Print["done iter ", k*chunksize, " ", SessionTime[] - T0];, {k, 0, end - 1}]; N[-s/d, pr]]; t2 = Timing[MRBtest2 = expM[prec];]; DateString[] Print[MRBtest2] MRBtest2 - MRBtest3 
Posted 1 year ago
 Try to beat these MRB constant records!
Posted 1 year ago

As mentioned a few times above Richard Crandall made the following observations about the MRB constant:

His last comment is that we might find some algorithm advantages by focusing on the fixed argument of 0 for the eta derivatives. He gives Chapter 3 as a possible source to find the algorithm advantages. (Here is another link to his paper: http://marvinrayburns.com/UniversalTOC25.pdf .)

Here is what he was looking for.

c[0] = 0;
c[1] = Log[2]; Table[
c[n] = -2*Derivative[n - 1][Zeta][0], {n, 2, 22}];
l = CoefficientList[Normal[Series[Exp[(-x)*E^x], {x, 0, 21}]],
x]; N[-Sum[
l[[n + 1]]*((-1)^
n*(Sum[(-1)^x*(c[x + 1]*Binomial[n, x]*c[1]^(n - x)), {x, 1,
n - 1}] + c[1]^n +
c[0]) + 1/2 c[n + 1]), {n, 1, 17}]]


Mathematica still has trouble with higher zeta derivatives of 0, however. I'm going to look for a procedure for computing them better.

## 

I computed the zeta derivatives of 0 by

   zeta0[p_] := (-1)^p Sum[StieltjesGamma[p + k]/k!, {k, 0, Infinity}] -
p!


and got the same results Mathematica got for the higher zeta derivatives of 0.

I also checked the CoefficientList of

CoefficientList[Normal[Series[Exp[(-x)*E^x], {x, 0, 21}]]


by the following, and haven't found where Mathematica is having trouble!

c[0] = 0; c[1] = Log[2]; Table[c[n] = -2*Derivative[n - 1][Zeta][0],
{n, 2,
18}]; N[-Sum[(Sum[(-1)^d*d^(n - d)*Binomial[n, d], {d, 1, n}]*
((-1)^
n*(Sum[(-1)^x*(c[x + 1]*Binomial[n, x]*c[1]^(n - x)),
{x, 1, n - 1}] + c[1]^n + c[0]) + (1/2)*
c[n + 1]))/n!, {n, 1, 17}]]


I even checked the binomials by their formula. Also the StieltjesGamma and Derivative[n ][Zeta][0]] results appear smooth for discrete operations:

 Table[N[Derivative[n ][Zeta][0]], {n, 10, 25}]


and

 N[Table[StieltjesGamma[x], {x, 1, 30}]]


.

## 

I found the problem as to why Mathematica doesn't increase its accuracy in the above formula after 17 iterations: Mathematica will give a numeric solution to many zeta derivatives of 0, only to machine precision!

For machine precision:

  Table[N[Derivative[n ][Zeta][0]], {n, 1, 30}]


gives the machine sized numeric to many derivatives:

 {-0.918939, -2.00636, -6.00471, -23.9971, -120., -720.001, \
-5040., -40320., -362880., -3.6288*10^6, -3.99168*10^7, \
-4.79002*10^8, -6.22702*10^9, -8.71783*10^10, -1.30767*10^12, \
-2.09228*10^13, -3.55687*10^14, -6.40237*10^15, -1.21645*10^17, \
-2.4329*10^18, -5.10909*10^19, -1.124*10^21, -2.5852*10^22, \
-6.20448*10^23, -1.55112*10^25, -4.03291*10^26, -1.08889*10^28, \
-3.04888*10^29, -8.84176*10^30, -2.65253*10^32}.


Then

   Table[N[Derivative[n][Zeta][0], 10], {n, 1, 30}]


gives the high precision numeric for only the first 3 derivatives:

{-0.9189385332046727417803297364056176398610., \
-2.006356455908584851210100026729960438210.,
-6.004711166862254447810., Derivative[4][Zeta][0],
Derivative[5][Zeta][0], Derivative[6][Zeta][0],
Derivative[7][Zeta][0], Derivative[8][Zeta][0],
Derivative[9][Zeta][0], Derivative[10][Zeta][0],
Derivative[11][Zeta][0], Derivative[12][Zeta][0],
Derivative[13][Zeta][0], Derivative[14][Zeta][0],
Derivative[15][Zeta][0], Derivative[16][Zeta][0],
Derivative[17][Zeta][0], Derivative[18][Zeta][0],
Derivative[19][Zeta][0], Derivative[20][Zeta][0],
Derivative[21][Zeta][0], Derivative[22][Zeta][0],
Derivative[23][Zeta][0], Derivative[24][Zeta][0],
Derivative[25][Zeta][0], Derivative[26][Zeta][0],
Derivative[27][Zeta][0], Derivative[28][Zeta][0],
Derivative[29][Zeta][0], Derivative[30][Zeta][0]}.


With some confidence I can say

Posted 1 year ago
 I fixed it!!!I forced Mathematica to give up the needed digits of the zeta derivatives.My new program does not really compete with the previously mentioned record-breakers. But it is a fairly efficient use of Crandall's formula (44). First it calculates many digits on MRB the old fashion way to use as a check. So here is my new program: m = NSum[(-1)^n (n^(1/n) - 1), {n, 1, Infinity}, Method -> "AlternatingSigns", WorkingPrecision -> 120]; Block[{$MaxExtraPrecision = 1000}, s = 100(*number of terms*); c[1] = Log[2]; c[n_] := N[1 - 2*Derivative[n - 1][Zeta][0], Floor[3/2 s]] - 1; mtest = (-Sum[(Sum[(-1)^d*d^(n - d)*Binomial[n, d], {d, 1, n}]*((-1)^ n*(Sum[(-1)^x*(c[x + 1]*Binomial[n, x]*c[1]^(n - x)), {x, 1, n - 1}] + c[1]^n) + (1/2)*c[n + 1]))/n!, {n, 1, s}])]; Print[s, " terms give ", mtest, ", and the error is ", m - mtest] 100 terms give 0.18785964486341229249700337222, and the error is -2.40134517224848543816*10^-9Changing s to 200 shows all correct digits:200 terms give 0.187859642465, and the error is -3.*10^-12 Answer Posted 1 year ago  I noticed that accuracy is not directly related to the number of terms used in the programs of Crandall's formula (44).I made a slight improvement in my program that computes Crandall's eta derivative of 0 formula (44):First compute a known value of the MRB constant:  m = NSum[(-1)^n (n^(1/n) - 1), {n, 1, Infinity}, Method -> "AlternatingSigns", WorkingPrecision -> 120]; followed by  Block[{$MaxExtraPrecision = 1000}, s = 129(*number of terms*); sc[t_] := StieltjesGamma[ t];(*-Pi/(2 n+2) NIntegrate[Log[1/2+I x]^(n+1)/Cosh[Pi \ x]^2,{x,-Infinity,Infinity},WorkingPrecision\[Rule]50];*) zeta0[p_] := N[(-1)^p Sum[sc[p + k]/k!, {k, 0, Infinity}] - p!, 3/2 s]; c[1] = Log[2]; c[n_] := N[1 - 2*zeta0[n - 1], Floor[3/2 s]] - 1; mtest = (-Sum[(Sum[(-1)^d*d^(n - d)*Binomial[n, d], {d, 1, n}]*((-1)^ n*(Sum[(-1)^x*(c[x + 1]*Binomial[n, x]*c[1]^(n - x)), {x, 1, n - 1}] + c[1]^n) + (1/2)*c[n + 1]))/n!, {n, 1, s}])]; Print[s, " terms give ", mtest, ", and the error is ", m - mtest] producing129 terms give 0.187859642466672738539355017, and the error is -4.605618290837083*10^-12.
Posted 1 year ago

# UPDATE on 8/13/2017

Search 8/13/2017 in the above for this reply's place in Que. I placed it here to make it easy to find on this late of a date.

Here is another great improvement in calculating digits of MRB though this first Crandall eta formula

Here is an example calculating 1500 digits in less than 23 seconds. First calculate known accurate digits:

mTrue = NSum[(-1)^n (n^(1/n) - 1), {n, 1, Infinity},
Method -> "AlternatingSigns", WorkingPrecision -> 2000];


Then use this program:

prec = 1500;
to = SessionTime[];
etaMM[m_, pr_] :=
Module[{a, s, k, b, c}, a[j_] := (Log[j + 1]/(j + 1))^m;
{b, c, s} = {-1, -d, 0};
Do[c = b - c;
s = s + c a[k];
b = (k + n) (k - n) b/((k + 1) (k + 1/2)), {k, 0, n - 1}];
Return[N[s/d, pr] (-1)^m]];
eta1 = N[EulerGamma Log[2] - Log[2]^2/2, prec]; n =
Floor[132/100 prec]; d = N[ChebyshevT[n, 3], prec];
MRBtest =
eta1 - ParallelSum[(Cos[Pi m]) etaMM[m, prec]/
N[Gamma[m + 1], prec], {m, 2, Floor[.365 prec]}];
Print[mTrue - MRBtest]; SessionTime[] - to


The larger prec (precission) you want to choose, the smaller number you can replace .365 with in
ParallelSum[(Cos[Pi m]) etaMM[m, prec]/N[Gamma[m + 1], prec], {m, 2, Floor[.365 prec]}. For prec=5000, change .365 to .31 (approximately). This advantage for smaller upper limits being needed in the sum is due to the Gamma (!) in the denominator. On my big computer 5000 digits now gives a timing of around 1800 seconds (1/2 an hour). See message above the previous occurrence of 8/13/2017 for previous records and records before those.

Posted 10 months ago

## Update Feb 12, 2018

In celebration of 72000 views, this reply moved to what is presently the bottom of the Que. It contains many updates and will gain even more.

Posted 9 months ago

## Update Mar 13, 2018

In celebration of 72600 views, this reply moved to what is presently the bottom of the Que. It contains many updates and will gain even more.

Posted 8 months ago

## December ‎08, ‎2017

I just calculated 100,500 digits of the MRB constant in 2,359 seconds and a processor time (from the Timing[] command) of 1,196 seconds in V11.2. Here is a copy of an email from the late Richard Crandall showing his best timing for 100,000 digits (3600 s) using V9.0.0:

Re: 100,000 digits Richard Crandall crandall@reed.edu 11/30/12 at 11:00 PM To Marvin Burns Message body Something is really awry... On my humble Mac Book (2.2 GHz, Intel Core i7, 4 GB RAM) the attached program---my best so far takes 3600 seconds. That's right, 100K digitsw in one hour.

What timing do you get for the attached? (If you again get like 8000 seconds, tell me what kind of RAM etc. you have...)

-r

(* Fastest (at RC's end) as of 30 Nov 2012. *)

prec = 100000; (* Number of required decimals. *)
ClearSystemCache[];
T0 = SessionTime[];
expM[pre_] :=
Module[{a, d, s, k, bb, c, n, end, iprec, xvals, x, pc, cores = 4,
tsize = 2^7, chunksize, start = 1, ll, ctab, pr = Floor[1.02 pre]},
chunksize = cores*tsize;
n = Floor[1.32 pr];
end = Ceiling[n/chunksize];
Print["Iterations required: ", n];
Print["end ", end];
Print[end*chunksize];
d = N[(3 + Sqrt[8])^n, pr + 10];
d = Round[1/2 (d + 1/d)];
{b, c, s} = {SetPrecision[-1, 1.1*n], -d, 0};
iprec = Ceiling[pr/27];
Do[xvals = Flatten[ParallelTable[Table[ll = start + j*tsize + l;
x = N[E^(Log[ll]/(ll)), iprec];
pc = iprec;
While[pc < pr, pc = Min[3 pc, pr];
x = SetPrecision[x, pc];
y = x^ll - ll;
x = x (1 - 2 y/((ll + 1) y + 2 ll ll));];(*N[Exp[Log[ll]/ll],pr]*)
x, {l, 0, tsize - 1}], {j, 0, cores - 1},
Method -> "EvaluationsPerKernel" -> 1]];
ctab = Table[c = b - c;
ll = start + l - 2;
b *= 2 (ll + n) (ll - n)/((ll + 1) (2 ll + 1));
c, {l, chunksize}];
s += ctab.(xvals - 1);
start += chunksize;
Print["done iter ", k*chunksize, " ", SessionTime[] - T0];, {k, 0,
end - 1}];
N[-s/d, pr]];

t2 = Timing[MRBtest2 = expM[prec];];
MRBtest2 - MRBtest3

(*===============*)


On Nov 30, 2012, at 5:29 PM, Marvin Burns wrote:

On my 6 core AMD: 8511 seconds Error: 1.83506*10^-101989

----- Forwarded Message ---- From: Marvin Burns marvin@marvinrayburns.com To: Richard Crandall crandall@reed.edu Sent: Fri, November 30, 2012 6:09:09 PM Subject: Re: 100,000 digits

It took 8777 seconds. I have my laptop set not to go to sleep.

Error:1.83506*10^-101989.


I will try it on my 6 core AMD. From: Richard Crandall crandall@reed.edu To: Marvin Burns marvin@marvinrayburns.com Sent: Fri, November 30, 2012 2:49:26 AM Subject: Re: 100,000 digits

You report 8500 seconds on your 100K-digit run. Can you please try this version, to see how long it takes? (The output format is different, but it should have the same 100K-digit accuracy...

-r

PS. This has parallism but of a different style that might work well on your machine...

<MRB100Ktest[6 core AMD].nb>

My AMD 6 core was actually a 3 X dual core from 2010. Mathematica only saw and used 3 cores. I think it only has DDR2 RAM. I just got it back from my ex-wife and it is as slow as it ever was, but it still runs!

I would like to beat Crandall's million+ digit run. But I won't be able to right away. I am computing a fresh million+ digits using V 11.2, but it will take about 5 days vs. Crandall's 3.18 days. At least that's better than my first run which took 7.9 days and was started on ‎Tuesday, ‎January ‎22, ‎2013, ‏‎6:53:42 PM. It is attached as "1M." I used a Dec 2012 custom made Extreme Edition true 6 X dual core Intel(R) Core(TM) i7-3930K CPU @ 3.20 GHz 3.20 GHz and V9.0.

## EDIT

1004993 digits finished in 496,777.. sec or 5.7 days! Processor time was 188,939 sec or 2.18679 days. I used the same Dec 2012 custom made Extreme Edition true 6 X dual core Intel(R) Core(TM) i7-3930K CPU @ 3.20 GHz 3.20 GHz and V9.0. See attached 1M2017.

Here is the code and results:

(*Fastest (at MRB's end) as of 06 Jan 2013.*)
prec = 1000000;(*Number of required decimals.*)ClearSystemCache[];
T0 = SessionTime[];
expM[pre_] :=
Module[{a, d, s, k, bb, c, n, end, iprec, xvals, x, pc, cores = 6,
tsize = 2^7, chunksize, start = 1, ll, ctab,
pr = Floor[1.005 pre]}, chunksize = cores*tsize;
n = Floor[1.32 pr];
end = Ceiling[n/chunksize];
Print["Iterations required: ", n];
Print["end ", end];
Print[end*chunksize]; d = ChebyshevT[n, 3];
{b, c, s} = {SetPrecision[-1, 1.1*n], -d, 0};
iprec = Ceiling[pr/27];
Do[xvals = Flatten[ParallelTable[Table[ll = start + j*tsize + l;
x = N[E^(Log[ll]/(ll)), iprec];
pc = iprec;
While[pc < pr, pc = Min[3 pc, pr];
x = SetPrecision[x, pc];
y = x^ll - ll;
x = x (1 - 2 y/((ll + 1) y + 2 ll ll));];(*N[Exp[Log[ll]/ll],
pr]*)x, {l, 0, tsize - 1}], {j, 0, cores - 1},
Method -> "CoarsestGrained"]];
ctab = ParallelTable[Table[c = b - c;
ll = start + l - 2;
b *= 2 (ll + n) (ll - n)/((ll + 1) (2 ll + 1));
c, {l, chunksize}], Method -> "CoarsestGrained"];
s += ctab.(xvals - 1);
start += chunksize;
Print["done iter ", k*chunksize, " ", SessionTime[] - T0];, {k, 0,
end - 1}];
N[-s/d, pr]];
t2 = Timing[MRBtest2 = expM[prec];]; MRBtest2


Iterations required: 1326598

end 1728

1327104

done iter 0 242.4565419

done iter 768 497.7741675

done iter 1536 756.1617379

done iter 2304 1011.7153119

done iter 3072 1272.6273355

...

done iter 1324800 496209.7830825

done iter 1325568 496492.1827471

done iter 1326336 496777.0044999

0.187859642462067...

Attachments:
Posted 6 months ago

## Sep 04, 2015

I think I've reached an impasse in calculating more digits of the integral analog of the MRB constant. So I believe my best bet in setting a new record is to compute 4,000,000 digits of the MRB constant proper!

Here is the data of my previous records on my big computer, the six core Intel(R) Core(TM) i7-3930K CPU @ 3.20 GHz 3.20 GHz with 64 GB of RAM.

(Digits are rounded down, slightly.)

1.2 million in 120,360 seconds

2 million 1,870,579 second

3 million 4,15,7400 seconds

Remarkably they are very linear; so using the Fit command as shown next,

Fit[data, {1, x}, x]


I get

y, in seconds, = -2.5894022213114775*10^6 + 2.2446041393442626 x.

Substituting 4,000,000 for x gives 6,389,014;seconds or almost 2 and a half months. (I would round that to 3 months to be safe!)

Before I start, I will listen to your suggestions, or encouragement; if you have any, (I do get lonely when I don't get any feedback.)

EDIT:

At 10:00 PM Friday Sept 04, 2015 I started the 4,000,000 run of the MRB constant proper. Does anyone want to work on it with me?

Here is the code I am using:

(*Fastest (at MRB's end) as of 24 dEC 2014.*)