Poisson Summation and Theta Functions
Here is a small miracle that sits at the heart of analytic number theory. Take any nice function
f, sample it at every integer, and add up the values:
\sum_{n\in\mathbb{Z}} f(n). Now do the same thing to its Fourier
transform \hat f. You get the same number. That is the
Poisson summation formula, and it is the hinge on which the functional equation of
the Riemann zeta function turns.
The route is beautiful and short. Poisson summation, fed the humble Gaussian bell curve, produces a
hidden symmetry of Jacobi's theta function \theta(t) — a
symmetry swapping t and 1/t. Then a
Gamma-flavoured
integral (a Mellin transform) turns that t \mapsto 1/t symmetry into the
celebrated s \mapsto 1-s reflection of \zeta.
This page walks the first two steps; the payoff is the
functional equation.
Fixing a convention for the Fourier transform
Before we can state anything cleanly, we must pin down what \hat f means —
and there is more than one popular convention. Throughout this page we use the "clean"
normalisation, the one that makes Poisson summation coefficient-free:
\hat f(\xi) = \int_{-\infty}^{\infty} f(x)\, e^{-2\pi i x \xi}\, dx.
The 2\pi lives up in the exponent, so no stray factors leak out front. In
this convention the transform is beautifully symmetric: \widehat{\hat f}(x) = f(-x),
and — the fact we will exploit — the Gaussian is its own transform. Keep this exact
formula in mind; the "other" convention (with e^{-i x\xi}) shifts factors of
2\pi all over the place.
The Poisson summation formula
Let f be a Schwartz function (smooth, with all derivatives decaying faster
than any power). Then
\sum_{n\in\mathbb{Z}} f(n) \;=\; \sum_{n\in\mathbb{Z}} \hat f(n),
and more generally, summing over a shifted lattice,
\displaystyle\sum_{n\in\mathbb{Z}} f(x+n) = \sum_{k\in\mathbb{Z}} \hat f(k)\, e^{2\pi i k x}.
Read it slowly: a sum of samples of f equals a sum of samples of
\hat f. If f is spread out (fat bell),
its transform \hat f is concentrated (thin spike), so one side is a
slow-decaying sum and the other converges in a flash — which is exactly why the identity is so useful
for computation: pick whichever side converges faster.
Why it is true: periodise, then expand
The proof is a two-line idea dressed up. Step 1 — periodise. Wrap
f around a circle of circumference 1 by piling up
all its integer shifts:
F(x) = \sum_{n\in\mathbb{Z}} f(x+n).
By construction F(x+1) = F(x) — it is a periodic function, so it has a
Fourier series. Step 2 — read off the coefficients. The
k-th Fourier coefficient of F is
c_k = \int_0^1 F(x)\, e^{-2\pi i k x}\,dx = \int_0^1 \sum_{n} f(x+n)\, e^{-2\pi i k x}\,dx = \int_{-\infty}^{\infty} f(x)\, e^{-2\pi i k x}\,dx = \hat f(k),
where we unrolled the sum-of-shifts over [0,1] back into a single integral
over the whole line (the "unfolding" trick). So F(x) = \sum_k \hat f(k)\,e^{2\pi i k x}.
Step 3 — evaluate at x=0:
\sum_{n} f(n) = F(0) = \sum_{k} \hat f(k). \qquad\blacksquare
The Schwartz hypothesis is what makes every step legal: rapid decay lets the periodised series
F converge uniformly, and smoothness makes its Fourier series converge back
to it pointwise. Without decay, both sides can diverge and the identity is meaningless.
The magic input: the Gaussian is self-dual
Now feed Poisson the one function every analyst keeps in a holster. The unit Gaussian
e^{-\pi x^2} is a fixed point of the Fourier transform:
\widehat{e^{-\pi x^2}}(\xi) = e^{-\pi \xi^2}.
Rescale it. For a "temperature" parameter t>0, let
f(x) = e^{-\pi t x^2} — a bell that gets narrower as t
grows. Fourier stretches inversely to x, and the 2\pi
convention keeps the constant tidy:
f(x) = e^{-\pi t x^2} \quad\Longrightarrow\quad \hat f(\xi) = \frac{1}{\sqrt{t}}\, e^{-\pi \xi^2 / t}.
Notice the trade: a wide bell (small t) transforms to a narrow bell (large
1/t), and the height picks up a 1/\sqrt t. This
single t \leftrightarrow 1/t swap, run through Poisson summation, is the
whole game.
Out pops Jacobi's theta transformation
Apply Poisson summation to f(x) = e^{-\pi t x^2}. The left side is a sum of
Gaussians at the integers; the right side is a sum of the transformed Gaussians:
\sum_{n\in\mathbb{Z}} e^{-\pi t n^2} \;=\; \sum_{n\in\mathbb{Z}} \frac{1}{\sqrt t}\, e^{-\pi n^2 / t}.
Give the left-hand sum a name — this is Jacobi's theta function:
\theta(t) = \sum_{n\in\mathbb{Z}} e^{-\pi n^2 t} = 1 + 2\sum_{n\ge 1} e^{-\pi n^2 t}.
The right-hand sum is exactly \tfrac{1}{\sqrt t}\,\theta(1/t). So the Poisson
identity reads \theta(t) = \tfrac{1}{\sqrt t}\,\theta(1/t), which rearranges
into the famous theta transformation law:
\theta\!\left(\frac{1}{t}\right) = \sqrt{t}\;\theta(t), \qquad t>0.
This is a modular relation: it ties the behaviour of \theta for
small t to its behaviour for large t. As
t\to\infty, every term but n=0 dies and
\theta(t)\to 1; the transformation then tells us instantly how
\theta blows up as t\to 0^+, namely like
1/\sqrt t. We got the hard end for free from the easy end.
Seeing the symmetry: the self-dual point t = 1
Plot \theta(t) (falling toward 1) against
\sqrt t\,\theta(t) (rising). Because
\sqrt t\,\theta(t) = \theta(1/t), the second curve is just the first one
viewed through the mirror t\mapsto 1/t. The two curves must cross
exactly where \sqrt t = 1 — that is, at t=1, the
self-dual point where the Gaussian e^{-\pi x^2} equals its
own transform.
At the crossing, \theta(1) = \sqrt 1\,\theta(1) is automatically satisfied —
the transformation law becomes the tautology \theta(1)=\theta(1), so
t=1 is a fixed point, not a coincidence. Numerically
\theta(1) = 1 + 2(e^{-\pi} + e^{-4\pi} + \cdots) \approx 1.0864348.
Worked example: check the transformation numerically
Let's verify \theta(1/t) = \sqrt t\,\theta(t) at a specific pair. Take
t=2, so 1/t = \tfrac12. The theta series converge
geometrically fast, so a handful of terms nails several digits. We compute both
\theta(\tfrac12) directly and \sqrt 2\,\theta(2),
and confirm they agree:
// θ(t) = 1 + 2 Σ_{n≥1} e^{-π n² t} — converges very fast for t not too small.
function theta(t: number): number {
let sum = 1;
for (let n = 1; n <= 40; n++) {
const term = Math.exp(-Math.PI * n * n * t);
sum += 2 * term;
if (term < 1e-15) break;
}
return sum;
}
const t = 2;
const lhs = theta(1 / t); // θ(1/2)
const rhs = Math.sqrt(t) * theta(t); // √2 · θ(2)
console.log("θ(1/2) =", lhs);
console.log("√2 · θ(2) =", rhs);
console.log("difference =", Math.abs(lhs - rhs));
// And the self-dual identity at t = 1 is exact by construction:
console.log("θ(1) =", theta(1));
console.log("√1 · θ(1) =", Math.sqrt(1) * theta(1));
The two numbers match to full precision: \theta(\tfrac12) = \sqrt 2\,\theta(2) \approx 1.4194957.
The transformation is not an approximation — it is an exact identity, and the tiny "difference" you see
is only floating-point rounding. Poisson summation delivered a genuine equality between an infinite sum
and a rescaled infinite sum.
Convergence is not automatic. Poisson summation needs f to
decay and be smooth — Schwartz is the safe home. A function that decays but is jagged (or is
smooth but decays only like 1/x^2) can make one side converge while the
Fourier series on the other side misbehaves at a point; the clean equality can fail. The Gaussian is
the platonic ideal: infinitely smooth and super-exponentially small, so every step of the proof holds
with room to spare.
The convention bites. With our normalisation
\hat f(\xi)=\int f(x)e^{-2\pi i x\xi}dx, Poisson is coefficient-free:
\sum f(n) = \sum \hat f(n). Switch to the physicists' convention
\tilde f(\omega)=\int f(x)e^{-i x\omega}dx and the very same identity becomes
\sum_n f(n) = \tfrac{1}{?}\sum_k \tilde f(2\pi k) — factors of
2\pi reappear and the sampling lattice on the transform side rescales. Same
theorem, different bookkeeping. Always check which \hat f an author means
before trusting a stray constant.
Here is the bridge, in outline. Feed the theta tail
\psi(t) = \sum_{n\ge 1} e^{-\pi n^2 t} = \tfrac12(\theta(t)-1) into a
Mellin transform against t^{s/2}. Term by term, each
Gaussian integrates to a Gamma factor,
\int_0^\infty e^{-\pi n^2 t}\,t^{s/2}\,\tfrac{dt}{t} = \pi^{-s/2}\Gamma(\tfrac s2)\,n^{-s},
so summing over n assembles the completed zeta function
\xi(s) = \pi^{-s/2}\,\Gamma\!\left(\tfrac s2\right)\zeta(s) = \int_0^\infty \psi(t)\, t^{s/2}\,\frac{dt}{t}.
Now split the integral at t=1 and, on the piece from
0 to 1, substitute t\mapsto 1/t
and apply \theta(1/t)=\sqrt t\,\theta(t). The theta transformation converts
s into 1-s under your very eyes, and the algebra
collapses to the symmetric statement
\xi(s) = \xi(1-s). That single line — a reflection of the completed zeta
across s=\tfrac12 — is the functional equation of
\zeta. The t\mapsto 1/t symmetry of a bell curve
became the s\mapsto 1-s symmetry of the primes' generating function.
The whole chain, at a glance
- Gaussian self-duality: e^{-\pi t x^2} transforms to \tfrac{1}{\sqrt t}e^{-\pi \xi^2/t}.
- Poisson summation turns that into \theta(t) = \tfrac{1}{\sqrt t}\theta(1/t).
- Theta transformation: \theta(1/t) = \sqrt t\,\theta(t), a modular t\mapsto 1/t symmetry.
- Mellin transform + Gamma package \theta into \xi(s) = \pi^{-s/2}\Gamma(\tfrac s2)\zeta(s).
- Functional equation: the theta symmetry becomes \xi(s) = \xi(1-s).
Every link is elementary once you have Poisson summation. That is why this formula — barely more than
"periodise and expand in a Fourier series" — is treated as one of the crown jewels of the analytic
toolkit: it converts a symmetry you can see (a bell curve equal to its own transform) into a
symmetry you could never have guessed (the reflection law hiding inside \zeta).