Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

How to calculate a zero of the Reimann zeta function?

  1. Mar 21, 2005 #1
    I've read several recent books on the RH for the lay audience. However, none show how to actually calulate a zero of the Reimann zeta function. For example, how does one calculate:

    I would really like to know an algebraic expression to do this? Possible?
    My level of math is that of a typical engineer (including 1 semester of complex analysis). My understanding of infinite series is shakey at best.

    Thanks is advance.
  2. jcsd
  3. Mar 21, 2005 #2


    User Avatar
    Science Advisor
    Homework Helper

    These aren't found algebraically. If you set [itex]\vartheta(t)=-\frac{t}{2}\log{\pi}+\Im (\log \Gamma(\frac{1}{4}+\frac{it}{2}))[/itex], then it turns out the function [itex]Z(t)=e^{i\vartheta(t)}\zeta(\frac{1}{2}+it)[/itex] is real for real t (this comes from the functional equation) and has zeros corresponding to the zeros of zeta on the critical line..

    Sinze Z(t) is real (for real t) we can find it's zeros by looking for changes in it's sign. If you've shown Z(14.13)<0<Z(14.14) you know you have a zero of zeta at 1/2+i14.13... You're really just homing in on the zeros.

    You can use stirling series on the [tex]\vartheta[/tex] part and approximate [itex]\zeta(\frac{1}{2}+it)[/itex] in your favorite way (Euler-Maclaurinn summation being simplest). Since you're only worried about the sign of Z(t) it makes things a little easier. You might want to look up the Riemann-Siegel formula as well.

    The way we've constructed Z(t) lets us guarantee zeros in certain ranges lie on the critical line. If you want to prove the riemann hypothesis up to a certain height T, you can first count exactly the number of zeros in the critical strip up to this height. This can be done without actually finding any (have you seen the Riemann-von Mangoldt formula?). Then if you can find that many zeros using this Z(t) business you're done. Of course these kinds of calculations can never prove RH (they could eventially disprove it though, if it's false)

    Anyways, if you want details on recent fast algorithms for this sort of thing, Andrew Odlyzko's website is probably a good place to start. You can find the 'crude' basics in something like Titchmarsh or Edwards books on the Zeta function. Edwards might be better with your background and interest, and a good choice for furthur reading if you've read Derbyshire's layman's book as it was his main reference (so most notations shold look familiar). It's also very cheap and contains a translations of Riemanns original paper.

    It's also worth pointing out that the list you have is just approximate values for the imaginary parts of the zeros. I don't know if anything has been done in this direction, but I believe that the imaginary parts will all be at least irrational. I don't really have anything to base this on except the piles of zeros computed to quite a few decimal places (see Odlyzko's site) don't look like they plan to terminate or repeat anytime soon!

    edit-here's a nice website about this:
    http://www.math.ubc.ca/~pugh/RiemannZeta/RiemannZetaLong.html [Broken]
    and Odlyzko's site:
    Last edited by a moderator: May 1, 2017
  4. Mar 21, 2005 #3
    shmoe, thank you so much. I went to the websites you mentioned...very cool. The equation for theta(t) looks ugly, but I like the idea of real Z(t). I'll investigate the site further. I'll purchase Edwards...I'll dig a little deeper. BTW, is this forum usually the best for RH type questions/dialog?

    Again, thanks so much.
  5. Mar 21, 2005 #4


    User Avatar
    Science Advisor
    Homework Helper

    Gah, just noticed a few typos in what I wrote for [tex]\vartheta[/tex], sorry. The fancy I, [tex]\Im[/tex] that's there now is the imaginary part of the log gamma bit. This function is actually pretty simple to approximate as things go. Gamma function has the nice stirling series to work with, so there's generally no reason to be afraid of them.

    Edwards has the added benefit of being very cheap (it's published by dover now). I'm expecting that someone with an engineering background won't find it impenetrable, but it wouldn't hurt if you had a look at it before you buy. I do expect you will get something out of it.

    I don't know of any forums that are dedicated specifically to this sort of thing, the audience is pretty small. There's a distributed computing project doing work with the zeros, zetagrid I believe. I don't know if they have a forum or something similar though, but it might be worth looking for. If you haven't already, you might want to search here for 'riemann' or 'zeta', there may be something of interest to you.
  6. Nov 27, 2008 #5
    You can find where the zeros of the Riemann zeta function are on the critical line Re(s)=1/2 by using the Riemann-Siegel formula. You can perform a good approximation of this formula on a calculator.

    The Riemann-Siegel formula is a function that is positive where the Riemann zeta function is positive and negative where zeta is negative. Thus, wherever the sign of Riemann-Siegel changes, there must be a zero of the Riemann zeta function within that range.

    The Riemann-Siegel formula is

    Z(t) = 2{sum_n=1 to N}[1/sqrt(n)]*[cos(theta(t)-t*log(n)] + R

    t is the coefficient of the imaginary part in the variable s = 1/2 + it.
    log is the natural log ("ln" on a calculator).
    The cosine is taken in radians, not degrees, so set your calculator for that.

    N is the integer part of sqrt(t/2pi). Thus the size of sqrt(t/2pi) determines the number of terms there will be in the sum on the right hand side of the equation of Z(t). The larger the value of t, the more terms you must calculate. The first three zeros, at t=14.13..., 21.02..., 25.01..., only require one term (N=1). The next nine zeros, up through t=56.446..., require only two terms (N=2).

    The remainder R is where we use the fractional part of sqrt(t/2pi), which is called p. The formula for R is given below.

    The first step of the calculation is to estimate theta(t). Fortunately you can get a very good approximation using just a few terms of the series

    theta(t) = (t/2)*log(t/2pi) - t/2 - pi/8 + 1/48t....

    This is all you need because the next term is 7/(5760t^3), which is extremely small even for the first zero at t=14.13..., followed by even smaller terms beyond that.

    So you find theta(t) with the short series above, subtract t*log(n) -- which is zero for the first term n=1 -- and take the cosine. For N=1 this is all you need, because the factor 1/sqrt(n) = 1. For N=2, you go back and take theta(t), subtract t*log(2), take this cosine, and multiply by 1/sqrt(2). Add this n=2 value to the n=1 value. Once you have your sum of all the terms, multiply it by 2.

    Now we have to add the remainder R. The first term of the series for R gives a good enough approximation for our purposes. Recall that p is the fractional part of sqrt(t/2pi). Then we have

    R = (-1)^(N-1) * (t/2pi)^(-1/4) * [cos(2pi[p^2-p-1/16])/cos(2pi*p)]

    There are more terms in the series inside the last bracket, but the next one is already extremely small: it is the value in the bracket above, cubed, times -1/96pi^2, times (t/2pi)^(-1/2). We can ignore it and find a zero of zeta to within a couple decimal places. Note that for N=1, the first term (-1)^(N-1) = 1, while for N=2, it is -1.

    Add the remainder R to 2 times the sum we calculated above, and we have our estimate of Z(t). When you find a positive Z(t) and a negative Z(t), that means there is a zero of the Riemann zeta function between the two values of t.

    Here are the calculations that show that there is a zero between t=14.13 and t=14.14:

    theta(14.13) = (14.13/2)*log(14.13/2pi) - 14.13/2 - pi/8 + 1/(48*14.13) = -1.73053...
    For n=1, t*log(n) is zero, so we just take the cosine of this value.
    cos(-1.73053) = -0.159055...
    Again, for n=1, the 1/sqrt(n) factor is 1, so we now have the n=1 term of the sum.
    Since N=1 for this value of t, we have our sum.
    Multiply by 2 to get -0.3181...

    Now we have to add the remainder term R. N=1, so the first term (-1)^(N-1) = 1. The fractional part of sqrt(14.13/2pi) = 0.4996... = p.

    R = (14.13/2pi)^(-1/4) *
    [cos(2pi[0.4996^2 - 0.4996 - 1/16]) / cos(2pi*0.4996)]

    This gives us R=0.31250...

    Thus we get Z(14.13) = -0.3181 + 0.31250 = -0.0056...

    Now we do the same calculations for t=14.14.

    theta(14.14) = (14.14/2)*log(14.14/2pi) - 14.14/2 - pi/8 + 1/(48*14.14) = -1.72653...
    cos(-1.72653) = -0.155105...
    Since n=N=1, this is our sum, so we multiply by 2 to get -0.3102...

    Now we calculate R. The fractional part of sqrt(14.14/2pi) = 0.50015... = p.

    R = (14.14/2pi)^(-1/4) *
    [cos(2pi[0.50015^2 - 0.50015 - 1/16]) / cos(2pi*0.50015)]

    This gives us R = 0.31244...

    Thus we get Z(14.14) = -0.3102 + 0.31244 = 0.00224...

    Since Z(14.13) is negative and Z(14.14) is positive, we know there must be a zero of the Riemann zeta function between t=14.13 and t=14.14.

    Note that if we had omitted the small term 1/48t of the series for theta(t) for t=14.14, which is 0.00147..., we would have gotten an incorrect negative value for Z(14.14). To locate the zeros of zeta to more decimal places, we have to use more terms of the series for theta(t) and/or the series for the remainder R.
  7. Feb 23, 2010 #6
    I have followed these calculations and have found approx values for Z for values of t from 14.0 to 50.0 at intervals of 0.2t which has enabled me to find several approx zeroes of the zeta function. I would like to calculate Z to more decimal places and have followed the calculations described in Edwards Riemann Zeta Function Dover edition pages 155to 160 which involves using the coefficients C1, C2, C3,.....and the table of coefficients on page 158. I understand how to use these tables but do not understand how Haselgrove determined these coefficients---they appear to be derived from ratios of Taylor series expansions?? I would be grateful if someone could explain this.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook