Riemann-Siegel Functions

Author

Eric W. Weisstein
September 7, 2008

This notebook downloaded from http://mathworld.wolfram.com/notebooks/SpecialFunctions/Riemann-SiegelFunctions.nb.

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

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

Z(t)

<<Utilities`Plot`

Real Axis

Plot[{RiemannSiegelZ[t],Abs[Zeta[1/2+I t]]},{t,0,60},PlotStyle->{{Thickness[.01],Red},{Dashing[{.02,.02}]}},AxesLabel->{t,{RiemannSiegelZ[t],Abs[Zeta[I t+1/2]]}}]

Complex Plane

ComplexPlot3D[RiemannSiegelZ[z],{z,-10,10},PlotPoints->100]//Timing

ComplexContourPlot[RiemannSiegelZ[z],{z,-10,10}]//Timing

Definition

V7

FunctionExpand[RiemannSiegelZ[t]]

FunctionExpand[RiemannSiegelZ[t],t>0]

FullSimplify[Exp[I RiemannSiegelTheta[t]]Zeta[1/2+I t],t∈Reals]

FullSimplify[Exp[I RiemannSiegelTheta[t]]Zeta[1/2+I t]-RiemannSiegelZ[t],t∈Reals]

Derivative

v5.1

FullSimplify[D[RiemannSiegelZ[z],z]]

v6

FullSimplify[RiemannSiegelZ'[z]]

v7

FullSimplify[RiemannSiegelZ'[z]]

Integral

v5.2

Integrate[RiemannSiegelZ[z],z]

v6

Integrate[RiemannSiegelZ[z],z]

V7

Integrate[RiemannSiegelZ[z],z]

Series Expansion About ∞

v5.2

SeriesTerm[RiemannSiegelZ[t],{t,∞,n}]

Series[RiemannSiegelZ[t],{t,∞,3}]

v6

SeriesTerm[RiemannSiegelZ[t],{t,∞,n}]

Series[RiemannSiegelZ[t],{t,∞,5}]//FullSimplify

V7

SeriesCoefficient[RiemannSiegelZ[t],{t,0,n}]

Series[RiemannSiegelZ[t],{t,∞,5}]//FullSimplify

ϑ(t)

Real Axis

Plot[RiemannSiegelTheta[t],{t,-50,50},
PlotStyle->Red,
AxesLabel->TraditionalForm/@{t,RiemannSiegelTheta[t]},
PlotRange->{Automatic,{-10,10}}]

Special Points

d=FullSimplify[D[RiemannSiegelTheta[t],t]]

Plot[d,{t,-10,10},PlotStyle->Red]

Solve[d==0,t]

FindRoot[d==0,{t,#},WorkingPrecision->20]&/@{-5,5}

FindMaximum[RiemannSiegelTheta[t],{t,-6},WorkingPrecision->50]

N[2Pi,20]

d2=FullSimplify[D[RiemannSiegelTheta[t],{t,2}]]

Plot[d2,{t,-10,10},PlotStyle->Red]

FindRoot[d2==0,{t,0},WorkingPrecision->20]

Plot[RiemannSiegelTheta[t],{t,-20,20},PlotStyle->Red,Epilog->{Red,PointSize[.02],{Point[{#,RiemannSiegelTheta[#]}]}&/@(6.289835{-1,1})}]

Complex Plane

ComplexPlot3D[RiemannSiegelTheta[z],{z,-10,10}]//Timing

ComplexContourPlot[RiemannSiegelTheta[z],{z,-10,10}]//Timing

Sums

TimeConstrained[-t (1/2)Log[π]+Sum[((((-1))^k)/((4k+2)!!))PolyGamma[2k,(1/4)](t^(2k+1)),{k,0,∞}],60]//Timing

-t (1/2)Log[π]+Sum[((((-1))^k)/((4k+2)!!))PolyGamma[2k,(1/4)](t^(2k+1)),{k,0,2}]

Expand[FullSimplify[%]]

FunctionExpand[%]

Table[{Sum[((((-1))^k)/((4k+2)!!))PolyGamma[2k,(1/4)](t^(2k+1)),{k,0,5000}]-t (1/2)Log[π],RiemannSiegelTheta[t]}/.t->RandomReal[{0,.05}],{2}]

Derivative

v5.1

FullSimplify[RiemannSiegelTheta'[z]]

v5.2

FullSimplify[RiemannSiegelTheta'[z]]

v6

FullSimplify[RiemannSiegelTheta'[z]]

V7

FullSimplify[RiemannSiegelTheta'[z]]

Integral

v5.2

Integrate[RiemannSiegelTheta[z],z]

v6

Integrate[RiemannSiegelTheta[z],z]

V7

Integrate[RiemannSiegelTheta[z],z]

Definition of ϑ(t)

FunctionExpand[RiemannSiegelTheta[t]]

FunctionExpand[RiemannSiegelTheta[t],t∈Reals]

FullSimplify[Im[Log[Gamma[1/4+I t/2]]]-t Log[π]/2,t∈Reals]

FullSimplify[Im[Log[Gamma[1/4+I t/2]]]-t Log[π]/2-RiemannSiegelTheta[t],t∈Reals]

FullSimplify[Arg[Gamma[1/4+I t/2]]-t Log[π]/2,t∈Reals]

FullSimplify[Arg[Gamma[1/4+I t/2]]-t Log[π]/2-RiemannSiegelTheta[t],t∈Reals]

Equal@@@Table[{
RiemannSiegelTheta[t],
Im[Log[Gamma[1/4+I t/2]]]-t Log[π]/2,
Arg[Gamma[1/4+I t/2]]-t Log[π]/2
}/.t->Random[Real,{-1,1}],{100}]//Union

Table[{
RiemannSiegelTheta[t],
Im[Log[Gamma[1/4+I t/2]]]-t Log[π]/2,
Arg[Gamma[1/4+I t/2]]-t Log[π]/2
}/.t->Random[Complex,(I+1){-1,1}],{20}]

FullSimplify[Arg[Gamma[1/4+I t/2]]-t Log[π]/2]

FullSimplify[Im[Log[Gamma[1/4+I t/2]]]-t Log[π]/2]

Series Expansion About 0

v5.2

SeriesTerm[RiemannSiegelTheta[t],{t,0,n}]

Series[RiemannSiegelTheta[t],{t,0,9}]

Table[(-1)^n/(4n+2)!! PolyGamma[2n,1/4]t^(2n+1),{n,5}]

%//FunctionExpand//Simplify

v6

SeriesTerm[RiemannSiegelTheta[t],{t,0,n}]

Series[RiemannSiegelTheta[t],{t,0,7}]

%//FunctionExpand//Simplify

V7

Series[RiemannSiegelTheta[t],{t,0,7}]//Normal//FullSimplify

(ser=SeriesCoefficient[RiemannSiegelTheta[t],{t,0,n}])

(((I^(-1+n)) (2^(-n)) PolyGamma[-1+n,(1/4)])/(n!))/.n->1//FunctionExpand

Table[((((-1))^k)/((4k+2)!!))PolyGamma[2k,(1/4)](t^(2k+1)),{k,0,2}]//FunctionExpand

Table[(((I^(-1+n)) (2^(-n)) PolyGamma[-1+n,(1/4)])/(n!))(t^n),{n,1,5,2}]//FunctionExpand

Sum[((((-1))^k)/((4k+2)!!))PolyGamma[2k,(1/4)](t^(2k+1)),{k,0,∞}]

Sum[ser t^n,{n,0,7}]//FullSimplify

GeneratingFunction[ser,n,t]

Sum[ser t^n,{n,0,∞}]/

Series Expansion About ∞

v5.2

SeriesTerm[RiemannSiegelTheta[t],{t,∞,n}]

Series[RiemannSiegelTheta[t],{t,∞,10}]

v6

SeriesTerm[RiemannSiegelTheta[t],{t,∞,n}]

Series[RiemannSiegelTheta[t],{t,∞,12}]

FullSimplify[%]

V7

SeriesCoefficient[RiemannSiegelTheta[t],{t,∞,n}]

Series[RiemannSiegelTheta[t],{t,∞,12}]

Analytic

<<DiscreteMath`RSolve`

SeriesTerm[Csc[x],{x,0,n}]

First/@Partition[Rest[CoefficientList[Series[RiemannSiegelTheta[t],{t,∞,20}],1/t]],2]

Divide@@{%98,Table[((I (I^n) (2^(1+n)) BernoulliB[1+n,(1/2)])/((1+n)!2^(n+2)/(n-1)!)),{n,1,18,2}]}

FullSimplify[((I (I^n) (2^(1+n)) BernoulliB[1+n,(1/2)])/((1+n)!2^(n+2)/(n-1)!)),n>0&&n∈Integers]

Table[((I (I^n) BernoulliB[1+n,(1/2)] )/(2n(n+1))),{n,1,20,2}]

Series[RiemannSiegelTheta[t],{t,∞,20}]

Simplify[(Log[2π]+Log[1/t])]

((-t)/2)Log[((2π)/t)]Sum[(((I^(n+1)) BernoulliB[1+n,(1/2)] )/(2n(n+1))),{n,1,∞,2}]//Timing