Li's Criterion

Author

Eric W. Weisstein
February 10, 2019

This notebook downloaded from http://mathworld.wolfram.com/notebooks/Constants/LisCriterion.nb.

For more information, see Eric's MathWorld entry http://mathworld.wolfram.com/LisCriterion.html.

©2019 Wolfram Research, Inc. except for portions noted otherwise

Closed forms

D (sum)

Evaluates much more quickly than Derivative version

λ[n_]:=λ[n]=FullSimplify[Limit[(1/((n-1)!))D[(s^(n-1))Log[RiemannXi[s]],{s,n}],s->1]]

Limit[(1/((n-1)!))D[(s^(n-1))Log[RiemannXi[s]],{s,n}],s->1]

Table[(1/((n-1)!))D[(s^(n-1))Log[RiemannXi[s]],{s,n}],{n,4}]//FullSimplify//Column//TraditionalForm

Derivative

λDerivative[n_]:=λDerivative[n]=FullSimplify[Limit[(1/((n-1)!))Derivative[n][((#)^(n-1))Log[RiemannXi[#]]&][s],s->1]]

λDerivative[n]

Table[(1/((n-1)!))Derivative[n][((#)^(n-1))Log[RiemannXi[#]]&][s],{n,4}]//FullSimplify//Column//TraditionalForm

Numeric

Table[λ[n],{n,4}]//N

<<NumericalCalculus`

lambdas=Table[(1/((n-1)!))ND[(x^(n-1))Log[RiemannXi[x]],{x,n},1+-1*^-10],{n,12}]

lambdas=Table[(1/((n-1)!))ND[(x^(n-1))Log[RiemannXi[x]],{x,n},1+1*^-10],{n,12}]

With[{n=2},NLimit[(1/((n-1)!))Derivative[n][((#)^(n-1))Log[RiemannXi[#]]&][s]//FullSimplify,s->1]]

Values

$Version

Coffey  (eta sums)

Clear[eta,lambda]

eta[0]=-EulerGamma;
eta[n_]:=eta[n]=Expand[(((-1))^(n+1))(((n+1)/(n!))StieltjesGamma[n]+Sum[((((-1))^(k-1))/((n-k-1)!))eta[k]StieltjesGamma[n-k-1],{k,0,n-1}])]

Array[eta,10]//N

lambda[n_]:=lambda[n]=Expand[-Sum[Binomial[n,m]eta[m-1],{m,n}]+Sum[(((-1))^m)Binomial[n,m](1-(2^(-m)))Zeta[m],{m,2,n}]+1-(1/2)n(EulerGamma+Log[π]+2Log[2])]

Array[lambda,10]//N

lambda[1]//TraditionalForm

lambda[2]//TraditionalForm

lambda[3]//TraditionalForm

Do[Print[{i,{t,res}=N[lambda[i],20]//Timing;res,N[eta[i],20],t}],{i,100}]

D

λ[n_]:=λ[n]=FullSimplify[Limit[(1/((n-1)!))D[(s^(n-1))Log[RiemannXi[s]],{s,n}],s->1]]

λ[1]//Timing

λ[2]//Timing

λ[3]//Timing

λ[4]//Timing

λ[5]//Timing

λ[6]//Timing

λ[7]//Timing

λ[8]//Timing

λ[9]//Timing

...ran ~2 CPU-days...

Derivative

λDerivative[n_]:=λDerivative[n]=FullSimplify[Limit[(1/((n-1)!))Derivative[n][((#)^(n-1))Log[RiemannXi[#]]&][s],s->1]]

λDerivative[1]//Timing

λDerivative[2]//Timing

λ[3]//Timing

λDerivative[4]//Timing

λDerivative[5]//Timing

λDerivative[6]//Timing

λDerivative[7]//Timing

...ran overnight...

Fit

lambdas=Array[lambda,50];

Nlambdas=N[lambdas,20]

TextGrid[MapIndexed[{#2[[1]],#}&,Nlambdas]]

fit8=FindFit[Take[Nlambdas,8],model=a x^2,a,x]

fit9=FindFit[Take[Nlambdas,9],model=a x^2,a,x]

fit10=FindFit[Take[Nlambdas,10],model=a x^2,a,x]

pl1=Plot[model/.fit10,{x,0,10.5},Epilog->{Red,PointSize[.02],Point[MapIndexed[{#2[[1]],#}&,Nlambdas]]},AxesLabel->{n,Subscript[λ,n]},LabelStyle->Directive[Black,FontFamily->"Times"]]

fit=FindFit[Nlambdas,model=a x^2,a,x]

pl2=Plot[model/.fit10,{x,0,Length[Nlambdas]+1},Epilog->{Red,PointSize[.02],Point[MapIndexed[{#2[[1]],#}&,Nlambdas]]},AxesLabel->{n,Subscript[λ,n]},LabelStyle->Directive[Black,FontFamily->"Times"]]

fit=FindFit[Nlambdas,model=a+b x+c x^2+d x^3,{a,b,c,d},x]

pl3=Plot[model/.fit,{x,0,Length[Nlambdas]+1},Epilog->{Red,PointSize[.02],Point[MapIndexed[{#2[[1]],#}&,Nlambdas]]},AxesLabel->{n,Subscript[λ,n]},LabelStyle->Directive[Black,FontFamily->"Times"]]

GraphicsRow[{pl1,pl2}]

Coffey Constants

eta[k_,N_]:=((((-1))^k)/(k!))(Sum[((MangoldtLambda[m])/m)((Log[m])^k),{m,2,N}]-(((Log[N])^(k+1))/(k+1)))

Sum[((MangoldtLambda[m])/m)((Log[m])^k),{m,2,∞}]

eta[0,N]

eta[0,10^3]//N

eta[0,10^4]//N

eta[0,10^5]//N//Timing

eta[0,10^6]//N//Timing

EulerGamma//N