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

Riemann-Siegel Theta Function Approximation

  1. Oct 28, 2009 #1
    This is my first post on the physicsforums so go easy on me :)

    I am writing a simple program to generate the zero's of the Riemann zeta function accurately.
    However I need the first say, ten terms of the theta function
    [tex]\theta\left(x\right) = arg\left(\Gamma\left(\frac{2ix+1}{4}\right)\right)-\frac{xln\pi}{2}[/tex]
    to get an acceptably accurate answer.

    Wikipedia gives an approximation here;
    http://en.wikipedia.org/wiki/Riemann%E2%80%93Siegel_theta_function" [Broken]
    but I need a larger expansion of the series
    I tried to get MATLAB to generate the terms but am having no luck,

    The algorithm is basically using Siegels Z-function and detecting a change of sign.
    However, as the language I am using (a very basic pseudocode) is incapable of calculating the gamma function, I need the theta function to be expanded in the way it has been on the wiki page but with more terms so the algorithm can calculate the value approximately.

    Sorry if this doesn't really make sense, but I am hoping someone here can help.
    Last edited by a moderator: May 4, 2017
  2. jcsd
  3. Oct 29, 2009 #2
    The expansion you need is derived by expanding the gamma function as a power series and then doing some monotonous algebra. To implement it on the computer, I'd skip that step altogether and calculate the gamma directly using Stirling's series, and then plug the result into the expression for theta. You can find the expansion of gamma in Edwards "Riemann's zeta function", page 109:


    Note the difference in notation:

    [tex]\Pi(s-1) = \Gamma(s)[/tex]

    B's are Bernoulli's numbers.
  4. Oct 29, 2009 #3
    Thank you so much, Stirling's series is just what I needed :)
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook