Primon Gas

Today I’m going to be talking about an interesting little toy model in statistical mechanics – the Primon Gas.

Consider a physical system with a discrete energy spectrum

E = \{ \ln 2, \ln 3, \ln 5, ...\} = \{ \ln p : \text{p is prime} \}

Each energy in the spectrum corresponds to a particle with that energy. If we second quantize this system, we obtain a creation operator \alpha_{p} for each of these particles. Using these operators, we can act on a vacuum state (zero energy state), denoted | 1 \rangle, to obtain new states. We get the following ‘tower’ of states with corresponding energies:

\begin{array}{rcl}    \textbf{State} & \to & \textbf{Energy} \\    \alpha_2 | 1 \rangle & \to & \ln 2\\    \alpha_3 | 1 \rangle & \to & \ln 3 \\    \alpha_2 \alpha_2 | 1 \rangle & \to & \ln 4 \\    \alpha_5 | 1 \rangle & \to & \ln 5 \\    \vdots    \end{array}

Why is the energy of the third state \ln 4? Acting on the vacuum with a creation operator \alpha_p creates a particle with energy \ln p, so acting on the vacuum with the operator \alpha_2 twice creates two particles, each with energy \ln 2, and the total energy of this state is the sum of the two energies \ln 2 + \ln 2 = \ln 4.

Aside: Fermions

Note that we will suppose all our particles are bosons, so that the operators commute. If we wanted fermionic particles, we could insist that the operators anticommute:

\alpha_p \alpha_q = - \alpha_q \alpha_p for all p,q prime.

These represent fermions since when p = q, we get \alpha_p^2 = -\alpha_p^2, so the square of any operator is zero. This is the Pauli Exclusion principle: you cannot create a state with two identical fermions.

We now have a whole collection of states, so let’s point out two things: the first is that each state we construct from these creation operators has energy \ln n for some n \in \mathbb{N}. Secondly, for each n \in \mathbb{N}, there is a state with energy \ln n. In particular, this state is unique (up to ordering of the operators) since each natural number factors uniquely into prime factors. In other words, our states are in bijective correspondence with the set of natural numbers. With this is mind, we’re going to relabel the states to make things look a lot simpler.

For each n \in \mathbb{N}, factor n into its prime factors:

n = 2^{k_2} \cdot 3^{k_3} \cdots p^{k_p} \cdots

Then the state with energy \ln n is simply written as | n \rangle. In terms of our creation operators, this state is:

| n \rangle := \dots \alpha_p^{k_p} \dots \alpha_3^{k_3} \alpha_2^{k_2} | 1 \rangle

For example, the state \alpha_7 \alpha_2^2 | 1 \rangle has energy \ln 28, and we simply write it as | 28 \rangle.

The reason we constructed this particular system becomes pretty apparent when we compute the partition function of the system. The partition function of a statistical system is defined to be

Z = \sum_{n} e^{-\beta E_n}

where the sum is taken over all possible states, \beta = \frac{1}{k_B T} is the inverse temperature and E_n is the energy of the state n. In our case, the states are simply labelled by the integers and we get

Z = \sum_{n = 1}^{\infty} e^{-\beta \ln n } = \sum_{n = 1}^{\infty} n^{-\beta} = \zeta(\beta)

That is, the partition function of the system is given by the Riemann Zeta function!

The Riemann Zeta function, for those of you who aren’t familiar with it (shame on you!), is the basis of arguably the most important unsolved problem in Mathematics: The Riemann Hypothesis.

Aside: The Riemann Hypothesis

The Riemann Zeta function is defined for complex s with real part greater than 1 by the absolutely convergent series

\zeta(s) = \sum_{n = 1}^{\infty} n^{-s}

Although the series doesn’t converge when the real part of s is not greater than 1, there is a unique analytic continuation of \zeta(s) to all complex values other than s=1.

The Riemann Hypothesis is a conjecture relating to the zeros of the Riemann Zeta function, that is, the complex numbers s such that \zeta(s) = 0. Any even negative integer is a zero of the Riemann Zeta function – these are referred to as the trivial zeros. The Riemann Hypothesis conjectures:

Every non-trivial zero of the Riemann Zeta function has real part 1/2

The Riemann Hypothesis has important consequences relating to the distribution of prime numbers, among many other things. I can’t do the importance of the Riemann Hypothesis justice here (or probably at all), so I won’t even try. I will say that the Riemann Hypothesis is one of the Clay Mathematics Institute’s Millennium Prize Problems, meaning a correct solution to the hypothesis will reward you with a nice US $1,000,000 prize.

Coming back to our system, let’s compute some quantities we might care about.

The average energy of the system is the expectation value of the energy. We can compute this in a very straightforward way, as the expected value of the energy is the weighted average of the energies:

\langle E \rangle = \frac{1}{Z} \sum_{n=1}^{\infty} E_n e^{-\beta E_n} = \frac{1}{\zeta(\beta)} \sum_{n=1}^{\infty} \ln (n) n^{-\beta}

Another way of computing this quantity uses the fact that the partition function is the generating function for the expectation values of various functions. In particular, the average energy is given by

\langle E \rangle = -\frac{\partial \ln Z}{\partial \beta} = -\frac{\partial \ln \zeta(\beta)}{\partial \beta} = -\frac{\zeta ' (\beta)}{\zeta(\beta)}

Comparing these two, we see that the derivative of the Riemann Zeta function is given by

\zeta ' (s) = - \sum_{n=1}^{\infty} \ln (n) n^{-s}

which can indeed be verified by termwise differentiation of the original series.

We can similarly compute the (Gibbs) Entropy of the system. The qualitative behaviour of the Entropy and Average Energy of the system as a function of inverse temperature is shown below.

Entropy and Average Energy as functions of Inverse Temperature

Entropy and Average Energy as functions of Inverse Temperature

As \beta \to \infty the temperature approaches absolute zero, and both the average energy and the entropy go to zero. When \beta approaches 1, the entropy and the average energy diverge, as does the partition function. This corresponds to the simple pole of the Riemann Zeta function at s = 1, or equivalently, the divergence of the Harmonic series. In the physics literature this is referred to as the Hagedorn temperature.

There’s a lot more you can do with this model (What happens when \beta \in \mathbb{C}?, what is the specific heat of the Primon gas? What is the physical interpretation of a zero of the partition function? What happens if we allow fermions?). It’s fun and illustrates one of the ways the Riemann Zeta function is related to physics (and there are many more!), giving a link between the esoteric field of Number Theory and the more down-to-earth field of Statistical Mechanics.



  1. Michael

    Very nice! Remind me: why is the sum in the partition function only over the basis vectors of the state space, and not compound states as well?

    What resource did you work from to learn about this system?

    • Mark

      The canonical partition function can be defined as
      Z = tr(e^{-\beta H})
      where the trace of a linear operator is given by the following sum over an orthonormal basis:
      tr(A) = \sum_{k} \langle A e_k | e_k \rangle
      In this case, a basis is given by the states | n \rangle, and the trace is the sum:
      Z = \sum_{n=1}^{\infty} \langle n | e^{-\beta H} | n \rangle

      Wiki was invaluable, as ever. Additionally, Baez has a nice post at
      He also mentions a really nice article by Bost and Connes at
      They look at this system in the context of C*-algebras and KMS states, so I’m surprised I didn’t come across it when I was doing honours.

      Other than that it was just doing some calculations and some plotting in Maple.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s