After Albert Einstein published his special theory of relativity in 1905, he spent the next decade trying to come up with a theory of gravity. But for years, he kept running up against a problem.
He wanted to show that gravity is really a warping of the geometry of space-time caused by the presence of matter. But he also knew that time and distance are counterintuitively relative: They change depending on your frame of reference. Moving quickly makes distances shrink and time slow down. How, then, might you describe gravity objectively, regardless of whether you’re stationary or moving?
Einstein found the solution in a new geometric theory published a few years earlier by the Italian mathematicians Gregorio Ricci-Curbastro and Tullio Levi-Civita. In this theory lay the mathematical foundation for what would later be dubbed a “tensor.”
Since then, tensors have become instrumental not just in Einstein’s general theory of relativity, but also in machine learning, quantum mechanics and even biology. “Tensors are the most efficient packaging device we have to organize our equations,” said Dionysios Anninos, a theoretical physicist at King’s College London. “They’re the natural language for geometric objects.”
They’re also tough to define. Talk to a computer scientist, and they might tell you that a tensor is an array of numbers that stores important data. A single number is a “rank 0” tensor. A list of numbers, called a vector, is a rank 1 tensor. A grid of numbers, or matrix, is a rank 2 tensor. And so on.
But talk to a physicist or mathematician, and they’ll find this definition wanting. To them, though tensors can be represented by such arrays of numbers, they have a deeper geometric meaning.
To understand the geometric notion of a tensor, start with vectors. You can think of a vector as an arrow floating in space — it has a length and a direction. (This arrow does not need to be anchored to a particular point: If you move it around in space, it remains the same vector.) A vector might represent the velocity of a particle, for example, with the length denoting its speed and the direction its bearing.
This information gets packaged in a list of numbers. For instance, a vector in two-dimensional space is defined by a pair of numbers. The first tells you how many units the arrow stretches to the right or left, and the second tells you how far it stretches up or down.
But these numbers depend on how you’ve defined your coordinate system. Say you change your coordinate system:
You now express the vector in terms of how far it stretches in each direction of the new coordinate system. This gives you a different pair of numbers. But the vector itself has not changed: Its length and orientation remain the same, no matter what coordinate system you’re in. Moreover, if you know how to move from one coordinate system to another, you’ll also automatically know how your list of numbers should change.
Tensors generalize these ideas. A vector is a rank 1 tensor; tensors of higher rank contain more complicated geometric information.
For example, imagine you have a block of steel, and you want to describe all the forces that can be exerted on it. A rank 2 tensor — written as a matrix — can do this. Each of the faces of the block feels forces in three different directions. (For instance, the right face of the block can experience forces in the up-down direction, the left-right direction, and the forward-back direction.)
The tensor that encapsulates all these forces can therefore be represented by a matrix of nine numbers — one number for each direction for each of three faces. (Opposite faces, in this example, are considered redundant.)
Mathematicians often conceive of tensors as functions that take one or more vectors as inputs and produce another vector, or a number, as an output. This output doesn’t depend on the choice of coordinate system. (That constraint is what makes tensors distinct from functions more generally.) A tensor might, for instance, take in two vectors that form the edges of a rectangle, and output the rectangle’s area. If you rotate the rectangle, its length along the x-axis and height along the y-axis will change. But its area won’t.