COMPUTING SCIENCE

# An Adventure in the *N*th Dimension

On the mystery of a ball that fills a box, but vanishes in the vastness of higher dimensions

# Slicing the Onion

The volume formulas I learned as a child were incantations to be memorized rather than understood. I would like to do better now. Although I cannot give a full derivation of the *n*-ball formula—for lack of both space and mathematical acumen—perhaps the following remarks will shed some light.

The key idea is that an *n*-ball has within it an infinity of (*n*–1)-balls. For example, a series of parallel slices through the body of an onion turns a 3-ball into a stack of 2-balls. Another set of cuts, perpendicular to the first series, reduces each disklike slice to a collection of 1-balls—linear ribbons of onion. If you go on to dice the ribbons, you have a heap of 0-balls. (With real onions and knives these operations only approximate the forms of true *n*-balls, but the methods work perfectly in the mathematical kitchen.)

This decomposition suggests a recursive algorithm for computing the volume of an *n*-ball: Slice it into many (*n*–1)-balls and sum up the volumes of the slices. How do you compute the volumes of the slices? Apply the same method, cutting the (*n*–1)-balls into (*n*–2)-balls. Eventually the recursion bottoms out at *n*=1 or *n*=0, where the answers are known. (The volume of a 1-ball is 2*r*; the 0-ball is assigned a volume of 1.) Letting the thickness of the slices go to zero turns the sum into an integral and leads to an exact result.

In practice, it’s convenient to use a slightly different recursion with a step size of 2. That is, the volume of an *n*-ball is computed from that of an (*n*–2)-ball. The specific rule is: Given the volume of an (*n*–2)-ball, multiply by 2π*r*^{2}/*n* to get the volume of the corresponding *n*-ball. (Showing *why* the multiplicative factor takes this particular form is the hard part of the derivation, which I am going to gingerly avoid; it requires an exercise in multivariable calculus that lies beyond my abilities.)

The procedure is easy to express in the form of a computer program:

For even *n*, the sequence of operations carried out by this program amounts to:

For odd *n*, the result is instead the product of these terms:

For all integer values of *n* the program yields the same output as the formula based on the gamma function.

EMAIL TO A FRIEND :

**Of Possible Interest**

**Spotlight**: Briefings

**Computing Science**: Belles lettres Meets Big Data

**Technologue**: Quantum Randomness