Riemann-Siegel Theta Function Approximation

1. marcusmath

16
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
$$\theta\left(x\right) = arg\left(\Gamma\left(\frac{2ix+1}{4}\right)\right)-\frac{xln\pi}{2}$$
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. hamster143

986
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:

$$\Pi(s-1) = \Gamma(s)$$

B's are Bernoulli's numbers.

3. marcusmath

16
Thank you so much, Stirling's series is just what I needed :)