Re: Correctness of derivnum(X=1/2,zeta(X),41)
Alessandro Languasco <[email protected]>
| Newsgroups | gmane.comp.mathematics.pari.devel |
|---|---|
| Message-ID | <[email protected]> |
Dear Georgi Guniski, > On 26 Sep 2021, at 08:55, Georgi Guninski <[email protected]> wrote: > > On mathoverflow [1] there is conjecture about the nearest integer to > [zeta^(k)(1-1/B)]=-B^(k+1)*factorial(k) > > Answer of controversial theoretic result claims the explicit > numerical counterexample k=41,B=2 > > I couldn't compute the counterexample on mpmath with high precision > due to internal error, that is wierd; using python as an interface to mpmath it gives languasc@languasc-macmini Desktop % python3 conj.py 70 ------ precision 70 value = 3.0 languasc@languasc-macmini Desktop % python3 conj.py 80 ------ precision 80 value = 3.0 The point is that these quantities are large (their order of magnitude is about 10^62) but their sum is tiny. So you need to choose a sufficiently large precision to perform the computation. The python-mpmath script I wrote is at the bottom of this file. An alternative code for gp is the following ? \p100 realprecision = 115 significant digits (100 digits displayed) ? K=41 %2 = 41 ? B=2 %3 = 2 ? round(zetahurwitz(1-1/B,1, K))+B^(K+1)*factorial(K) %5 = 3.000000000000000000000000000000000000000000000000000000000 Best regards Alessandro Languasco > but pari agrees the counterexample is correct: > > K=41;B=2;T=derivnum(X=1-1/B,zeta(X),K);(round(T)+B^(K+1)*factorial(K)) > %16 = 3.00.... > > Is it plausible that the pari computation is correct with high (what?) > precision? > > What other CAS say about it? > > [1]: https://mathoverflow.net/questions/404779/on-the-nearest-integer-to-zetak1-1-b-b-ge-2 -------------------------------------------------------------- import sys defaultprecision = sys.argv[1] import mpmath as mp # function z def z(s,a,k): y = mp.zeta(s,a,k) return y # print("Give me the desired accuracy (# of decimal digits): ") # defaultprecision = input(); defaultprecision = int(defaultprecision); #print(defaultprecision); mp.mp.dps = defaultprecision; mp.mp.pretty = True print("------ "); print("precision ", defaultprecision); B=2 K=41 print("value = ", mp.nint(z(1-1/B,1,K))+ mp.power(B,K+1)*mp.fac(K));