It’s as if I decided to write an elaborate computer program to simulate a universe, complete with its own laws of nature and its own intelligent life. In time those beings might figure out all the rules of their universe, but what chance would they ever have of guessing what I’m like, or the nature of the computing hardware in which they are abstractions? The copper and silicon and tiny electrical charges of which they’re really composed would appear nowhere at all inside the simulation. The rules by which their universe operates would bear no resemblance to the rules of the programming language in which I expressed them.

Nevertheless, physicists (human ones) *are* making attempts at guessing at the nature of the computing hardware in which our reality is an abstraction (if we can agree to think about it that way for now). One of the more well-known guesses is a very complicated idea called string theory. Famously it declares that our universe is not merely three-dimensional, it’s actually *ten*-dimensional. The hell?

To understand what ten-dimensional space can possibly mean, and how it jibes with the universe-is-just-a-computer-program metaphor, let’s first make sure we understand *three*-dimensional space.

What does it mean to say that space is three-dimensional? Put simply, it means that three numbers are **necessary** to identify your location — for example, latitude, longitude, and altitude. Two numbers won’t do it.

It also means that three numbers are **sufficient** to identify your location (if you choose the right three). You don’t need more. You *could* tell someone, “I’m at the corner of **34**th Street and **5**th Avenue on the **57**th floor where the ZIP code is **10118** and there are **28** days left before my next birthday,” but some of those numbers will be redundant and/or irrelevant for locating purposes.

Finally, the three numbers that are necessary and sufficient for locating you are also **independent** of each other. You can change your latitude without changing your altitude. You can change your longitude without changing your latitude. You can change your altitude without changing your latitude *or* your longitude. (For that you probably need a helicopter. Or to be plummeting out of the sky.) Of course you *can* also change the numbers together in any combination — e.g., changing both your latitude and longitude at the same time by going northwest instead of due north or due west. You *can*, but the point is that you don’t *have to*.

Back to ten-dimensional space. If our space is really ten-dimensional, like string theorists say it is, wouldn’t that mean that three numbers *don’t* suffice to describe our position? Well, yes, it would; we’d need ten numbers. But this contradicts our everyday experience, which tells us that three numbers really do suffice.

String theorists counter this by saying that seven of the ten dimensions are really really small. The hell? Small dimensions? Isn’t a dimension the same as a direction? (E.g., north/south; east/west; up/down.) How can a direction be small?

To understand what a small dimension is, let’s switch to computer programming for a moment. A big part of programming is *modeling objects*, which means representing something in terms of numbers and other kinds of digital data. Suppose, for instance, that I’m writing a weather-predicting program and that among the things I need to model is a cloud. What are the essential properties of a cloud that my program would have to model?

- Its height above the ground;
- Its latitude and longitude;
- Its volume (how big it is);
- Its moisture content (thin and wispy, or dense and puffy?);
- Its temperature;
- Its electrical charge (for predicting lightning);
- Size change: currently growing, shrinking, or stable.

(Disclaimer: I’m no meteorologist, I don’t really know how you’d model a cloud in software, but this looks good for our purposes.)

A cloud’s latitude and longitude can vary enormously — the cloud can be situated over any point on earth! But its height above the ground can range only from 0 to a few miles. And its “size change” property can contain only one of three values. If you think of each of these properties as a dimension, then it’s easy to see how latitude and longitude are “big” dimensions, height is smaller, and “size change” is really tiny.

What? You can’t think of those properties as dimensions? Why not? Each one is arguably **necessary** for describing the cloud; collectively they are **sufficient** for describing the cloud (let’s assume); and each property is **independent** of the others, able to vary on its own. As we agreed earlier, those are the requirements for calling something a dimension. So by that definition, this cloud is eight-dimensional.

Even so, if you omitted the smaller dimensions — the ones that can’t vary much, such as “size change” and “temperature,” say — you’d still know a lot about the cloud. You’d have a six-dimensional approximation to what’s really an eight-dimensional object. Most of what you usually need to know about a cloud can be discerned from that approximation — where the cloud is, roughly what it looks like, and so on. There *are* some things that would be harder to predict about it, such as whether it will rain on you and whether flying through it will cause ice to form on your wings. A fuller description of the cloud would make those things clearer. But you can still do a lot with just six of those eight dimensions.

That’s my analogy to ten-dimensional space, where seven of the dimensions are really small. The three big dimensions are enough to describe everything in our ordinary experience, but there are details of reality that only become clear when you add in the others. (That’s assuming that space *is* ten-dimensional — string theory is just an unproven hypothesis, after all, and other competing theories have other things to say about the number of dimensions we inhabit.)

If string theory’s right, and if our universe really is running as a simulation inside some sort of computer — two enormous “ifs” — then the cosmic computer programmer who invented our universe found it necessary to use ten numbers to model the position of each fundamental particle. That ten-dimensional machinery gives rise to what we perceive as three-dimensional reality. That’s not such a strange thought, after all. Haven’t you ever used three-dimensional machinery to create a two-dimensional reality?