Dirichlet Series
The zeta function
looks like a one-off — a special sum someone happened to notice. It isn't. It is just the
simplest member of a huge family: pick any sequence of numbers
a(1), a(2), a(3), \ldots that answers some question about integers, and
you can build an analytic function out of it the same way. Different choices of
a(n) encode wildly different number-theoretic information — and once the
information is wearing the clothes of a function, the whole machinery of calculus and complex
analysis becomes available to attack it.
The general form
Given an arithmetic function a(n), its Dirichlet series
is
D(s) = \sum_{n=1}^{\infty} \frac{a(n)}{n^{s}}.
Every choice of a(n) is a different lens on the integers, turned into a
function of a single variable s.
Worked example 1: the plainest choice
Take the simplest possible sequence — every term equal to 1, so
a(n) = 1 for every n. Its Dirichlet series is
D(s) = \sum_{n=1}^{\infty}\frac{1}{n^{s}} = 1 + \frac{1}{2^s} + \frac{1}{3^s} + \frac{1}{4^s} + \cdots = \zeta(s).
The Riemann zeta function isn't a special new object at all — it's just the Dirichlet series of the
constant sequence. That single observation is what makes zeta the natural gateway into this
whole family.
Worked example 2: the reciprocal twin
Now try a much stranger-looking sequence: the
Möbius
function \mu(n), which is
+1, -1, or 0
depending on the prime factors of n. Its Dirichlet series turns out to be
the exact reciprocal of zeta:
\sum_{n=1}^{\infty} \frac{\mu(n)}{n^{s}} = \frac{1}{\zeta(s)}.
That is a remarkable thing for two totally different-looking sums to satisfy. Let's watch it happen
numerically at s=2, where \zeta(2) = \pi^2/6 \approx
1.6449, so 1/\zeta(2) \approx 0.6079. Multiplying a
truncated \zeta(2) by a truncated Möbius series should creep toward
1:
function mobius(n: number): number {
if (n === 1) return 1;
let x = n, primeFactors = 0;
for (let p = 2; p * p <= x; p++) {
if (x % p === 0) {
x /= p;
if (x % p === 0) return 0; // squared prime factor
primeFactors++;
}
}
if (x > 1) primeFactors++;
return primeFactors % 2 === 0 ? 1 : -1;
}
const s = 2;
let zetaPart = 0;
let mobiusPart = 0;
for (let n = 1; n <= 10; n++) {
zetaPart += 1 / Math.pow(n, s);
mobiusPart += mobius(n) / Math.pow(n, s);
}
console.log("Partial zeta(2), n up to 10: ", zetaPart.toFixed(4));
console.log("Partial mobius series, n<=10: ", mobiusPart.toFixed(4));
console.log("Their product (should -> 1): ", (zetaPart * mobiusPart).toFixed(4));
With only ten terms each side, the product already lands near 0.955 —
heading straight for the exact answer, 1. This is the analytic shadow of
Möbius
inversion: \mu is built precisely to "undo" the constant
sequence, and multiplying their Dirichlet series makes that cancellation visible as
\zeta(s)\cdot(1/\zeta(s)) = 1.
Here is the same race plotted as the cutoff grows: the partial zeta sum climbs toward
\pi^2/6, the partial Möbius sum sinks toward
1/\zeta(2), and their product — the one we actually care about — flattens
out at 1 almost immediately:
Multiplication mirrors convolution
The product of two Dirichlet series re-sums by divisors. If
A(s) = \sum \frac{a(n)}{n^s}, \qquad B(s) = \sum \frac{b(n)}{n^s},
then
A(s)\,B(s) = \sum_{n=1}^{\infty} \frac{(a * b)(n)}{n^{s}}, \qquad (a*b)(n) = \sum_{d\mid n} a(d)\,b(n/d).
This combination, a * b, is called Dirichlet
convolution — it's the arithmetic operation lurking underneath ordinary multiplication of
series. The sequence that behaves like "1" for this multiplication is
\varepsilon(n), equal to 1 when
n=1 and 0 otherwise — and indeed
\mu * 1 = \varepsilon is exactly the identity at the heart of
Möbius
inversion, which is precisely why worked example 2 above landed on
1.
A function being
multiplicative
is exactly what gives its Dirichlet series an
Euler product
of its own, broken into one independent factor per prime. Analysis and arithmetic translate cleanly
into one another.
A tiny concrete check of the convolution formula: let a(n) = 1 for every
n (so A(s) = \zeta(s)) and also
b(n) = 1 for every n (so
B(s) = \zeta(s) too). At n = 4, the divisors
are 1, 2, 4, so
(a*b)(4) = \sum_{d \mid 4} a(d)\,b(4/d) = a(1)b(4) + a(2)b(2) + a(4)b(1) = 1+1+1 = 3.
Three is exactly the number of divisors of 4 — which makes sense, since
convolving the all-ones sequence with itself just counts pairs (d, n/d),
one for every divisor. So \zeta(s)^{2} is the Dirichlet series of the
divisor-counting function d(n) — another small arithmetic fact, caught
instantly by squaring a series. The same trick generalises: raising \zeta(s)
to any whole power k produces the Dirichlet series that counts, for each
n, the number of ways to write n as an ordered
product of k positive integers.
A Dirichlet series does not converge for every value of s just
because you can write the sum down. Each series has its own region of convergence —
typically a half-plane \Re(s) > \sigma for some threshold
\sigma that depends on how fast a(n) grows.
\zeta(s) = \sum 1/n^s needs \Re(s) > 1. The
Möbius series, whose terms are always at most 1 in size, still needs the
same threshold for the sum to converge absolutely as written above. But the threshold genuinely
depends on the coefficients: take a(n) = n instead, and
\sum n/n^{s} = \sum 1/n^{s-1} only converges once
\Re(s) - 1 > 1, i.e. \Re(s) > 2 — a whole unit
further right than \zeta itself.
Treating a Dirichlet series formula as valid "everywhere" — plugging in whatever
s you like without checking convergence first — is a very common
overreach, and it's exactly the kind of shortcut that made the early history of this subject so
treacherous.
Dirichlet built the very first non-trivial example of this idea to attack a problem Euler's methods
couldn't touch: are there infinitely many primes among numbers of the form
a, a+d, a+2d, a+3d, \ldots (an arithmetic progression)? His
L-functions attach a Dirichlet series to each "character" of a residue
class, and unlock exactly this question — see
Dirichlet's
theorem on arithmetic progressions.
For a taste: to tell primes of the form 4k+1 (like
5, 13, 17) apart from primes of the form 4k+3
(like 3, 7, 11), Dirichlet used a coefficient sequence
\chi(n) that is +1 on numbers
\equiv 1 \pmod 4, -1 on numbers
\equiv 3 \pmod 4, and 0 on even numbers. The
resulting Dirichlet series L(s,\chi) = \sum \chi(n)/n^{s} behaves well
enough at s=1 to prove both families of primes are infinite — a question
the plain zeta function has no way of even asking.
That was just the opening move. L-functions today are attached to
elliptic curves, modular forms, and Galois representations, and they sit at the centre of some of
the biggest open problems in mathematics — including the Birch and Swinnerton-Dyer conjecture, one
of the seven Millennium Prize Problems. A humble reciprocal power series turned out to be a doorway
into the frontier of modern research.
Why build them
Dirichlet series convert questions about sequences into questions about functions — where poles,
zeros and growth rates can be brought to bear. Dirichlet's own creation, the
L-functions built from characters, attach a series to
each residue class and unlock primes in
arithmetic progressions.
They are the prototype of the vast theory of L-functions at the frontier
of modern number theory.