(s) are simple and lie on the line Re(s) =
. Thus, the Riemann
Hypothesis is true at least for all |Im(s)| < 29, 538, 618, 432.236.
This report presents specific results which were obtained during the numerical verification of the Riemann Hypothesis. Therefore, we recommend the reader to study the four papers by Brent [3], Brent et al. [4], and van de Lune et al. [13], [14] for an easy understanding of this report and the notation.
Starting in Febrary 2001, we transferred the source code of van de Lune, te Riele, and Winter [12] from FORTRAN/COMPASS to C++, enabling us to use the program on different workstations and PCs. Similarly, our program used a very fast and efficient method and a 120 times slower but very accurate method. Especially for the x86 processor and the fast method, the evaluation of the sum

was written in Assembler which is part of the Riemann-Siegel formula for the
real-valued function Z(t) with accurate IEEE floating-point arithmetic, since this needs
about 78.7% of the running time. About 21% of the running time was spent for the
slower method on evaluating Z(t) with twice the precision of IEEE double (106 mantissa
bits) using Briggs’ C++ doubledouble package [5]. Our main difference in the
fast method is that we evaluate a rigorous lower and upper bound for Z(t)
simultaneously, which made the error analysis more simple than the error analysis of
the paper [12]. Let
(t,k) be the computed value of l(t,k) and let
(d) be the
approximated cosine-values of cos(2
. d/220) for 0 < d < 220 then the value of L(t) is
between

and

Mainly, the strategy in our program of searching for sign changes of Z(t) in Rosser blocks of length greater than or equal to 2 based on the method of Rosser et al. [17] where many details are described in [12]. Therefore, the average number of Z-evaluations, needed to separate a zero from its predecessor, is about 1.26 which is nearly the same as in [12]. The different search routines which determine the missing zeros in a Rosser block by Rosser’s rule are improved by recognizing a local minimum and maximum value of Z(t) in the search interval before using a grid of increasing refinement to search again in the same interval, if the “missing two” (zeros) are not found. Moreover, to handle the failures to Rosser’s rule, we used a simple method which searches for two additional sign changes in the previous two Rosser blocks Bn-1, Bn-2 and the next two Rosser blocks Bn+1, Bn+2 in zig-zag manner - moving from the center of the blocks towards their periphery - if an exception to Rosser’s rule occurs in the Rosser block Bn. If the method looks just in one previous Rosser block, then we have the first exception for n = 53,365,784,979 (S(t) = 3.0214). Also, if the method looks just in one next Rosser block, then we have the first exception for n = 67,976,501,145 (S(t) = -3.2281).
In August 2001, we started the project “ZetaGrid” as Internet Computing inside the Intranet of IBM Corporation [24], and in August 2002, we extended this project for the Internet. So that there are more than 800 office computers/notebooks involved in this computation. These computers spend all of their idle time to the computation. Beside the mathematical correctness of this computation, the main challenges in the ZetaGrid computations were data management, data analysis, and social factors.
An historical overview of the number of computed zeros gives the following table:
| Year | Author | Source | n | T(n)
|
| 1903 | J. P. Gram | [6] | 15 | 65.801 |
| 1914 | R. J. Backlund | [1] | 79 | 199.649 |
| 1925 | J. I. Hutchinson | [7] | 138 | 300.468 |
| 1935 | E. C. Titchmarsh | [22] | 1, 041 | 1, 467.477 |
| 1953 | A. M. Turing | [23] | 1, 104 | 1, 539.742 |
| 1956 | D. H. Lehmer | [10] | 15, 000 | 14, 041.137 |
| 1956 | D. H. Lehmer | [11] | 25, 000 | 21, 942.593 |
| 1958 | N. A. Meller | [16] | 35, 337 | 29, 750.168 |
| 1966 | R. S. Lehman | [9] | 250, 000 | 170, 570.745 |
| 1968 | J. B. Rosser, J. M. Yohe, | |||
| L. Schoenfeld | [17] | 3, 500, 000 | 1, 893, 193.452 | |
| 1977 | R. P. Brent | [2] | 40, 000, 000 | 18, 114, 537.803 |
| 1979 | R. P. Brent | [3] | 81, 000, 001 | 35, 018, 261.243 |
| 1982 | R. P. Brent, J. van de Lune, | |||
| H. J. J. te Riele, D. T. Winter | [4] | 200, 000, 001 | 81, 702, 130.190 | |
| 1983 | J. van de Lune, H. J. J. te Riele | [13] | 300, 000, 001 | 119, 590, 809.282 |
| 1986 | J. van de Lune, H. J. J. te Riele, | |||
| D. T. Winter | [14] | 1, 500, 000, 001 | 545, 439, 823.215 | |
| 2001 | J. van de Lune | [15] | 10, 000, 000, 000 | 3, 293, 531, 632.415 |
n)| for which the
Riemann Hypothesis is true, implied by the statement H(n) that the first n nontrivial
zeros of
(s) are simple and lie on the critical line. We take T(n) equal to the (n-1)st
Gram point if this Gram point seperates the imaginary part of two consecutive nontrivial
zeros of the zeta function.
In 1988, a faster method for simultaneous computation of large sets of zeros of the zeta function was invented by Odlyzko and Sch¨onhage [21]. It has been implemented and used to compute 175 . 106 zeros near zero number 1020, 10 billion zeros near zero number 1022 and about 20 billion zeros near zero number 1023 (see [18], and [20]).
During the course of the verification of H(75,039,937,803) we accumulated various
statistics which are a continuation of the four papers by Brent [3], Brent et al. [4], and
van de Lune et al. [13], [14].
Some of these results are important for other papers, e.g. Odlyzko [19].
Our program did not explicitly search for pairs of close zeros of Z(t), but all small values
of Z(t) which were computed by the more accurate method are printed out in logging
files. Parsing all these logging files, we observed that the Rosser block Bn of length 2 and
of zero-pattern “0 2” contains the closest pair of zeros for n = 60,917,681,408 in the interval
[g0,g75,039,937,803)1.
The distance between these two zeros is about 0.0001008. Comparing their distance with
the quantity 2
/ln(tn) which is a natural measure on the distance of two consecutive
zeros tn and tn+1 of Z(t), we have

The following figure presents a graph of Z(t) in the interval [gn,gn+1):
Our program prints out all zero-patterns in files. Parsing all these files for the exceptions to Rosser’s rule with zero-pattern “0 0 0 0,” we found the following Gram indices

where the zero-pattern “0 0 0 0” is in the interval [gn,gn+4). Observing these numbers we found the largest distance between two zeros with a large positive value in the middle of these two zeros for n = 4,020,755,336 which is greater than 1.33805, and with a large negative value in the middle of these two zeros for n = 4,219,726,751 which is greater than 1.34254, respectively. A zero-pattern “0 0 0 0 0” has not yet been found, neither 5 zeros in 1 Gram interval. The following figure presents a graph of Z(t) in the interval [gn-2,gn+5) for n = 4,020,755,336:
Our program did not explicitly search for large absolute values of Z(t), although we searched for large values in the intervals with zero-pattern “0 0 0 0.” In these intervals, we found the largest positive value

for n = 63,052,468,321, and the largest negative value

for n = 25,304,589,019.2 The following figure presents a graph of Z(t) in the interval [gn-1,gn+5) for n = 50,740,831,994:
There exist a positive extreme value S(t) = 3.0214 for n = 53,365,784,979.
The following two tables give the number of Rosser blocks of length k in the interval [g0,g75,039,937,803) for strings of 1010 successive Gram intervals J(k,n + 1010) - J(k,n):


Let M(P) be the set of all Gram indices where the Rosser block has the zero-pattern P. Then the following three tables give the number and the first occurrences of a Rosser block with zero-pattern P in the interval [g0,g75,039,937,803)3:



The heuristic of van de Lune, te Riele, Winter [12] is also valid for higher ranges, i.e. the tendency of the so-called “missing two zeros” in Rosser blocks of length between 3 and 7, to lie in one of the two outer Gram intervals of the Rosser block.
First and foremost, I thank my managers Herbert Kircher, J¨org Thielges, Reinhold Krause, and Ralf Grohmann at IBM. They have given me all support needed to make this computing effort possible. I also wish to thank Andrew M. Odlyzko, Herman J. J. te Riele and Jan van de Lune for many useful suggestions. Finally, I gratefully acknowledge the participation of more than 380 persons in ZetaGrid [24].
[1] R. J. Backlund, ¨ Uber die Nullstellen der Riemannschen Zetafunktion, Dissertation, Helsingfors, 1916.
[2] R. P. Brent, The First 40, 000, 000 Zeros of
(s) Lie on the Critical Line, Notices of the
American Mathematical Society 24 (1977), A-417.
[3] R. P. Brent, On the Zeros of the Riemann Zeta Function in the Critical Strip, Mathematics of Computation 33 (1979), 1361-1372.
[4] R. P. Brent, J. van de Lune, H. J. J. te Riele, D. T. Winter, On the Zeros of the Riemann Zeta Function in the Critical Strip II, Mathematics of Computation 39 (1982), 681-688.
[5] K. M. Briggs, C++ software package ’doubledouble’, available at <http://www.btexact.com/people/briggsk2/doubledouble.html> or alternatively <http://more.btexact.com/people/briggsk2/doubledouble.html>.
[6] J. P. Gram, Note sur les zéros de la fonction
(s) de Riemann, Acta Mathematica 27
(1903), 289-304.
[7] J. I. Hutchinson, On the Roots of the Riemann Zeta Function, Transactions of the American Mathematical Society 27 (1925), 49-60.
[8] T. Kotnik, Computational Estimation of the Order of
(
+ it), preprint, 2002.
[9] R. S. Lehman, Separation of Zeros of the Riemann Zeta-Function, Mathematics of Computation 20 (1966), 523-541.
[10] D. H. Lehmer, On the Roots of the Riemann Zeta-Function, Acta Mathematica 95 (1956), 291-298.
[11] D. H. Lehmer, Extended Computation of the Riemann Zeta-Function, Mathematika 3 (1956), 102-108.
[12] J. van de Lune, H. J. J. te Riele, D. T. Winter, Rigorous High Speed Separation of Zeros of Riemann’s Zeta Function, Report NW 113/81, Mathematical Centre, Amsterdam, October 1981.
[13] J. van de Lune, H. J. J. te Riele, On the Zeros of the Riemann Zeta Function in the Critical Strip III, Mathematics of Computation 41 (1983), 759-767.
[14] J. van de Lune, H. J. J. te Riele, D. T. Winter, On the Zeros of the Riemann Zeta Function in the Critical Strip IV, Mathematics of Computation 46 (1986), 667-681.
[15] J. van de Lune, Private communication, October 27, 2001.
[16] N. A. Meller, Computations Connected with the Check of Riemann’s Hypothesis, Doklady Akademii Nauk SSSR 123 (1958), 246-248.
[17] J. B. Rosser, Y. M. Yohe, L. Schoenfeld, Rigorous Computation and the Zeros of the Riemann Zeta-Function, Information Processing 68, Proceedings of IFIP Congress (1968), 70-76.
[18] A. M. Odlyzko, The 1020-th Zero of the Riemann Zeta Function and 175 Million of it Neighbors, available at <http://www.dtc.umn.edu/~odlyzko/>, 1990.
[19] A. M. Odlyzko, An improved bound for the de Bruijn-Newman constant, Numerical Algorithms 25 (2000), 293-303.
[20] A. M. Odlyzko, The 1022-nd zero of the Riemann zeta function, in M. van Frankenhuysen, M. L. Lapidus (Eds.): Dynamical, Spectral, and Arithmetic Zeta Functions, American Mathematical Society, Contemporary Mathematics, volume 290 (2001), 139-144.
[21] A. M. Odlyzko, A. Sch¨onhage, Fast Algorithms for Multiple Evaluations of the Riemann Zeta Function, Transactions of the American Mathematical Society 309 (1988), 797-809.
[22] E. C. Titchmarsh, The Zeros of the Riemann Zeta-Function, Proceedings of the Royal Society of London 151 (1935), 234-255.
[23] A. M. Turing, Some Calculations of the Riemann Zeta-Function, Proceedings of the London Mathematical Society 3 (1953), 99-117.
[24] S. Wedeniwski, ZetaGrid - Verification of the Riemann Hypothesis, available at <http://www.zetagrid.net/>.
E-mail address: wedeniws@de.ibm.com