Values of Zeta on the Critical Line

We compute values of Zeta on the critical line and look at the value distribution

?Zeta

Zeta[.5 + 1000 I]

Needs["Histograms`"]

(* here is a simple code to grab the lowest 10% of absolute values and plot the cumulative distribution functions. Notice the linearity. What we do is sample the zeta function randomly over a long interval, moving up 1 step each time and taking one value in each interval *)

Needs["Histograms`"]
start = 1000000;
numdo = 10000;
list = {};
For[n = 1, n ≤numdo, n++,
list = AppendTo[list, Abs[Zeta[.5 + I(start + n + Random[])]]]];
list = Sort[list];
newlist = {};
For[n = 1, n ≤ Length[list]/10, n++, newlist = AppendTo[newlist, list[[n]]]];
Print["Histogram of first 10% of values:"]
Histogram[newlist]
Print["Histogram of all values:"]
Histogram[list]
f[x_] := (1/Length[newlist]) Sum[UnitStep[x-newlist[[n]]], {n,1,Length[newlist]}];
Print["We now print the cumulative distribution function of the first 10%. We have normalized so that we put a mass of size 1 / number of data points."];
Plot[f[x], {x,0, newlist[[Length[newlist]]]}]

?DirichletL

(* Same as before, but now for a Dirichlet character of modulus 4 *)

start = 1000000;
numdo = 1000;
list = {};
For[n = 1, n ≤numdo, n++,
list = AppendTo[list, Abs[DirichletL[4,2,.5 + I(start + n + Random[])]]]];
list = Sort[list];
newlist = {};
For[n = 1, n ≤ Length[list]/10, n++, newlist = AppendTo[newlist, list[[n]]]];
Print["Histogram of first 10% of values:"]
Histogram[newlist]
Print["Histogram of all values:"]
Histogram[list]
f[x_] := (1/Length[newlist]) Sum[UnitStep[x-newlist[[n]]], {n,1,Length[newlist]}];
Print["We now print the cumulative distribution function of the first 10%. We have normalized so that we put a mass of size 1 / number of data points."];
Plot[f[x], {x,0, newlist[[Length[newlist]]]}]

?RamanujanTauL

start = 10;
numdo = 1000;
list = {};
For[n = 1, n ≤numdo, n++,
list = AppendTo[list, Abs[RamanujanTauL[.5 + I(start + (n + Random[])*.01)]]]];
list = Sort[list];
newlist = {};
For[n = 1, n ≤ Length[list]/10, n++, newlist = AppendTo[newlist, list[[n]]]];
Print["Histogram of first 10% of values:"]
Histogram[newlist]
Print["Histogram of all values:"]
Histogram[list]
f[x_] := (1/Length[newlist]) Sum[UnitStep[x-newlist[[n]]], {n,1,Length[newlist]}];
Print["We now print the cumulative distribution function of the first 10%. We have normalized so that we put a mass of size 1 / number of data points."];
Plot[f[x], {x,0, newlist[[Length[newlist]]]}]

newlist