Master's Project COMPUTATIONAL METHODS for the RIEMANN
Total Page:16
File Type:pdf, Size:1020Kb
Master's Project COMPUTATIONAL METHODS FOR THE RIEMANN ZETA FUNCTION under the guidance of Prof. Frank Massey Department of Mathematics and Statistics The University of Michigan − Dearborn Matthew Kehoe [email protected] In partial fulfillment of the requirements for the degree of MASTER of SCIENCE in Applied and Computational Mathematics December 19, 2015 Acknowledgments I would like to thank my supervisor, Dr. Massey, for his help and support while completing the project. I would also like to thank all of the professors at the University of Michigan − Dearborn who continually teach mathematics. Many authors, including Andrew Odlyzko, Glen Pugh, Ken Takusagawa, Harold Edwards, and Aleksandar Ivic assisted me by writing articles and books about the Riemann zeta function. I am also grateful to the online communities of Stack Overflow and Mathematics Stack Exchange. Both of these communities assisted me in my studies and are helpful for all students. i Abstract The purpose of this project is to explore different computational methods for the Riemann zeta function. Modern analysis shows that a variety of different methods have been used to compute values for the zeta function and its zeroes. I am looking to develop multiple programs that will find non-trivial zeroes and specific function values. All computer implementations have been done inside the Java programming language. One could easily transfer the programs written inside the appendix to their preferred programming language. My main motivation for writing these programs is because I am interested in learning more about the mathematics behind the zeta function and its zeroes. The zeta function is an extremely important part of mathematics and is formally denoted by ζ(s). The Riemann hypothesis states that all non-trivial zeroes of ζ(s) lie on the critical line where <(s) = 1=2. It is important to note that the critical strip is the region between 0 < <(s) < 1 that contains all non-trivial zeroes. Modern research and advanced algorithms have not been able to disprove the hypothesis. Recent research has produced what is known as the Odlyzko−Sch¨onhagealgorithm. The algorithm has been used to numerically verify the first 1013 zeroes of the Riemann hypothesis. The first three programs calculate specific function values for ζ(s). My first program directly calculates ζ(s) for any value of s provided s 2 Rnf1g. This program applies the standard form of ζ(s) alongside recursion through the functional equation. The main difficulty deals with implementing a recursive method which will handle all values calculated between −1 ≤ <(s) ≤ 2. I used an alternative method known as the Cauchy−Schl¨omilch transformation. The second program handles computation of ζ(s) for all s 2 C n f1g. A summation formula known as the Abel−Plana formula calculates the zeta function for s 2 C. An integral estimate is done through what is known as adaptive quadrature. The third program calculates complex values for ζ(s) through the Dirichlet series summation formula. The fourth program applies the well known Riemann−Siegel formula. Prior to the work done inside the Odlyzko−Sch¨onhagealgorithm, this was the method of choice for finding zeroes of ζ(s). The algorithm itself is heavily dependent on locating sign changes for the Riemann−Siegel Z function which is known as Z(t). The sign changes of Z(t) directly relate to zeroes on the critical line. Loosely speaking, one can derive this formula from iθ(t) 1 a direct relationship that was originally developed by Siegel. The relationship shows that Z(t) = e ζ 2 + it . I have also decided to investigate what is known as Lehmer's phenomenon. This was found by D. H. Lehmer in 1956, the phenomenon references when two zeros of the zeta function are so close together that it is unusually difficult to find a sign change between them. The final program calculates the zeta function for integer values. Two summation formulas are referenced that calculate ζ(s) for even and odd values through the use of Bernoulli numbers. Positive even values are calculated by a summation formula originally developed by Leonard Euler. The formula states that n+1 2n ζ(2n) = (−1) B2n(2π) / 2(2n)! and is used for calculating values of ζ(s) where s ≡ 0 mod 2. Negative odd values are calculated through a similar summation formula which states that ζ(−n) = −Bn+1=(n + 1) for all n ≥ 1. There is no known formula for calculating ζ(2n + 1) where n > 1. A detailed analysis of all Java programs is discussed inside the appendix. While writing computer programs is enjoyable, it is important to point out an important proof made by G.H. Hardy in 1915. This is known as Hardy's theorem and states that an infinite amount of zeroes lie on the critical line where <(s) = 1=2. Considering we have already found 1013 zeroes, it is highly unlikely modern computers will disprove the hypothesis. ii List of Figures 2.1 The fourth derivative of ts=cosh2(t) near t =0...........................7 2.2 The power series approximation for ts=cosh2(t) near t =0.....................8 2.3 Simpson's rule versus Composite Simpson's rule . 13 2.4 Lehmer's phenomenon where 17143 ≤ t ≤ 17144 . 23 2.5 Lehmer's phenomenon where 7005 ≤ t ≤ 7006 . 24 2.6 Lehmer's phenomenon where 13999997 ≤ t ≤ 13999998 . 24 4.1 Lehmer's phenomenon where 2650984 ≤ t ≤ 2650985 . 88 4.2 Lehmer's phenomenon where 663315 ≤ t ≤ 663319 . 88 4.3 Lehmer's phenomenon where 4316832 ≤ t ≤ 4316833 . 88 iii List of Tables 4.1 Consecutive zeroes less than 0.025 apart within 0 < t < 5000000 . 64 iv Contents Acknowledgments i Abstract ii List of Figures iii List of Tables iv 1 Introduction 1 2 Theory For Zeta Programs 5 2.1 The Cauchy-Schl¨omilch transformation and zeta(s) . .5 2.2 The Abel-Plana formula for zeta(s) . .9 2.3 Dirichlet series for zeta(s) . 15 2.4 Riemann-Siegel formula for zeroes of zeta(s) . 17 2.5 Lehmer's phenomenon . 22 3 Theory For Zeta Values 25 3.1 Zeta(k) for even k . 25 3.2 Zeta(k) for odd k . 29 3.3 Some thoughts about Ap´ery'sconstant . 31 4 Appendices 35 4.1 Appendix A - Proof of the Euler Product Formula . 35 4.2 Appendix B - Derivation of the Cauchy-Schlomilch transformation for zeta(s) . 36 4.3 Appendix C - Java program overview . 37 4.4 Appendix D - CauchySchlomich.java . 41 4.5 Appendix E - RiemannSiegel.java . 45 4.6 Appendix F - AbelPlana.java . 49 4.7 Appendix G - DirichletZeta.java . 51 4.8 Appendix H - Complex.java . 53 4.9 Appendix I - BernoulliZeta.java . 61 4.10 Appendix J - Table of zeroes for Lehmer's phenomenon . 64 5 Conclusion 89 Bibliography 90 Chapter 1 Introduction The zeta function was originally introduced by Bernhard Riemann in his classic 8-paper paper [33] labeled \On the Number of Primes Less Than a Given Magnitude." In this paper, Riemann expands upon work done previously by Euler, Gauss, and Dirichlet. He starts off by considering the Euler Product Formula. 1 X 1 Y 1 ζ(s) = = 8 <(s) > 1 ns 1 − p−s n=1 p2P which can also be written as 1 X Y −1 ζ(s) = n−s = 1 − p−s n=1 p2P The RHS of the above equation is known as Euler's identity. Taking the logarithm of both sides and then differentiating produces 1 ζ0(s) X log p X X − = = (log p) p−ns ζ(s) ps − 1 p2P p2P n=1 An important trick is to recognize that Y 1 Y 1 1 1 X 1 = 1 + + + + ··· = s 2 s 3 s n1 n2 nr s 1 p (p ) (p ) (p1 p2 ··· pr ) p 1 − ps p n because p1; p2; ··· ; pr are distinct primes and n1; n2; ··· ; nr are natural numbers (see Appendix A). Euler orig- inally used the fundamental theorem of arithmetic when writing the infinite sum for P n−s. Another form of the equation above references 1 ζ0(s) X − = Λ(n) n−s ζ(s) n=1 Λ(n) is known as the von Mangoldt function and is defined as ( log p; n = pk (p is prime; k ≥ 1) Λ(n) = 0; otherwise To match what is used in modern notation, I will introduce the integral form of the gamma function. Z 1 Γ(t) = xt−1e−x dx 8 <(t) > 0 0 1 It is straightforward [16] to derive the following relationship between the zeta function and the gamma function. 1 Z 1 xs−1 ζ(s) = x dx 8 <(s) > 1 Γ(s) 0 e − 1 By applying methods from the theory of complex variables, Riemann was able to derive what is now known as the functional equation. This equation [20] is πs ζ(s) = 2sπs−1 sin Γ(1 − s) ζ(1 − s) 2 There are many different forms of the functional equation. Another form [20] is 1 − s s π−(1−s)=2Γ ζ(1 − s) = π−s=2Γ ζ(s): 2 2 Which shows that the equation itself is unchanged by substituting s ! (1 − s). A third form [20] of the functional equation is (2π)s ζ(s) = χ(s)ζ(1 − s) where χ(s) = πs 2Γ(s)cos( 2 ) 1 By defining [20] Ψ(x) as Ψ(x) = x − bxc − 2 , one may write Z 1 ζ(s) = −s Ψ(x)x−s−1dx 8 − 1 < <(s) < 0 0 The first form of the functional equation can be derived through a Fourier expansion.