Riemann-Siegel Theta Function Approximation

  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
    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.
    Thankyou
     
    Last edited: Oct 28, 2009
  2. jcsd
  3. 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:

    http://books.google.com/books?id=5u...lient=firefox-a&pg=PA109#v=onepage&q=&f=false

    Note the difference in notation:

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

    B's are Bernoulli's numbers.
     
  4. Thank you so much, Stirling's series is just what I needed :)
     
Know someone interested in this topic? Share a link to this question via email, Google+, Twitter, or Facebook

Have something to add?