The topic of this post is **torsors**, which occur naturally throughout mathematics and physics whenever we have natural notions of *relative* — but not *absolute* — sizes, positions, temperatures and so forth. This post owes a lot to this 2009 post by John Baez, and so I’ll shamelessly ~~steal~~ borrow some (but not all) examples from him:

- Even after choosing a unit of
**voltage**(e.g. the SI unit, the volt), it makes no sense to say that the voltage at some point*p*in a circuit is, say, 7V. It does, however, make sense to say that the voltage at*p*, relative to that at another point*q*, is 7V. Relative to that chosen reference value at*q*, voltages are real numbers — but we are free to change the reference point, and without a reference point, voltages are not real numbers, but they do live in a real*torsor*. - A good geographical example is
**longitude**: we habitually describe longitude on Earth as longitude using units of degrees and relative to the Greenwich meridian. However, the choice of the Greenwich meridian is basically arbitrary, and if we were to change to the Cairo, Paris, or Washington meridian instead, it would not change the*difference*in longitude between any two points on Earth. Longitudes are not elements of the circle group*S*^{1}(angles); it is longitude*differences*that are angles in*S*^{1}, whereas longitudes live in an*S*^{1}-torsor. - Both the previous two examples indicate that, whatever a “torsor” is, it’s like a well-behaved algebraic structure (like the real line ℝ or circle group
*S*^{1}) in which the usual reference point, the origin (0 in ℝ and 1 in*S*^{1}) has been “forgotten”. The usual setting of**plane geometry**going all the way back to ancient Greece is like this, too: there is no preferred origin for plane Euclidean geometry: you are free to work relative to one corner of your graph paper, or relative to some point in the ground in your Athenian sand-pit.

So… what’s going on here?

**Group Torsors**

The starting point for the study of torsors is to fix a group *G*, i.e. a non-empty set equipped with a binary operation that is associative and invertible. Below, the binary operation will usually be written as juxtaposition, but if the operation is commutative (i.e. the group is Abelian), then I’ll follow the usual convention of writing the operation as + and the inverse of *g* ∈ *G* as −*g* instead of *g*^{−1}.

Given a group *G*, a *G***-torsor** (or **principal homogeneous space** for *G*) is a set *X* equipped with a free and transitive action of *G* on *X*. In less technical terms, this means that

- to each
*g*∈*G*and each*x*∈*X*there corresponds an element of*X*, denoted by*g*•*x*, called the**action**of*g*on*x*; - this action is consistent with the group operation of
*G*, here written as multiplication: for every*g*_{1},*g*_{2}∈*G*and every*x*∈*X*,*g*_{2}• (*g*_{1}•*x*) = (*g*_{2}*g*_{1}) •*x*); in particular, denoting the identity element of*G*by 1, it follows that 1 •*x*=*x*for every*x*∈*X*; - for every
*x*,*y*∈*X*, there exists a unique*g*∈*G*such that*g*•*x*=*y*.

When *X* is a *G*-torsor, the third part of the definition means that one can sensibly define the **ratio** (or **difference**, if *G* is an additive group) of two elements *x*, *y* ∈ *X* to be the unique *g* ∈ *G* such that *g*·*x* = *y*; we would write this *g* as *y* / *x* if *G* is written as a multiplicative group, or as *y* − *x* if *G* is written as an additive group. In summary, in the group *G* one can

- multiply two elements
*g*,*h*of*G*to get another element*hg*of*G*; - take the ratio of two elements
*g*,*h*of*G*to get another element*hg*^{−1}of*G*; - invert an element
*g*of*G*to get another element*g*^{−1}of*G*;

whereas in the *G*-torsor *X* one can only

- take the ratio of two elements
*x*,*y*of*X*to get an element*y*/*x*of*G*.

What is the relationship between *G* and a *G*-torsor? In one direction, the group *G* can be turned into a *G*-torsor by “forgetting” which element is the identity and simply defining ratios by

The other direction is more subtle. Suppose that *X* is a *G*-torsor. If one fixes an element *x* ∈ *X*, then the third defining property of a *G*-torsor defines a bijection *f*_{x}: *X* → *G* by

Think of *f*_{x}(*y*) is the group element that represents *y* relative to our chosen base point *x*. Having done this, *X* can be turned into a group with operation ∗_{x} defined by

for which *x* is the identity element (note that *f*_{x}(*x*) = 1, the identity element of *G*). Moreover, the bijection *f*_{x} is a group isomorphism from (*X*, ∗_{x}) to *G*. However, each element *x* of *X* defines a different (though isomorphic) group structure on *X* and a different isomorphism *f*_{x}. So, a *G*-torsor really is like a copy of the group *G* that has “forgotten” its identity element, and there is no single preferred or “right” way to get that lost structure back.

**Vector and Affine Spaces**

If the group *G* above is the additive group of a vector space *V*, then we obtain as torsors the useful class of affine spaces. Just as a *G*-torsor is a group *G* that has “forgotten” its identity element, an affine space is a vector space that has “forgotten” its additive identity, i.e. the zero vector. What we keep is the notion of a straight line (and higher-dimensional concepts like planes, 3-spaces, &c.), but without requiring that these objects pass through the origin — because we no longer know where the origin is! So, for example, the two sets

are both lines in the affine plane ℝ^{2}, but only *L*_{0} is a line in (i.e. a linear subspace of) the vector space ℝ^{2}.

More formally, an **affine space** is a set *A* equipped with a free and transitive action of the additive group of a vector space *V* on *A*. The vector space *V* can be thought of as the space of differences of elements of *A*. Just as a group *G* can be turned into a *G*-torsor by defining

an vector space *V* can be turned into an affine space *A* by defining

The classic example is *n*-dimensional affine space **A**^{n}, which is obtained from the vector space ℝ^{n} by exactly this “forget the origin” construction. To reiterate, lines in ℝ^{n} are linear subspaces and are required to pass through the origin (zero vector); lines in **A**^{n} are translations of lines in ℝ^{n} — they are still straight, but don’t have to pass through the origin; similarly for higher-dimensional objects like planes.

Going in the other direction, choosing any point *o* of an affine space *A* to be the origin turns *A* into a vector space that is an isomorphic copy of the difference space *V*: simply identify each affine point *x* in *A* with the displacement vector *x* − *o* in *V* and add points *x* and *y* of *A* using the formula

which should be read as “work out the displacement vectors of *x* and *y* relative to *o*, add them together, and then add that new displacement vector to the original base point *o*”. Similarly, a scalar multiple *c* of an affine point *x*, relative to *o*, is defined to be *c*(*x* − *o*).

But now here’s an interesting fact: suppose that *x*_{1}, …, *x*_{n} are points of an affine space *A* and that *c*_{1}, …, *c*_{n} are scalars that sum to 1 (the multiplicative identity of the field). Then

Note that the right hand side is independent of the choice of origin *o*! In fact, this is an if-and-only-if: we can unambiguously take a linear combination of points of an affine space and get and origin-independent answer if and only if the coefficients in the linear combination sum to 1. Among other things, this means that we an unambiguously talk about the affine line spanned by two points *x* and *y* of *A* as being

and not have to worry about which point is taken as the temporary origin of *A*; similarly for planes spanned by three points, and so on in higher dimensions.

**Forgetting Even More: Projective Spaces**

In a forthcoming post, I’ll cover a little material on projective spaces: loosely, what happens to a vector space when you forget how long lines are, and just care about their directions, and how this relates to adding a “line at infinity” to an affine space.