The Virial Theorem Made Easy

John Baez

August 10, 2000

Suppose you have a finite collection of point particles interacting gravitationally via good old Newtonian mechanics. And suppose that:

  1. The time averages of the total kinetic energy and the total potential energy are well-defined.
  2. The positions and velocities of the particles are bounded for all time.
Then we have
<T> = -<V>/2
where <T> is the time average of the total kinetic energy, and <V> is the time average of the total potential energy.

I always found this to be a bit magical. It seems surprising at first that such a simple law could hold so generally. But in fact, it's just a special case of something called the "virial theorem", which also applies to forces other than gravity, and impacts everything from astronomy to the theory of gases.

For example, out in space, very often a bunch of particles will collapse to form a gravitationally bound system. If the system is roughly in equilibrium so the time averages of kinetic and potential energy are close to their current values, the virial theorem implies that T = -(1/2) V. we know that <T> = -<V>/2. This is a terrific thing, because it lets you find the masses of bound systems. In fact, it's really the reason we think that dark matter exists.

To be specific, suppose you measure the speeds of a bunch of visible objects in your system, and infer T. Then the virial theorem tells you V. If you find out that the potential well is deeper than what you'd get by adding up the contributions from the masses of everything you see, you know there's dark matter. People do this for spiral galaxies, elliptical galaxies, and galaxy clusters, getting strong evidence for dark matter in all cases.

For applications of the virial theorem to astrophysics, this book is good:

The Simplest Example

Before I sketch the proof of the virial theorem, let's consider the simplest possible case: a single light particle in circular orbit around a heavy one. Say the light one has mass m and the heavy one has mass M. And suppose the orbit has radius R. Then the potential energy is

V = -GmM/R                          (1)
where G is Newton's constant. To figure out the kinetic energy, remember that the gravitational force is
Fgrav = -GmM/R2
while the centrifugal force is
Fcentrif = mv2/R
In a circular orbit these counteract each other perfectly, so we must have
mv2/R = GmM/R2
Thus the kinetic energy of the light particle is
T = mv2/2 = GmM/2R                  (2)
while the kinetic energy of the heavy one is negligible. Comparing (1) and (2), we see that
T = -V/2         
just as the virial theorem says!

The virial theorem lets us generalize this fact to arbitrary gravitationally bound systems. Of course, in a more general system of this sort - even a particle in an elliptical orbit - the kinetic and potential energy change with time. That's why the virial theorem refers to time averages of the kinetic and potential energy. But the basic idea is the same. And the proof is surprisingly simple.

The Proof

Here's how it goes. We consider a quantity called the "virial":

G = ∑i pi . ri
that is, the sum over all the particles of the dot product of each particle's momentum with its position. A little calculation shows that
dG/dt = 2T + ∑i Fi . ri
where Fi is the total force exerted on the ith particle. Now let's compute the time average of both sides. Integrate both sides from time 0 to time t and then divide by t. Then take the limit as t -> ∞. On the left hand side, we get
limt -> ∞ (G(t) - G(0))/t = 0 
since by assumption 2 the function G(t) is bounded. We thus obtain
0 = 2<T> + <∑i Fi . ri> 
at least if the time averages here are well-defined. We know that <T> is well-defined by assumption 1. Why is that other time average well-defined? Well, the force on the ith particle is caused by all the other particles, so we have
i Fi . ri = ∑i ≠ j -grad(Vij) . ri
where Vij is the potential energy for the interaction between the ith and jth particles. Rewriting this a bit, we get
i Fi . ri  = ∑i < j -grad(Vij) . ri  +  ∑j < i -grad(Vij) . ri

           = ∑i < j -grad(Vij) . ri  +  ∑i < j -grad(Vji) . rj

           = ∑i < j -grad(Vij) . (ri  -  rj)
where in the second step we switched the dummy indices i and j on the second term. Now, since Vij is proportional to the reciprocal of the distance between the ith and jth particles, we have
grad(Vij) . (ri  -  rj) = - Vij
<∑i Fi . ri> = <∑i < j Vij> = <V>
so this time average is well-defined by assumption 1. We also see what it equals! So we get
0 = 2<T> +  <V>
or in other words
<T> = -<V>/2
Voila! The virial theorem!

You can find this proof in any good textbook on classical mechanics, for example:

Some Spinoffs and Caveats

Having done all that work proving the virial theorem, it's nice to note some spinoffs.

First of all, if the motion of our particles is periodic, we don't need to average over all time: we can just average over a period. This applies to one particle in elliptical orbit about another, for example. You could also handle that case using Kepler's laws, but I like the greater generality of what we just did.

Also, the virial theorem can be adapted to some other forces! Suppose the potential between particles is proportional to the nth power of their distance. This only changes the above argument a little bit. We get

grad(Vij) . (ri -  rj) = n Vij
so we get
<T> = (n/2) <V>.

With extra work, we can generalize the ideas behind the virial theorem to obtain useful results about other more complicated forces. This is especially important in the theory of gases, where we measure the deviation from being an ideal gas using "virial coefficients".

But finally, before you walk away feeling too happy, I should warn you that in astrophysics, assumption 2 is usually not quite true! For example, a galaxy will occasionally fling stars into the vastness of space, making their position unbounded as a function of time. This process of "boiling off" is very important in the long run, as explained in my webpage on the end of the universe. But it's very slow, so the conditions of the virial theorem seem to be "approximately true" in the short run. Most people go ahead and use it without worrying about this subtlety. To justify this, we should modify the above argument by averaging not over an infinite time, but a finite time. This time should be long compared to the time it takes stars to go around the galaxy, while still short compared to the time it takes for them to boil off. Then we'll approximately get <T> = -<V>/2.

I talk about this a bit more in another webpage, where I use the virial theorem to study the thermodynamics of gravitating systems. By the way, both that webpage and this one are heavily indebted to discussions with people on sci.physics.research, especially Ted Bunn and Jim Means. I even borrowed some of Ted's exact words in the above discussion about applications to astronomy! He's an astrophysicist; I'm not.

© 2000 John Baez