Help:=proc(): end: #C12.txt, Feb. 26, 2018, Experimental Mathematics (Rutgers), Spring 2018 read `zero10.txt`: Help:=proc(): print(`CheckP50L5(A), Mk(k,T), OurInt(f,x,a,b,N),MkF(k,T,N) , deltn(n), HM(N,K) `): end: #Checks the <= on p. 50 lines 4-5 of H. Iwaniec's book "Lectures on the Riemann Zeta Function". It is wrong! He probably meant << rather than <= #If it was right the output should always be <=1 CheckP50L5:=proc(A) local m,n,L,R: L:=add(add(abs(A[m]*A[n])/(log(m)-log(n))^2,m=1..n-1), n=1..nops(A))+ add(add(abs(A[m]*A[n])/(log(m)-log(n))^2,m=n+1..nops(A)), n=1..nops(A)): R:=add( abs(A[n])^2*add(m^2/(n-m)^2 ,m=1..n-1),n=1..nops(A)): evalf(L/R): end: #Mk(k,T):The k-th moment of Zeta(1/2+i*t) from t=0 to t=T divided by T Mk:=proc(k,T) : evalf(Int(abs(Zeta(1/2+I*t))^k,t=0..T)/T): end: #OurInt(f,x,a,b,N): very naive numerical integration, by dividing it into N rectangles OurInt:=proc(f,x,a,b,N) local L,eps: eps:=(b-a)/N: convert([seq(subs(x=a+eps*(i+1/2) , f),i=0..N-1)],`+`)*eps: end: #MkF(k,T,N):The k-th moment of Zeta(1/2+i*t) from t=0 to t=T divided by T, done by cheating MkF:=proc(k,T,N) : evalf(OurInt(abs(Zeta(1/2+I*t))^k,t,0,T,N)/T): end: #deltn(n):The spacing between the (n+1)-th non-trivial and gamma_n:=n-th non--trivial of #Zeta(n) times log(gamma[n]/(2*Pi)) /(2*Pi) deltn:=proc(n) local g1,g2: g1:=Z10[n]: g2:=Z10[n+1]: evalf((g2-g1)*log(g1/(2*Pi))/(2*Pi)): end: #HM(N,K): the list of partial sums delt(n)+...+delt(n+k) for k from 1 to K HM:=proc(N,K) local k,L,su: if N+K>=10^5 then RETURN(FAIL): fi: L:=[]: su:=0: for k from 0 to K do su:=su+deltn(N+k): L:=[op(L),su]: od: L: end: