Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Edit 6.2.2012: The sequence to be transformed should be f = 0,1,2,3,4,5... which makes the mentioning of the von Mangoldt function less necessary.

Edit 5.2.2012: I had the wrong plot of the insignal. This changes the question a lot.

In Heike's answer to the stackoverflow Riemann zeta zero spectrum question, a variant of the Fourier sine transform is described.

scale = 1000000;
f = Range[scale] - 1; (*f = 0,1,2,3,4,5...*)
xres = .002;
xlist = Exp[Range[0, Log[scale], xres]];
ListLinePlot[f[[Floor[xlist]]] - xlist, ImageSize -> Large, 
 DataRange -> {0, Log[scale]}]
tmax = 100;
tres = .015;
ymin = -0.025;
ymax = 0.015;
Monitor[errList = 
   Table[(xlist^(-1/2 + I t).(f[[Floor[xlist]]] - xlist)), {t, 
     Range[0, tmax, tres]}];, t]
g1 = ListLinePlot[Im[errList]/Length[xlist], DataRange -> {0, tmax}, 
   PlotRange -> {ymin, ymax}, Frame -> True, Axes -> False];
g2 = Graphics[
   Line[{{N[Im[ZetaZero[1]]], ymin}, {N[Im[ZetaZero[1]]], ymax}}]];
g3 = Graphics[
   Line[{{N[Im[ZetaZero[2]]], ymin}, {N[Im[ZetaZero[2]]], ymax}}]];
g4 = Graphics[
   Line[{{N[Im[ZetaZero[3]]], ymin}, {N[Im[ZetaZero[3]]], ymax}}]];
gw = Show[g1, g2, g3, g4, ImageSize -> Large]

Which outputs:

Spectrum with plot range equal to 100 new version

Notice the approximate agreement with the imaginary parts of the Riemann zeta zeros (vertical lines) and local minima in the spectrum.

The plot of the sequence $a = $(f[[Floor[xlist]]] - xlist)) for scale=20

ListLinePlot[f[[Floor[xlist]]] - xlist, ImageSize -> Large, DataRange -> {0, Log[scale]}]


ListLinePlot Log 20 new version 6 2 2012

for scale=1000000 the plot is:

ListLinePlot Log 1000000 new version 6 2 2012

In latex the sequence to be transformed is similar, but not equal to:

$\displaystyle a = -1 - \pi + 2(\frac{\sin(e^{x})}{1} + \frac{\sin(2e^{x})}{2} + \frac{\sin(3e^{x})}{3} + ...)$

And the discrete transform itself I believe should look something like:

$\displaystyle X_{t} = \sum\limits_{x=0}^{\log(scale)} e^{-\frac{1}{2}x} \cdot \sin(t \cdot x) \cdot a$

But knowing the individual frequencies that build up the exponential saw tooth wave, does not help.

Having thought about this after rewriting the question several times, I start to think that the minima probably are at imaginary parts of Riemann zeta zeros. But even if the derivative of the spectrum would give the zeta zeros as zeros they still are calculated as zeros.

share|cite|improve this question
It could be this question shows how confused I am about the Fourier transform, even if it is only a matrix formulation of it. I thought that if a signal is a exponential or logarithmic (I am not sure which name is correct) square wave then a suitable, exponential or logarithmic, variant of the Fourier transform should have "logical" frequencies. Could be I have understood the Fourier transform wrong. I do not expect the frequencies to be equal to the zeta zeros even if close to them. Maybe this is just a simple y as a function of x question. – Mats Granvik Feb 4 '12 at 22:43

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.