## Euler-Maclaurin summation for high-precision zeta computation

I wrote about this yesterday in more detail in sci.math .

Using 1st formula of Section 6.4 in H. M. Edwards’ book “Riemann’s Zeta Function”.

Attempting to find near-optimal parameters N and ‘nu’ so

as to minize time to compute zeta(1/2 + i*14.13…).

This case: 60,000 decimal digits precision after “0.” required.

Tested:

N = 30,000 and ‘nu’ = 35000.

Time spent on computation: 15 hours 17 minutes,

line before output %671 below.

? write(rho1b60k, s802);

? s=s802;

? t=0; q=s/(2*N*exp(s*log(N))); for(X=1,khyber,t=t+bernfrac(2*X)*q;q = q*((s+2*X-1)*(s+2*X)/(N*N))/((2*X+1)*(2*X+2)) );t = t + exp((1-s)*log(N))/(s-1) + exp(-s*log(N))/2 ; g = sum(X=1,N-1,exp(-s*log(X))); z2 = t+g; abs(z2)

time = 15h, 16min, 39,337 ms.

%671 = 5.131221963508608095 E-60010

? N

%672 = 30000

? khyber

%673 = 35000

$ date

Sat Feb 16 12:59:32 EST 2013

We have a lower time of computation of 14 hours 26 min

when, in the notation of H.M. Edwards’ in his book,

N = 32,000 and ‘nu’ = 32,405 :

? N

%682 = 32000

? khyber

%683 = 32405

? t=0; q=s/(2*N*exp(s*log(N))); for(X=1,khyber,t=t+bernfrac(2*X)*q;\

q = q*((s+2*X-1)*(s+2*X)/(N*N))/((2*X+1)*(2*X+2)) );\

t = t + exp((1-s)*log(N))/(s-1) + exp(-s*log(N))/2 ; \

g = sum(X=1,N-1,exp(-s*log(X))); z2 = t+g; abs(z2)

%684 = 2.777212228894781921 E-60007

time = 14h, 25min, 44,279 ms.

————————————

Mon Feb 18 06:38:42 EST 2013

meditationataeFebruary 18, 2013 at 11:39 am

The choice N = 33000 produces a marginally better time:

? N

%11 = 33000

? khyber

%12 = 31560

? t=0; q=s/(2*N*exp(s*log(N)));

? for(X=1,khyber,t=t+bernfrac(2*X)*q; q = q*((s+2*X-1)*(s+2*X)/(N*N))/((2*X+1)*(2*X+2)) ); t = t + exp((1-s)*log(N))/(s-1) + exp(-s*log(N))/2 ; g = sum(X=1,N-1,exp(-s*log(X))); z2 = t+g; abs(z2)

time = 14h, 15min, 18,468 ms.

%14 = 9.774170032632170803 E-60000

$ date

Thu Feb 21 17:04:09 EST 2013

meditationataeFebruary 21, 2013 at 10:04 pm