.de TP .rs .sp |1i .. .EQ delim $$ gsize 11 .EN .S 11 .ds HP 11 11 11 .ds HF 3 3 .am DE .sp .25 .. .am DS .ll 4.19i .. .am FS .ll 4.19i .. .ll 7i .nr W 7i .po -.7i .ce 99 SUPERCOMPUTERS AND THE RIEMANN ZETA FUNCTION .sp 2 \f2A. M. Odlyzko\f1 .sp AT&T Bell Laboratories Murray Hill, New Jersey 07974 .ce 0 .sp 2 .po +.2i .nr W 4.19i .ll 4.19i .de TP .rs .sp |.3i .. .bp .pl 9.8i .ls 1 .P 0 \f2ABSTRACT\f1 .sp .25 .P The Riemann Hypothesis, which specifies the location of zeros of the Riemann zeta function, and thus describes the behavior of primes, is one of the most famous unsolved problems in mathematics, and extensive efforts have been made over more than a century to check it numerically for large sets of cases. Recently a new algorithm, invented by the speaker and A. Scho\*:nhage, has been implemented, and used to compute over 175 million zeros near zero number $10 sup 20$. The new algorithm turned out to be over 5 orders of magnitude faster than older methods. The crucial ingredients in it are a rational function evaluation method similar to the Greengard-Rokhlin gravitational potential evaluation algorithm, the FFT, and band-limited function interpolation. While the only present implementation is on a Cray, the algorithm can easily be parallelized. .sp .H 1 "Introduction and History" The Riemann zeta function is defined for complex values of $s$ with $roman Re (s) ^>^1$ by .DS 2 .EQ (1.1) zeta (s) ~=~ sum from n=1 to inf ~ 1 over {n sup s} ^, .EN .DE and it can be continued analytically to the entire complex plane with the exception of $s=1$, where it has a first order pole. The zeta function was actually first defined by Euler in the first half of the eighteenth century\ [2,\|26]. Euler's work was motivated by the problem of evaluating .DS 2 .EQ sum from n=1 to inf ~ 1 over {n sup 2} ^, .EN .DE (which is $zeta (2)$ in our notation), which was posed in the seventeenth century by Mengoli. Euler eventually showed that $zeta (2)^=^ pi sup 2 /6$, but some of his initial efforts went into numerically evaluating $zeta (2)$ and involved development of what is now called the Euler-Maclaurin formula. This was the first of many connections between numerical analysis and the zeta function. .P Euler found some important relations between the zeta function and primes, but it was only Riemann in the 1850's who showed the full extent of these connections. In particular, Riemann showed that the distribution of primes is determined by the \f2nontrivial zeros\f1 of $zeta (s)$; i.e., those zeros of $zeta (s)$ that lie in the strip $0^<^roman Re (s) ^<^1$ (called the critical strip). Riemann further conjectured that all of the nontrivial zeros lie on the \f2critical line\f1, $roman Re (s)^=^1/2$. This conjecture, known as the \f2Riemann Hypothesis\f1 (RH), is probably the most important unsolved problem in mathematics. (For general background and history, see [9].) .P Given the importance of the RH, it is not surprising that many attempts have been made to check it numerically for various sets of zeros. Since $rho bar$ is a zero of $zeta (s)$ whenever $rho$ is, we consider only the nontrivial zeros $rho$ with $roman Im ( rho ) ^>^0$, and number them $rho sub 1 ,^rho sub 2 ,^"..."$, so that .DS 2 .EQ 0 ~<~ roman Im ( rho sub 1 ) ~<=~ roman Im ( rho sub 2 ) ~<=~... ^. .EN .DE (In case of multiple zeros, they have to be counted according to their multiplicity.) The RH is the equivalent to the claim that each $rho sub n^=^1/2^+^i ^gamma sub n$, where $gamma sub n$ is real. A partial list of the most important numerical verifications of the RH is given in Table\ 1. The number in parentheses refers to the date of publication, and the $n$ entry denotes that the RH has been checked for the first $n$ zeros, so that $gamma sub 1 ,^gamma sub 2 ,^"...",^gamma sub n$ are real. This means not just that the $gamma sub n$ are real to within some bound, like $10 sup -20$, but that they are actually real. It is possible to establish this rigorously, assuming of course that the programs and hardware are correct, due to some special properties of the zeta function. For a fuller history of these computations, see [9,\|21]. .P There were two main innovations that were introduced in the computations listed in Table\ 1. One was a change in technology; starting with the work of A. Turing, all computations were performed on electronic digital computers, as opposed to paper and pencil or the electromechanical devices of earlier workers, with the latest result, the verification of the RH for the first $1.5 times 10 sup 9$ zeros by van\ de\ Lune, te Riele, and Winter [17] taking about 1500 hours on a Cyber 205. The other innovation was in algorithms, and was at least as important. The computations of Gram, Backlund, and Hutchinson used a method for computing the zeta function that is based on the Euler-Maclaurin formula. It is effective, but not very efficient, since to compute a single value of $zeta (1/2 ^+^it)$ with this method takes on the order of $t$ steps. (The \%$n$-th zero $1/2 ^+^i^gamma sub n$ has $gamma sub n ^wig ^2 pi n/ ( log ^n)$, with the $1.5 times 10 sup 9$-th zero having $gamma sub n ^approx^5 times 10 sup 8$.) Starting with the work of Titchmarsh, a much more efficient algorithm has been employed. As it turns out, this was not a new invention, but rather a discovery by C.\ L. Siegel [25] in Riemann's unpublished notes of a method now known as the Riemann-Siegel formula. This method was already used by Riemann to compute at least the first few zeros of the zeta function, and the results of these computations may have been a crucial factor in stimulating him to make the RH. .P The Euler-Maclaurin formula is a very general technique that applies to many summations. In contrast, the Riemann-Siegel formula relies on special properties of the zeta function. It is much more efficient in that only about $sqrt t$ operations are needed to evaluate $zeta ( 1/2 ^+^it )$, in contrast to the roughly $t$ operations needed by the Euler-Maclaurin method. For computations near the \%$10 sup 9$-th zero, the gain in efficiency is about 4 orders of magnitude. .P Recently A. Scho\*:nhage and the author [19,\|24] have invented an even faster method for computing large sets of zeros of the zeta function. In time roughly $sqrt T$, it enables one to compute up to $B$ zeros, where $B^^tau$. As is shown in [22], this yields a very efficient method for computing $G(t)$ from the $G( n pi / beta )$. .P We next consider the problem of evaluating $F(t)$, $F(T+ delta ) ,^"...",^F(T+ (R-1) delta )$. We need to find a method that requires substantially fewer than $Rk sub 1$ operations to compute all these values. The first step is to apply the discrete Fourier transform. We let .DS 2 .EQ (2.5) h sub k ~=~ sum from j=0 to R-1 ~ F(T + j delta ) ~exp ( 2 pi ij / R) , ~~0^<=^k^<^R ^. .EN .DE If $R$ is chosen appropriately (say $R^=^2 sup r$), then the $F(T+ j delta )$ can be computed efficiently from the $h sub k$ using the FFT. (In the current implementation, the FFT routines that were used were those of Bailey [3]. They consume a negligible fraction of the total computing time.) Thus we reduce to the problem of computing all the $h sub k$ efficiently. .P To compute the $h sub k$, which consumes most of the time, we note that when we put in the definition (2.1) of $F(t)$ into (2.5), we obtain $h sub k ^=^ h ( exp ( 2 pi ik / R ))$, where .DS 3 .EQ h(z) mark ~=~ sum from k=2 to {k sub 1} ~ {a sub k} over {z- b sub k} ^, .EN .EQ (2.6) ~~ .EN .EQ b sub k lineup ~=~ exp ( i delta ^log^k ) ^, .EN .DE and the $a sub k$ are certain complex constants. The straightforward term-by-term evaluation of the series (2.6) takes $approx^k sub 1$ steps for each $k$, which takes $approx^Rk sub 1$ steps in all, and offers no saving over the standard evaluation of the Riemann-Siegel formula. However, there is a way to compute all of $h sub k$ simultaneously in $O(k sub 1 ( log^k sub 1 ) sup 2 )$ operations (for $R^