Mathematical Details

Packing of 2^n n-balls into n-cube

A hypercube is one of the simplest higher-dimensional objects to describe, and so it forms a useful example for developing intuition about geometry in more than three dimensions. The animation above shows a packing of hyperspheres into hypercubes of dimensions ranging from 2 to 10; it is explained in more detail below.


Counting the parts

For the sake of simplicity, and to make our examples concrete, we’ll describe hypercubes centred at the origin of the coordinate system in n dimensions, aligned with the coordinate axes, and having edge lengths of 2. Such a hypercube has vertices whose coordinates are (±1,±1,...±1), and the hypercube itself is the n-dimensional subset of Rn given by {(x1,x2,x3,...xn) | –1≤xi≤1, for i=1,...n}.

There are two features of an n-dimensional hypercube that can be counted immediately. Since the vertices all take the form (±1,±1,...±1), it’s clear that there are a total of 2n vertices: 4 for a square, 8 for an ordinary cube, 16 for a 4-dimensional hypercube, and so on. Also, from the definition of the subset of Rn that comprises the hypercube, it’s not hard to see that the boundary of this set can be thought of as consisting of 2n parts, each of which is found by setting one of the n coordinates to either 1 or –1 while allowing the other coordinates to take on any permissible values. For a square, these are the 4 edges; for a cube, they are the 6 square faces; for a 4-dimensional hypercube they are the 8 cubic hyperfaces, and so on. (Of course, there are points on the boundary of a cube that lie on 2 and even 3 different faces, namely those that lie on edges or vertices, so we’re not strictly dividing the boundary into disjoint pieces.)

More generally, we can consider the various k-dimensional hypercubes associated with an n-dimensional hypercube, for kn. For k≤3, of course, these aren’t objects that we’d normally call “hypercubes”; for k=0 these are vertices, k=1 they are edges, k=2 they are faces, and k=3 they are 3-dimensional cubes. However, they all form parts of a uniform pattern, and they can be counted by the same general formula. For the sake of brevity, from now on we’ll use the term “k-cube” or “n-cube”.

The k-cubes associated with an n-cube are found by taking appropriate subsets of 2k vertices from the n-cube’s 2n vertices. We do this by choosing k of the n coordinates to vary — i.e. each freely take on values of ±1, giving a total of 2k points — and also by making fixed choices (for each particular k-cube) of ±1 for the remaining (nk) coordinates. For example, the 2-cubes (square faces) associated with a 3-cube are found by choosing one of the pairs {x,y}, {x,z} or {y,z} as coordinates to vary, and then fixing the remaining coordinate in each case at either 1 or –1, giving a total of 6 faces. In general, the number of ways we can choose k coordinates out of a total of n is nCk=n!/(k!(nk)!), and the total number of k-cubes associated with an n-cube is nCk2nk.

This formula counts everything from vertices (k=0, where it simplifies to V = 2n), and edges (k=1, E = n 2n–1) to the (n–1)-cubes that form the boundary of the n-cube, of which there are always 2n. Note that the sum of this expression for k=0,...n must be 3n, because the set of centres of all the k-cubes is simply the set of points whose n coordinates are chosen freely from {–1,0,1}.

nCk2nk, number of k-cubes associated with an n-cube
   0 (vertices) 1 (edges) 2 (squares) 3 (cubes) 4 5 6 7 8 910Total 3n
n 0 1 1
1 2 1 3
2 4 4 1 9
3 8 12 6 1 27
4 16 32 24 8 1 81
5 32 80 80 40 10 1 243
6 64 192 240 160 60 12 1 729
7 128 448 672 560 280 84 14 1 2187
8 256 1024 1792 1792 1120 448 112 16 1 6561
9 512 2304 4608 5376 4032 2016 672 144 18 119683
10 1024 5120115201536013440 8064 3360 960 180 20 159049

Euler characteristic

We can use our formula for the number of parts of an n-cube to find the Euler characteristic of a sphere of any dimension. The Euler characteristic of a space is the alternating sum of the number of objects of each dimension — the number of vertices, minus the number of edges, plus the number of faces, etc. — in a division of the space into polygons, polyhedra, or their n-dimensional equivalents. So the Euler characteristic of an n-sphere will be the alternating sum of the number of parts of dimensions 0 through to n of an (n+1)-cube; here we are using the standard mathematical terminology and describing the two-dimensional surface of a sphere in three dimensions as a “2-sphere”. Because the Euler characteristic is a purely topological property, it makes no difference that an (n+1)-cube has sharp corners and flat faces; topologically its boundary is still an n-sphere.

Euler characteristic
of n-sphere
= n+1C02n+1(–1)0 + n+1C12n(–1)1 + n+1C22n–1(–1)2 + ... + n+1Cn21(–1)n  
  = (2–1)n+1 – (–1)n+1  
  = 1 – (–1)n+1  
  = 0 if n is odd, 2 if n is even  

In going from the first line to the second, we have used the fact that the sum in the first line is just the binomial expansion for (2–1)n+1 with the final term in that expansion, (–1)n+1, omitted.

So we have shown that the Euler characteristic of every n-sphere with even n is 2, and that of every n-sphere with odd n is 0.

Counting the symmetries

In n dimensions, there is an infinite group of symmetries, O(n), consisting of all linear transformations of Rn that preserve distances and angles. These are precisely those linear transformations whose matrices have a determinant of ±1. A subgroup of this, SO(n), consists of those transformations whose matrices have determinant 1, and which preserve the handedness of an n-tuple of linearly independent vectors. Elements of SO(n) can also be thought of as rotations of rigid bodies, because they not only preserve distances and angles, they describe transformations that can be achieved by starting with the identity transformation and then making a continuous sequence of motions. In other words, SO(n) forms a connected set that contains the identity. In contrast, O(n) also contains reflections, which cannot be achieved in this way.

Consider the finite subgroups of O(n) and SO(n) that preserve an n-cube. For n=2, when the n-cube is a square, there are 4 rotations around the centre of the square: by 0, 90, 180 and 270 degrees. Also, there are 4 reflections: in each of two diagonals, and in each of two perpendicular bisectors of pairs of edges. For n=3, there are 24 rotations: the identity element (no rotation), rotations by 90, 180 and 270 degrees around any of 3 different pairs of faces, rotations by 120 and 240 degrees around any of 4 different pairs of vertices, and rotations by 180 degrees around any of 6 different pairs of edges, giving 1+3×3+2×4+6=24 in total. There are also 24 symmetries that are not rotations, which can be produced by combining each of these rotations with any fixed reflection that preserves the cube.

Probably the simplest way to count the symmetries of an n-cube is to note that any particular vertex, e.g. (1,1,...1), must be mapped to one of the 2n vertices of the n-cube, (±1,±1,...±1). The symmetry can then freely permute the n edges that are incident on that vertex, in any of n! ways. So the total number of symmetries is 2nn!.

Another approach is to note that a symmetry can permute the n coordinate axes n! ways, and then there are n distinct choices as to whether each axis lines up parallel or antiparallel with the axis it is carried to, giving a total of 2nn! choices.

Yet another way to count the symmetries of an n-cube is to work recursively, and note that an n-cube has 2n (n–1)-cubes as its hyperfaces. If we nominate one of these hyperfaces, any symmetry of the n-cube must take it to one of the full set of 2n hyperfaces. Then if we count the symmetries of (n–1)-cubes, they can all be applied to the nominated hyperface without moving it to a different hyperface. So we multiply 2n by the number of symmetries of an (n–1)-cube.

The result of this is:

 symmetries(n) =  2n 2(n–1) 2(n–2) ... 2  
  =  2n n!  

This count includes non-rotation symmetries, because the recursion terminates at n=1, where we include a count of two for the reflection that swaps the endpoints of a 1-cube (i.e. a line segment). The number of rotations is half of this.

We haven’t really proved this result yet, because we need to show (1) that all these symmetries can be realised, and (2) that the action on the hyperfaces we’ve described is enough to uniquely determine the symmetry.

For (1), if we take our n-cube to be aligned with the coordinate axes, and we call the vectors for the axes {e1,...en}, then the 2n rotations that take e1 into either ei or –ei, for i=1,...n, will take the hyperface associated with e1 to each of the 2n hyperfaces. Let’s call these rotations R±i; for i>1, R±i are both 90-degree rotations, while for i=1, R1 is the identity, and R–1 is a 180-degree rotation. Then, given any symmetry S of an (n–1)-cube, we can extend it from n–1 dimensions to n simply by applying it to the subspace spanned by {e2,...en}. (In matrix terms, we’d just add an extra row and an extra column at the start of the matrix for S, with zeroes everywhere except for the new diagonal entry, which would be 1.) The products R±iS will then take the hyperface associated with e1 to each of the 2n hyperfaces, and if we range over all the (n–1)-cube symmetries S, this approach will give us all the n-cube symmetries.

For (2), suppose we have two symmetries that both take the e1 hyperface to the same hyperface. That fixes the action of both on e1. Then if both of them map the e1 hyperface to the new hyperface in the same way, that fixes the action on e1+e2 (the centre of one of the (n–2)-cubes of the hyperface), e1+e2+e3 (the centre of one of the (n–3)-cubes), and so on. So both transformations agree on a set of n linearly independent vectors, and hence they must be identical.

A closely related way to count the symmetries is to subdivide the n-cube into n-simplices. An n-simplex is the n-dimensional generalisation of a triangle: it is a convex polytope with n vertices, e.g. in three dimensions it is a tetrahedron, with 4 triangular faces; in four dimensions it is a polytope with five tetrahedral hyperfaces, and so on.

For n=2, when the n-cube is a square, the square can be divided into 8 triangles, all of which have the centre of the square, the centre of one side, and one vertex of the square as their three vertices. The 8 triangles consist of two sets of 4 that are congruent to each other, with those in the second set mirror images of those in the first. If one triangle is nominated, any symmetry of the square must carry that triangle into one of the 8. For n=3, there are 48 analogous tetrahedra, all of which have the centre of the cube, the centre of one face, the centre of one edge, and one vertex of the cube as their four vertices. Again, any symmetry of the cube must carry a nominated tetrahedron into one of the 48. The count of 48 comes from dividing the 6 faces of the cube into 8 triangles each, and then adding the centre of the cube as the fourth vertex to convert each triangle into a tetrahdron. The general case follows the same recursive pattern, yielding a count of 2n n! simplices, and hence 2n n! symmetries, for an n-cube.

2n n!, number of symmetries of an n-cube
  1 2 3 4 5 6 7 8 910
All symmetries2848384384046080645120103219201857945603715891200

The group of symmetries of an n-cube is known as the hyperoctahedral group (since it is also the group of symmetries of an n-dimensional hyperoctahedron, the polytope that is dual to an n-cube). It is also referred to as the Coxeter group BCn.

Classifying the rotations

The 24 rotations of a three-dimensional cube fall into four distinct classes:

For an n-cube, rotations can be more complex. For example, in 4 dimensions a rotation can either act in a single plane, such as the xy plane, while leaving any vectors orthogonal to that plane unchanged, or it can act in two orthogonal planes, performing rotations in both and leaving no vectors fixed. In higher dimensions, there will be room for more planes, and more choices as to the number of planes in which a given rotation acts.

To see how we can establish a systematic classification, let’s start by looking at all the simple rotations (those that act only in a single plane) in 2, 3 and 4 dimensions. Of course all rotations in 2 and 3 dimensions are simple, but we’ll focus on the planes of the rotations, rather than the axes orthogonal to those planes, in order to develop an approach that generalises to arbitrary dimensions.

To characterise a plane through the origin in relation to an n-cube, we can ask which k-cube-centres lie in the plane. The centre of a k-cube will always have k of its coordinates equal to 0, and nk of its coordinates equal to ±1. In general there might be a very large number of k-cube-centres in a plane, certainly more than the two independent vectors we need to define the plane. For example, the plane in three dimensions spanned by the face-centres (1,0,0) and (0,1,0) will contain the centres of the opposite faces, (–1,0,0) and (0,–1,0), and also the four edge-centres (±1,±1,0). So in order to characterise these planes systematically, we will:

So for the example of the plane containing (1,0,0) and (0,1,0), we’d classify it solely by the two face-centre-pairs it contains.

Signed cycle notation

Because we know that the linear operator for any symmetry of an n-cube involves a permutation of the coordinates, possibly followed by sign flips, we will adapt some notation that’s common when describing permutations. Any permutation of n objects can be broken down into a product of disjoint cycles; for example, the permutation that takes 1, 2, 3, and 4 respectively to 3, 1, 2, 4 can be written as (1 3 2)(4), where the first cycle tells us that 1→3, 3→2 and 2→1, and the second cycle tells us that 4 is unchanged. For the sake of brevity, we can just drop the cycle (4) and take it as implied that any object not listed in the cycles that are shown is left untouched.

We will use an analogous notation, and write our linear operators as signed cycles. For example, the operator R:(x,y,z)→(–y,x,z) will be written as (x y–). This needs to be read carefully according to the convention that the sign applies only to the variable it follows, so with (x y–) the x-coordinate of a point becomes the y-coordinate (ignoring the – after the y), but the y-coordinate becomes the opposite of the x-coordinate (obeying the – after the y).

With a normal cycle, the order of the cycle (the lowest power to which this group element must be raised, to yield the identity) is simply the length of that cycle. With a signed cycle, the order will be equal to the length of the cycle if there is an even number of minus signs, but twice the length of the cycle if there is an odd number of minus signs. So (x y–) has order 4. The order of a product of several cycles will be the lowest common multiple (LCM) of the orders of the individual cycles.

The determinant of the linear operator associated with each cycle will be (–1)c+m+1, where c is the length of the cycle and m is the number of minus signs. Although we are focusing on rotations, and so we require that the overall determinant of our linear operators is 1, the individual cycles can have determinants of –1, so long as the product of all the determinants is 1.

Rotations of the square

(Case 2) There is only one plane, spanned by the two edge-centre-pairs (1,0) and (0,1). This plane contains 4 edge-centres and 4 vertices. Rotations by 90, 180 and 270 degrees give a total of 3 non-trivial rotations.

The order-4 linear operator R=(x y–) that rotates by 90 degrees generates these 3 rotations, that is, its powers R, R2 and R3 give us all the rotations.

Rotations of the cube

(Case 3A) If we look for planes containing two face-centre-pairs, there will be three ways of choosing two pairs from the full set of three. Example: the plane spanned by (1,0,0) and (0,1,0). Each of those three planes will contain 4 face-centres and 4 edge-centres, and rotations of 90, 180 and 270 degrees in the plane will be symmetries of the cube, giving a total of 3×3=9 rotations.

It’s worth noting how closely this matches Case 2. These three planes just represent the three ways to embed two dimensions in three, and then the rotations allowed in each plane are identical to Case 2. The order-4 operator (x y–), and similar operators for the other face-centre-pairs, generate all the rotations.

(Case 3B) If we look for planes containing only one face-centre-pair, and at least one edge-centre-pair, we will have 3 choices for the face-centre-pair, and then two choices for the edge-centre-pair. Example: (1,0,0) can be matched with either (0,1,1) or (0,1,–1), but not (1,1,0), since the latter would imply that the plane contained a second face-centre-pair, (0,1,0). So we have a total of 6 planes. Each plane contains 2 face-centres, 2 edge-centres, and 4 vertices. Only a single 180-degree rotation is possible, giving a total of 6×1=6 rotations.

The order-2 operator for the 180-degree rotation in the plane spanned by (1,0,0) and (0,1,1) is (x–)(yz–); it’s easy to check that this negates both of those two vectors. The operator for the 180-degree rotation in the plane spanned by (1,0,0) and (0,1,–1) is (x–)(y z). The full set of 6 rotations comes from choosing each of the 3 coordinates to take the role of x in those examples.

(Empty case 3-i) What about planes containing only one face-centre pair, no edge-centre-pairs, and at least one vertex-pair? There are none, because any plane that contains both a face-centre f and a vertex v must contain an edge-centre, either vf or v+f. For example, (1,1,1)–(1,0,0) = (0,1,1).

(Case 3C) Next we look for planes containing no face-centre-pairs, and at least two edge-centre-pairs. Edge-centre vectors in 3 dimensions have exactly 2 non-zero coordinates, which for two different edge-centre-pairs must overlap in either 1 or 2 coordinates. But if they overlap in 2 coordinates, the plane they span will contain a face-centre, so they must overlap in just a single coordinate. At first glance we seem to have 3 choices for the coordinate of overlap, and then two choices of relative sign between the non-zero coordinates of each edge-centre-pair; however, each plane will contain a third edge-centre-pair (example: the plane spanned by (1,1,0) and (0,1,1) will also contain (1,0,–1)), so all 3 coordinates will be the overlap coordinate between two of the edge-centre-pairs, and we are left with just 4 distinct planes. Each plane will contain 6 edge-centres, and nothing else, which at first sight suggests that rotations by just 60 degrees might be possible symmetries. But the cube’s six face-centres will lie in two sets of 3, on two planes which are parallel to the one through the origin, and these sets of 3 also need to be rotated among themselves. So only rotations by 120 and 240 degrees are symmetries, giving a total of 4×2=8 rotations.

The order-3 operators (x y z), (x yz–), (xy z–) and (xyz) each generate pairs of 120 and 240-degree rotations.

Although the cube is such a familiar object that our claim that its face-centres break up into two sets of three on parallel planes is pretty obvious, it’s worth seeing how we can check such claims for less familiar cases. Since the plane through the origin is spanned by (1,1,0) and (0,1,1), we can look for all face-centres that take the form (1,0,0)+u(1,1,0)+v(0,1,1), or (1+u,u+v,1+v). Since a face-centre has two zero coordinates, each of the three possibilities for setting a pair of coordinates to zero gives us unique solutions for u and v, which result in the three solutions (1,0,0), (0,–1,0) and (0,0,1). Clearly there’s no way to arrange three points to accommodate a 60-degree rotation.

(Empty case 3-ii) What about planes whose two highest-k objects are an edge-centre-pair and a vertex-pair? Example: the plane containing (1,1,0) and (1,–1,1). There will be 6 choices of edge-centre-pair, and then two choices for the vertex pair that avoids adding higher-dimensional centres to the plane, giving a total of 12 planes. The only possible rotation in such a plane would be by 180 degrees. However, such a rotation can never be a symmetry of the whole cube. Why not? If we look for face-centres of the form (0,0,1)+u(1,1,0)+v(1,–1,1), the only solution is (0,0,1) itself. That would be fine if (0,0,1) was orthogonal to our plane; then it could be invariant. But it’s not orthogonal, so the lack of any other face-centres in the same affine plane (a plane displaced from the origin) rules out the rotation.

(Empty case 3-iii) What about planes whose highest-k objects are vertices? There are none, because it will always be possible to form a combination of two linearly independent vertices that will be an edge-centre or a face-centre. For example, (1/2)((1,1,1)+(1,1,–1)) = (1,1,0).

That accounts for all 23 non-trivial rotations of the cube in 3 dimensions.

Simple rotations of the 4-cube

Case 4A simple rotation of 4-cube

(Case 4A) There are 6 planes containing two 3-cube-centre-pairs. Example: the plane spanned by (1,0,0,0) and (0,1,0,0). Each plane contains four 3-cube-centres and four face-centres, and can undergo rotations of 90, 180 or 270 degrees, giving 6×3=18 rotations.

The movie on the left shows a 4-cube undergoing a Case 4A simple rotation. As well as the 3-cube-centres and face-centres of the plane of rotation, the image shows (in lighter shades) the centres of the invariant, orthogonal plane.

As with (3A), this is really just Case 2 embedded in some extra dimensions. In fact, we can generalise this to a class of simple rotations of the n-cube: there will be nC2 = n(n–1)/2 planes, each allowing 3 rotations, giving a total of 3n (n–1)/2 rotations. We can describe the generic n-dimensional case as being generated by the order-4 cycle (xi xj–).

Case 4B simple rotation of 4-cube

(Case 4B) There are 24 planes containing one 3-cube-centre-pair and one face-centre-pair: 4 choices for the 3-cube-centre-pair, then 6 choices for the face-centre-pair that avoid an overlap of non-zero coordinates (3 choices of the second coordinate left zero, and then a choice of relative sign between the non-zero coordinates). Example: the plane spanned by (1,0,0,0) and (0,1,1,0). Each plane contains two 3-cube-centres, two face-centres, and four edge-centres. Only a rotation by 180 degrees is possible, giving 24×1=24 rotations.

This is really just Case 3B embedded in four dimensions, with the 6 planes of (3B) multiplied by 4C3 = 4 to give the total of 24. We can generalise this to n dimensions, with the number of planes and rotations both equal to 6 nC3 = n(n–1)(n–2). These rotations can be described generically as the order-2 operators (xi–)(xjxk–) or (xi–)(xj xk).

(Empty case 4-i) There are 16 planes containing one 3-cube-centre-pair and one edge-centre-pair: 4 choices for the 3-cube-centre-pair, then 4 choices for the edge-centre-pair that avoid an overlap of coordinates (an edge-centre-pair has 3 non-zero coordinates, so there are two independent choices to be made for their relative signs). Example: the plane spanned by (1,0,0,0) and (0,1,1,1). Such a plane will contain two 3-cube-centres, two edge-centres, and four vertices, so the only candidate rotation would be 180 degrees. If we look for 3-cube-centres that lie in the same affine plane as (0,1,0,0), they will take the form (0,1,0,0)+u(1,0,0,0)+v(0,1,1,1), or (u,1+v,v,v). It’s clear that (0,1,0,0) is the only solution, and since this is not orthogonal to the plane it can’t be invariant, ruling out the rotation.

(Empty case 4-ii) Any plane that contains both a 3-cube-centre and a vertex will necessarily contain an edge-centre as well, which is covered by the previous case. For example, (1,0,0,0)–(1,1,1,1) = (0,–1,–1,–1).

There are 66 ways to choose two linearly independent face-centre-pairs; since there are 12 such pairs we have 12×11/2 choices. Since each face-centre has two non-zero coordinates, we need to break this down further by considering cases where there are 2, 1 and 0 overlapping coordinates.

(Empty case 4-iii) In the 6 planes where there are 2 overlapping coordinates, the plane will contain a 3-cube-centre, e.g. (1/2)((1,1,0,0)+(1,–1,0,0)) = (1,0,0,0).

Case 4C simple rotation of 4-cube

(Case 4C) Suppose there is exactly one overlapping coordinate. Example: the plane containing (1,1,0,0) and (0,1,1,0). This is essentially identical to Case 3C, embedded in 4 dimensions. So the 4 planes of (3C) will be multiplied by 4C3 = 4, for a total of 16 planes, and in each plane there will be rotations of either 120 or 240 degrees, for a total of 32 rotations. Note that each plane will contain three face-centre-pairs, and so the 16 geometrically distinct planes account for 48 choices in our total of 66.

We can generalise this to n dimensions, with the number of planes equal to 4 nC3 = 2n(n–1)(n–2)/3, and the number of rotations twice that, 4n(n–1)(n–2)/3. The order-3 cycles (xi xj xk), (xi xjxk–), (xixj xk–) and (xixjxk) generate these pairs of rotations.

Case 4D simple rotation of 4-cube

(Case 4D) Suppose there are no overlapping coordinates between the two face-centre-pairs. There are 3 ways we can partition the four coordinates into two sets of two, and then two independent choices of relative signs, giving a total of 12 planes. Example: the plane containing (1,1,0,0) and (0,0,1,1). Each plane will contain 4 face-centres and 4 vertices. It turns out that 90-degree rotations in this plane are not symmetries of the 4-cube, but 180-degree rotations are, giving a total of 12 rotations.

The easiest way to see that the 180-degree rotations are possible is to note that, for our example plane, the order-2 operator (ab–)(cd–) will take both face-centres into their opposites. To see that this is a simple rotation, note that any vector orthogonal to both (1,1,0,0) and (0,0,1,1) must be of the form (a,–a,b,–b), which is invariant under the operation we’ve described.

To see that 90-degree rotations are impossible, we look for 3-cube-centres in the same affine plane as (1,0,0,0), which will take the form (1+u,u,v,v). There are only two solutions: (1,0,0,0) itself, and (0,–1,0,0), the latter coming from u=–1, v=0. Neither is orthogonal to the plane, so 180 degrees is the only possible rotation angle.

For the 4-cube, we have 12 planes, each with a 180-degree rotation, for a total of 12 rotations. As with the other cases, we can generalise this to n dimensions by embedding the 4 dimensions of the original case in n dimensions, giving a total of 12 nC4 = n(n–1)(n–2)(n–3)/2 as the number of planes and rotations. The operators will take the form (xi xj)(xk xl), along with variants where one or both of the cycles have two minus signs.

If a plane contains both a face-centre and an edge-centre, there can either be two overlapping non-zero coordinates, or just one.

(Empty case 4-iv) Suppose there are two overlapping coordinates. Example: (1,1,0,0) and (1,–1,1,0). This is really just Empty case 3-ii embedded in 4 dimensions, so it covers 4 × 12 = 48 planes, but for the reasons given for 3-ii there cannot be simple rotations in these planes.

(Empty case 4-v) Suppose there is just one overlapping coordinate. Example: (1,1,0,0) and (0,1,1,1). The plane will necessarily contain a second edge-centre-pair, e.g. (0,1,1,1)–(1,1,0,0) = (–1,0,1,1). There are 12 choices of the face-centre-pair, and then 4 posibilities for the edge-centre-pair, from two choices of relative signs, giving a total of 48 planes. The angle between the two edge-centres will be arccos(2/3), which is not a rational multiple of 360 degrees, so any rotation could only be 180 degrees. If we look for 3-cube-centres in the same affine plane as (0,0,1,0), they will take the form (u,u+v,1+v,v), and the only solution is (0,0,1,0) itself.

(Empty case 4-vi) Suppose a plane contains both a face-centre-pair and a vertex pair. Example: (1,1,0,0) and (1,–1,1,1). There are 12 choices of face-centre pair, and then two choices of relative signs for the vertex-pair, giving a total of 48 planes. The plane will contain no other centres, so the only possible rotation would be 180 degrees. If we look for 3-cube-centres in the same affine plane as (0,0,1,0), they take the form (u+v,uv,1+v,v), and (0,0,1,0) is the only solution.

(Empty case 4-vii) Suppose a plane contains two edge-centre-pairs. If they have their sole zero coordinate in common, this is just the same as two vertices in 3 dimensions; see Empty Case 3-iii. If the zero coordinate is not shared, there will be 6 ways to choose the pair of zero coordinates, and then two independent choices of sign, giving a total of 24 planes. Example: (1,1,1,0) and (0,1,–1,1). The plane will contain only four edge-centres, arranged in a square, but if we can rule out 180-degree rotations that will also rule out 90-degree rotations. If we look for 3-cube-centres in the same affine plane as (1,0,0,0), they take the form (1+u,u+v,uv,v), and (1,0,0,0) is the only solution.

(Empty case 4-viii) Suppose a plane contains an edge-centre-pair and a vertex-pair. There will be 8 choices of vertex-pair, 4 choices of the zero coordinate of the edge-centre-pair, and 3 choices for the non-zero coordinate where the edge-centre differs from the vertex-centre, giving a total of 96 planes. Example: (1,1,1,1) and (0,–1,1,1). Each plane will contain just two edge-centres and two vertices, so once again 180 degrees is the only candidate rotation. If we look for 3-cube-centres in the same affine plane as (1,0,0,0), they take the form (1+u,uv,u+v,u+v), and (1,0,0,0) is the only solution.

(Empty case 4-ix) Suppose the two highest-k k-cube-centre-pairs in a plane are vertices. As with Empty Case 3-iii, this is impossible; there will always be some higher-dimensional k-cube-centre in the plane.

In summary, we have the following non-trivial simple rotations of the 4-cube:

That gives us a total of 86 non-trivial simple rotations of the 4-cube. We know there are a total of 192 rotations, including the identity, so there must be 105 rotations which are non-trivial and non-simple (i.e. they act in more than a single plane, which in 4 dimensions means that they will have no invariant vectors at all).

We know that for n=3, the (A), (B) and (C) cases leave two face-centres, two edge-centres and two vertices respectively unrotated, and that these invariant vectors are orthogonal to the plane of rotation. Similarly, for n>3, any vector that is orthogonal to the plane of a simple rotation will be invariant.

We can enumerate the invariant k-cube-centres for n=4:

In each case we have a total of eight k-cube-centres lying in the invariant plane, and they are arranged in a way analogous to the vertices and edge-centres of a square. In (4A) and (4D) they are a literal square; in the other cases the square has been deformed into a rectangle. In each case, the lowest-k centres will form the vertices of the rectangle or square, while the others will lie at the centres of the sides.

In cases (4A), (4B) and (4D), the invariant planes have exactly the same structure as the planes of rotation to which they are orthogonal; for (4C), the invariant plane corresponds to the empty case (4-i).

Simple rotations of the n-cube

It turns out that for n>4, no additional cases arise; essentially, all the higher-dimensional simple rotations are just a matter of adding zero coordinates in various ways to the cases we’ve already seen. This is probably much less surprising if you’ve looked at all the “empty cases” we’ve examined, which demonstrate that most of the time, picking two basis vectors for a plane leaves us with some (n–1)-cube-centre sitting alone and off-centre in an affine plane, ruling out any simple rotations. Adding non-zero coordinates to the plane’s basis vectors can only give us more equations that would need to be satisfied by the same two variables, the affine plane coordinates u and v, whereas adding zero coordinates allows us to keep all the cases that worked for the 4-cube.

So, we can classify all the non-trivial simple rotations of the n-cube as follows:

If we add up these four cases, we find that there are:

 simple(n) =  n (n–1) (3n2n–1) / 6  

non-trivial simple rotations of the n-cube.

The invariant subspace of dimension n–2 that is orthogonal to the plane of the simple rotation will, in each case, contain 3n–2–1 k-cube-centres, arranged in an (n–2)-prism.

For case (A), the invariant subspace will contain a perfect (n–2)-cube, whose vertices are face-centres of the n-cube, whose edges are 3-cube-centres of the n-cube, etc., with the k-cube-centres of the (n–2)-cube being (k+2)-cube-centres of the n-cube.

In the other cases the sizes in various directions will not all be equal, and while all the vertices of the (n–2)-prism will correspond to a single k value (since all vertices of a rectangular prism of any dimension must be equidistant from the centre), the other centres of the (n–2)-prism will come from more than one kind of k-cube-centre of the n-cube.

Non-trivial simple rotations of an n-cube
  1 2 3 4 5 6 7 8 910
Class A, 3n(n–1)/2 rotations0391830456384108135
Class B, n(n–1)(n–2) rotations0062460120210336504720
Class C, 4n(n–1)(n–2)/3 rotations0083280160280448672960
Class D, n(n–1)(n–2)(n–3)/2 rotations000126018042084015122520
TOTAL, n(n–1)(3n2n–1)/6 rotations032386230505973170827964335

All rotations of the 4-cube

Having classified the simple rotations of the 4-cube, it’s not too hard to account for the full set of rotations.

First, we distinguish two rotations that have no special geometric structure associated with them: the identity, and the inversion. The inversion is the symmetry that simply multiplies every coordinate by –1. It can be viewed as performing two simultaneous rotations by 180 degrees in two orthogonal planes, but since any two orthogonal planes will suffice, it is not associated with any specific planes.

That leaves 190 rotations to classify, and they fall into five classes, the first four of which involve identical geometric structures to the classes for the simple rotations.

This list describes 190 rotations, and along with the identity and the inversion accounts for all 192 rotations of the 4-cube.

Case 4A non-simple rotation of 4-cube

(Non-simple 4A) The movie on the left shows an example of a non-simple rotation of class 4A. In this example, the total amount of rotation in each of the two orthogonal planes is the same.

Case 4C non-simple rotation of 4-cube

(Non-simple 4C) The movie on the left shows an example of a non-simple rotation of class 4C. Here, a 60-degree rotation takes place in the plane that contains six face-centres, while a 180-degree rotation takes places in the orthogonal plane.

Case 4E non-simple rotation of 4-cube

(Non-simple 4E) The movie on the left shows an example of a non-simple rotation of class 4E. The two planes of rotation intersect the boundary of the 4-cube along regular octagons, whose vertices (marked in the image) are points with two coordinates equal to ±1 and two coordinates equal to ±(√(2)–1)). The angle of rotation in one plane is 45 degrees, and in the other it is 135 degrees.

All symmetries of the n-cube

Although the aim of this section was to classify the rotations of the n-cube, it turns out that to do that systematically we really need to look at all the symmetries, including those with determinant –1.

The building blocks of all these symmetries are signed cycles, and they come in four basic kinds, depending on whether the length of the cycle is even or odd, and whether the number of minus signs is even or odd. We’ll now determine the geometric effects of these four kinds of cycles for arbitrary dimensions.

(i) Even cycle length, even number of minus signs.

These cycles will have determinant –1. The simplest examples are (x y), which just swaps the x and y coordinates and hence reflects in the line y=x, and (xy–), which reflects in the line y=–x.

For any even p (less than or equal to n) the cycle C=(x1 x2 ... xp) will preserve the vector (1,1,...1,0,0,0,...) while inverting the vector (1,–1,1,–1,...1,–1,0,0,0, ...). In other words, it will act as a reflection within a plane spanned by those two (np)-cube centres. A (p–2)-dimensional space orthogonal to that plane will break down into p/2–1 planes of rotation. The eigenvalues of this cycle are the pth roots of 1, which apart from 1 and –1 will come in conjugate pairs of the form exp(±2jπi/p), j=1,...p/2–1. The associated eigenvectors e±j will have coordinates:

e±j,m = exp(–±2j (m–1)πi/p)

where m ranges from 1 to p, and all other coordinates are zero. Two real vectors cj and sj, formed from the sum and difference of conjugate eigenvectors, have coordinates:

cj,m = cos(2j (m–1)π/p)
sj,m = sin(2j (m–1)π/p)

These vectors are orthogonal, and in the plane they span, C acts as a 2-dimensional rotation, with rotation angle 2jπ/p. We will now define some other vectors that lie in the same plane:

dj = Ccj
dj,m = cos(2j (m–2)π/p)
u±j = cj ± dj
u+j,m = 2 cos(jπ/p) cos((2m–3) jπ/p)
uj,m = –2 sin(jπ/p) sin((2m–3) jπ/p)
v±j = u±j / max {|u±j,m|, m=1,...p}

Can u±j ever be the zero vector? No, because cj will always be non-zero (it will have length √(p/2)), so this could only happen if C rotated cj by 180 degrees, and the allowed values for j keep the rotation angle less than that.

How will the jth plane of rotation intersect the n-cube? Because the n-cube is a convex set, the intersection will be a convex polygon. The vectors v±j lie in the jth plane, and have been normalised to have at least one coordinate with absolute value 1, and no coordinates with absolute value greater than 1, so clearly they will lie on the boundary of the n-cube. In fact, we’ll show that for every value of p and j, one of the choices of sign for v±j will have at least 4 coordinates with absolute value 1. If we then use an appropriate power of C to rotate either v or –v into a new vector w that has ±1 in one of the same coordinates as v, then (so long as w is not just v or –v) that will imply that the entire line segment joining v and w will also have ±1 for the same coordinate, and hence must lie on the boundary of the n-cube. So v and w must be adjacent vertices of the convex polygon formed by the intersection of the jth plane of rotation with the n-cube, and the angle between them will tell us how many sides the polygon has.

The key to making this trick work is ensuring that we choose between v+j and vj in such a way that we’re guaranteed 4 coordinates with absolute value 1. We do this by making sure that the discretely-spaced samplings of the oscillating functions that give their coordinates do not quite hit the precise peaks and troughs of the continuous functions. If we can always choose a case where the maximum discrete sample is less than the peak, then (if there’s the right kind of symmetry) we can have two maxima for the price of one: one on the left of a peak of the continuous function, and one on the right.

Now, the crucial expression that determines this is M=(2m–3) j/p, where Mπ is the phase of the sin and cos functions in the coordinates. For a given p and j, if some value of m can make M an integer, then cos(Mπ) will hit ±1. If some m can make M a half-integer, then sin(Mπ) will hit ±1.

Suppose p=2q, for some integer q. Then we’re interested in whether we can rule out the possibility of M=(2m–3) j/(2q) = s/2 either for odd or even integers s. This equation is equivalent to:

(2m–3) j = s q

Suppose the powers of 2 in the prime-factor expansions of j and q are a and b respectively, so that j=2ak and q=2br, with k and r being odd. Now, if a>b, we can divide our equation through by 2b to obtain:

(2m–3) 2abk = s r

The LHS is even, and r is odd, so s can not be odd, which guarantees that sin(Mπ) can never equal ±1, so we should choose v=vj as our vertex.

Now suppose that ab. Then we divide through instead by 2a:

(2m–3) k = s 2bar

Now the LHS is odd, so s can not be even, which guarantees that cos(Mπ) can never equal ±1, and we should choose v=v+j as our vertex..

Whichever of v+j and vj we choose by this rule, how can we guarantee 4 peaks in absolute value? If we reach a peak at some value for m, then we’ll always have room to either increase or decrease m by q (since p=2q), and this alters M by the integer j. Whether j is odd or even, we will get a coordinate with the same absolute value as the first. And if instead we make the transformation mp+3–m, this induces the transformation M→2jM, again giving us a coordinate with the same absolute value. (If our original m is less than 3, making the new m too high, we just subtract p, which leaves the coordinate value unchanged. This means that if there’s a peak at m=1, there must be another at m=2, and vice versa.)

If we chose v=vj, then we’re dealing with sin(Mπ), and so the second of these transformations will always yield a sign reversal. If we choose m to be any coordinate index where vm=±1, then w=–C2m–3–pv will have wm=vm. Since the rotation due to negating v is π, and that due to the powers of C is 2j (2m–3–p) π/p, the angle between the vertices is (modulo integer multiples of 2π):

Aj = 2π (1/2 + (2m–3) j/p) = 2π (1/2 + Mpeak)

If we chose v=v+j, then the same transformation will always preserve the sign of the coordinate, so we will set w=C2m–3–pv. The resulting angle will then lack the extra π from the sign reversal we had before:

Aj = 2π Mpeak

In either case, what will determine the angle is how close M gets to being a half-integer or integer respectively. The easiest way to get a handle on this is to look at a couple of concrete examples. If we take the a>b case, where j has strictly more factors of 2 than q, suppose j=4, q=6, p=12. We only need to look at the first q values of (2m–3) j, at most, because we know the fractional part of M repeats after that. These are –4, 4, 12, 20, 28, 36; modulo p they are 8, 4, 0, 8, 4, 0. These values are all multiples of GCD(j,p)=4, and the closest they get to p/2 is GCD(j,p)/2. So we have Mpeak=1/2±GCD(j,p)/(2p), and hence (modulo 2 π):

Aj, a>b = ±2π GCD(j,p)/(2p)

If we take the case ab, where j has at most as many factors of 2 as q, suppose j=7, q=9, p=18. The first q values of (2m–3) j are –7, 7, 21, 35, 49, 63, 77, 91, 105; modulo p they are 11, 7, 3, 17, 13, 9, 5, 1, 15. The closest they get to 0 is GCD(j,p)=1, so Mpeak=GCD(j,p)/p, and:

Aj, ab = ±2π GCD(j,p)/p

However, we can actually merge these two formulas into a single one that covers both cases. In the first case:

GCD(j,p)/2 = GCD(2ak,2b+1r)/2 = 2b GCD(k,r) = GCD(2ak,2br) = GCD(j,p/2)

while in the second case:

GCD(j,p) = GCD(2ak,2b+1r) = 2a GCD(k,r) = GCD(2ak,2br) = GCD(j,p/2)

So we have the single formula:

Aj = ±2π GCD(j,p/2)/p

which tells us that the jth plane of rotation intersects the boundary of the n-cube in a regular polygon with p/GCD(j,p/2) sides. To make this concrete, here are the first few examples:

Number of sides of polygon for planes of rotation of a signed cycle of length p:
p/GCD(j,p/2) (p even, even number of minus signs)
  Plane number j (rotation angle 2jπ/p)
   1 2 3 4 5 6 7 8 91011
p 44
(ii) Odd cycle length, even number of minus signs.

These cycles will have determinant 1. The simplest example is (x y z), which rotates around the (1,1,1) vertex-pair of a cube.

For any odd p (less than or equal to n) the cycle C=(x1 x2 ... xp) will preserve the (np)-cube centre (1,1,...1,0,0,0,...). A (p–1)-dimensional space orthogonal to that vector will break down into (p–1)/2 planes of rotation. The formulas for the eigenvectors and the other vectors we constructed for case (i) are unchanged.

Because p is odd, M=(2m–3) j/p can never be a half-integer, so we can always choose v=vj. The transformations mp+3–m and m→3–m lead to M→2jM and M→–M, both of which swap the sign of sin(Mπ). We’re left with a formula we obtained for the sine choice of case (i):

Aj = ±2π GCD(j,p)/(2p)

but this time we can’t convert it to the single formula that applied to case (i). So the polygons have 2p/GCD(j,p) sides.

Number of sides of polygon for planes of rotation of a signed cycle of length p:
2p/GCD(j,p) (p odd, even number of minus signs)
  Plane number j (rotation angle 2jπ/p)
   1 2 3 4 5 6 7 8 9101112
p 36
(iii) and (iv) Cycle length even or odd, odd number of minus signs.

These cycles will have determinant (–1)p, where p is the length of the signed cycle. The simplest examples are (x y–), which rotates by 90 degrees in the xy plane, and (x–), which simply inverts the x-coordinate.

For any p (less than or equal to n) we’ll consider the cycle C=(x1 x2 ... xp–). As a group element it will have order 2p. If p is odd, the (np)-cube centre (1,–1,1,–1,...1,0,0,0...) will be inverted by C. Associated with C will be floor(p/2) orthogonal planes of rotation. The eigenvalues of this cycle are the pth roots of –1, which come in conjugate pairs of the form exp(±(2j–1)πi/p), j=1,...floor(p/2). The associated eigenvectors e±j will have coordinates:

e±j,m = exp(–±(2j–1) (m–1)πi/p)

where m ranges from 1 to p, and all other coordinates are zero. Two real vectors cj and sj, formed from the sum and difference of conjugate eigenvectors, have coordinates:

cj,m = cos((2j–1) (m–1)π/p)
sj,m = sin((2j–1) (m–1)π/p)

These vectors are orthogonal, and in the plane they span, C acts as a 2-dimensional rotation, with rotation angle (2j–1)π/p. The same kind of construction we performed for case (i) can be repeated:

dj = Ccj
dj,m = cos((2j–1) (m–2)π/p)
u±j = cj ± dj
u+j,m = 2 cos((2j–1)π/(2p)) cos((2m–3) (2j–1)π/(2p))
uj,m = –2 sin((2j–1)π/(2p)) sin((2m–3) (2j–1)π/(2p))
v±j = u±j / max {|u±j,m|, m=1,...p}

Comparing these formulas to case (i), in place of j we now have 2j–1 and in place of p we have 2p. Because m is still restricted to the range from 1 to p, we can’t expect to have 4 maxima for the absolute value of the coordinates as we had in case (i), but if we can guarantee 2, that will be enough to let us construct the polygon by the same general method.

Our new phase function is M=(2m–3) (2j–1)/(2p), and because the numerator is odd and the denominator is even, this can never be an integer. So we can simply choose v=v+j for every case. If we make the transformation mp+3–m, we get M→(2j–1)–M, and cos(Mπ) will change sign; however, if m<3, we have to switch to the transformation m→3–m, which gives M→–M, and cos(Mπ) is unchanged.

Both cases turn out to give the same net result:

Aj = 2π Mpeak

which we can find by substituting j→2j–1 and p→2p in our previous formula:

Aj = ±2π GCD(2j–1,p)/(2p)

So the number of sides of the polygon will be 2p/GCD(2j–1,p).

Number of sides of polygon for planes of rotation of a signed cycle of length p:
2p/GCD(2j–1,p) (odd number of minus signs)
  Plane number j (rotation angle (2j–1)π/p)
   1 2 3 4 5 6 7 8 9101112
p 2 4
3 6
4 8 8
5 10 10
6 12 4 12
7 14 14 14
8 16 16 16 16
9 18 6 18 18
10 20 20 4 20 20
11 22 22 22 22 22
12 24 8 24 24 8 24
13 26 26 26 26 26 26
14 28 28 28 4 28 28 28
15 30 10 6 30 10 30 30
16 32 32 32 32 32 32 32 32
17 34 34 34 34 34 34 34 34
18 36 12 36 36 4 36 36 12 36
19 38 38 38 38 38 38 38 38 38
20 40 40 8 40 40 40 40 8 40 40
21 42 14 42 6 14 42 42 14 42 42
22 44 44 44 44 44 4 44 44 44 44 44
23 46 46 46 46 46 46 46 46 46 46 46
24 48 16 48 48 16 48 48 16 48 48 16 48
Overview of n-cube symmetries

Having identified the geometrical effects of individual signed cycles, we can now put these results together to describe an arbitrary symmetry of an n-cube.

The first thing to note is that any symmetry can be characterised by a kind of signature, which lists the lengths and sign-parities (+ for any even number of minus signs, – for any odd number) of the signed cycles from which it is formed. For example, the symmetry S=(x1 x2)(x3–) has a signature {(2,+),(1,–)}, and its geometrical effects will be the same as those of any other symmetry of the n-cube with the same signature. Note that this signature is a multiset; the order of its contents is not important, but unlike the usual definition of a set, it can have repeated elements. A symmetry with signature {(2,+),(2,+),(1,–)} will act differently from S.

What exactly do we mean when we talk about two symmetries having “the same” geometrical effects, when the symmetries are not literally identical linear operators? The idea can be captured precisely by the notion of a conjugacy class. In group theory, the conjugacy class of an element g of a group G is defined as the set {h–1gh| h in G}. When G is a group of symmetries, what this means is that the action of any element k of the conjugacy class can be derived from g by means of a symmetry h that changes our point of view, such as a change from one set of coordinate axes to another. If we first apply h to switch our point of view, then apply g, and then switch back with h–1, the net effect is the symmetry k. So for example, in the group of all rotations, rotations by a certain angle, whatever axis they preserve, will belong to a single conjugacy class. When G is the group of symmetries of the n-cube, the definition becomes a bit tighter: a 180-degree rotation that preserves a face-centre will not be in the same conjugacy class as a 180-degree rotation that preserves an edge-centre.

It’s easy to prove that any two cycles g and k with the same length and sign-parity belong to the same conjugacy class, because we can explicitly construct a symmetry h such that k=h–1gh.

    a1 --- k ---> a2 --- k ---> a3  ...  ap --- k ---> a1
     |            ^|            ^|       ^|            ^
     |            ||            ||       ||            |
     |          –1||          –1||     –1||          –1|
     |h        h  ||h        h  ||h   h  ||h        h  |
     |            ||            ||       ||            |
     |            ||            ||       ||            |
     |            ||            ||       ||            |
     v            |v            |v       |v            |
    b1 --- g ---> b2 --- g ---> b3  ...  bp --- g ---> b1

The diagram above illustrates two signed cycles of length p: k, which maps the coordinates axis a1 into a2, a2 into a3, ... ap into a1, and g, which maps the coordinate axis b1 into b2, b2 into b3, ... bp into b1. It’s clear that our symmetry h will have to map a1 into b1, etc., and the only real question is how to deal with whatever sign reversals k and g perform. We can start out arbitrarily declaring that h maps a1 into b1 without a sign reversal, but then when it comes to the action of h in mapping a2 to b2, its sign will be fixed by the need to agree with the sign of h–1 in mapping b2 to a2, which in turn is fixed by the need for k(a1) to equal h–1(g(h(a1)). Explicitly, we can write sign(h,a2,b2) = sign(h,a1,b1) sign(k,a1,a2) sign(g,b1,b2). As we move across the diagram from left to right, all the signs for h are fixed this way, and when we come to the end of the diagram, it will wrap successfully back to the start so long as g and k have identical sign parity.

This same construction easily extends from single cycles to any two symmetries that have the same signature, and hence are composed of cycles that can be paired up like k and g above.

We’ll complete this section with a summary of the kind of actions that can be performed by general symmetries.

Firstly, if we nominate a given k-cube-centre, is there always some cycle that will keep it fixed? Yes. For example, the vector with (nk) ones, (1,1,1,...0,0,0,...), will be preserved by the cycle (x1 x2 ... xnk). If nk is odd, this will be a rotation; if nk is even it will be a reflection. If k=n–1, then this recipe would give us the identity, but then any cycle that acts only on the (n–1)-cube’s zero coordinates will preserve it.

Is there always a cycle that will invert a given k-cube centre? Yes. For example, if nk is even, (1,–1,1,–1,...1,–1,0,0,0,...) will be inverted by the reflection (x1 x2 ... xnk), and if nk is odd, (1,–1,1,–1,...1,0,0,0,...) will be inverted by the reflection (x1 x2 ... xnk–).

Next, we consider the kinds of rotations that can occur in various planes. Rotations by 180 degrees are really a degenerate case that occurs when two orthogonal vectors are both inverted. They can only be produced by symmetries that are the products of at least two cycles.

The rotations produced by any single cycle will always be strictly less than 180 degrees in magnitude. As we’ve already noted, any plane that contains k-cube-centres can only be rotated by an angle with a rational cosine: 60, 90, 120 and 180 degrees. That immediately tells us that, for dimensions greater than 3 there will always be symmetries with some planes of rotation containing no k-cube-centres at all, as we saw for the Non-simple 4E rotations.

If a cycle rotates in some plane by 60, 90 or 120 degrees, what can we say about the k-cube-centres lying in that plane? For rotations by 90 degrees produced by a cycle of length p, p will always be even, and the intersection of the plane of rotation with the n-cube will be a square with (np)-cube-centres as it corners. For example, for cycles of the form (x1 x2 ... xp) where p is a multiple of 4, or (x1 x2 ... xp–) where p is an odd multiple of 2, the corners of the square will include the orthogonal (np)-cube-centres (1,1,–1,–1,1,1,...0,0,0,...) and (–1,1,1,–1,–1,1,...0,0,0,...). The centres of the square’s edges will be (np/2)-cube-centres, as can be seen by adding together the two vertices from our example and dividing by two.

For rotations of 60 degrees produced by cycles of length p, p will always be a multiple of 3, and the the intersection of the plane of rotation with the n-cube will be a hexagon with (n–2p/3)-cube-centres as its corners. For example, for cycles of the form (x1 x2 ... xp) where p is a multiple of 6, or (x1 x2 ... xp–) where p is an odd multiple of 3, the corners of the hexagon will include (1,1,0,–1,–1,0,1,1,0,...0,0,0,...) and (0,1,1,0,–1,–1,0,1,1,...0,0,0,...).

For rotations of 120 degrees produced by cycles of length p, p will again be a multiple of 3, and the the intersection of the plane of rotation with the n-cube will again be a hexagon with (n–2p/3)-cube-centres as its corners. For example, for cycles of the form (x1 x2 ... xp), the corners of the hexagon will include (–1,1,0,–1,1,0,...0,0,0,...) and (0,–1,1,0,–1,1,...0,0,0,...).

These are the only cases where the corners of the polygon will be k-cube-centres. However, we note that in general whenever the number of sides of the polygon, g, is less than the maximum possible for p, which is 2p, the corners of the polygon will lie within lower-dimensional k-cubes than the generic situation, where k=n–2. Specifically:

k = n – 4p/g

For example, for n=8, p=8, the cycle (x1 x2 ... x8) causes 45-degree rotations in a plane that intersects the 8-cube in an octagon. Rather than lying on 6-cubes, the corners of this octagon lie on 4-cubes.

The character table for the symmetries of the 4-cube

As an appendix to our discussion of the symmetries of the n-cube, we present a character table for the group of symmetries of the 4-cube. This 384-element group has 20 conjugacy classes (recall that two elements a and b belonging to the same conjugacy class if there is an element h such that b = h–1ah). The group also has 20 distinct irreducible representations (that these numbers are the same is no coincidence). A representation ρ maps each element g of the group to a linear operator ρ(g) on some vector space V, in such a way that the map is a group homomorphism:

ρ(g) ρ(h) = ρ(g h)

One obvious representation of the symmetries of the 4-cube just associates each group element with the linear operator that performs the rotation or reflection of R4 we are using to describe the symmetry; this is called the fundamental representation. Every group also has a trivial representation, where each element is associated with the identity operator on a 1-dimensional vector space. But there are many other representations. For example, consider the vector space of functions that assign real numbers to every vertex of the 4-cube. Because there are 16 vertices, this is a 16-dimensional vector space. We can define a 16-dimensional representation of the group of symmetries of the 4-cube on this function space:

16(g) f](v) = f(g–1 v)

where by g–1 v we mean we apply the inverse of g in the fundamental representation to the vertex v, giving us another vertex at which the original function f is evaluated.

We say that a subspace W of the vector space V on which the representation’s operators act is invariant if there is no group element g and vector w in W such that ρ(g) w lies outside w. As shorthand, we write ρ(g) WW for all g. A representation is called irreducible if V contains no proper invariant subspaces (that is, no invariant subspaces other than the origin and the whole space).

Our example ρ16, the representation on the 16-dimensional space of functions of the vertices of the 4-cube, is certainly not irreducible. To see this, note that the constant functions (functions that have the same value on all 16 vertices) form a 1-dimensional subspace of the function space, and ρ16(g) leaves them all unchanged for every g. So the 1-dimensional trivial representation appears as a subrepresentation of ρ16.

The character χ of a representation ρ is defined as the trace of each operator in the representation:

χ(g) = Tr ρ(g)

The trace of any matrix M is unchanged by conjugation with an invertible matrix A:

Tr (A–1 M A) = Tr M

It follows that the character χ of a representation will have the same value on all members of a given conjugacy class. So the characters of the representations of the symmetries of the 4-cube can be described simply by stating their values on all 20 conjugacy classes.

The characters of the irreducible representations of a group provide a powerful tool for studying any representation of the group. For example, a suitably normalised inner product between characters:

1, χ2> = [Σg∈G χ1(g)* χ2(g) ] / |G|

is orthonormal for the irreducible representations: it is 1 for any irreducible representation with itself, and 0 between any two irreducible representations that are not equivalent. Two representations are considered equivalent if they are really “doing the same thing”, even if they act on different vector spaces. Formally, if representation ρ1 acts on vector space V1 and representation ρ2 acts on vector space V2, they are equivalent if there is an isomorphism T: V1V2 that commutes with the two representations:

T ρ1 = ρ2 T

If a representation ρ can be broken down into various irreducible subrepresentations, its character will be equal to the sum of the characters of those subrepresentations. Its inner product with the character of any irreducible representation ρi will be equal to the number of its subpresentations that are equivalent to ρi.

In the table below, the columns apply to each of the 20 conjugacy classes. We give signatures for each conjugacy class stating the length and overall sign of each signed cycle, and for the sake of brevity rather than repeating these descriptions if there is more than one cycle with the same structure, we just give the multiplicity as a superscript, e.g. (1,–)4 rather than {(1,–), (1,–), (1,–), (1,–)}. The first column refers to the conjugacy class of the identity element, e. The row labelled “Size” states the number of elements in the conjugacy class, then subsequent rows give the values of the various characters. The first character, χ0, is that of the trivial representation acting on a 1-dimensional vector space, so its value is simply 1 on every conjugacy class. In general, the value of a character for the identity element gives the dimension of the representation, since it is equal to the trace of the identity operator on the representation’s vector space.

The trivial representation and the fundamental representation are identified in the table, along with the determinant representation, the 1-dimensional representation that maps each matrix of the fundamental representation to its determinant, and hence has a value of 1 for rotations and –1 for reflections.

All 20 irreducible representations can be found as subrepresentations of spaces of functions defined on various features of the 4-cube. For example, the determinant representation, whose character is given here as χ1, can also be derived from the function on vertex coordinates:

F(x1, x2, x3, x4) = x1 x2 x3 x4

This function assigns a value of ±1 to every vertex of the 4-cube, assuming our usual scheme where all vertex coordinates are ±1. Applying any symmetry to the 4-cube will either produce –F or just F again, so this is a 1-dimensional representation, but it is not the same as the trivial representation. Similarly, there are representations of dimension 4, 6 and 4 obtained by starting with a function that multiplies together all the non-zero coordinates of the centres of edges, faces and cubes, but in those cases applying all the symmetries of the 4-cube yields a set spanned by, respectively, 4, 6 and 4 linearly independent functions, rather than just changing the sign of the original function.

Characters of the irreducible representations of the symmetries of the 4-cube
Conj. class:e(1,–)4(1,–)(1,–)3(1,–)2(2,+)(2,–)(1,–)2
[Trivial] χ011111111111111111111
[Det] χ111–1–111–11–111–11–11–1–111–1
[Fund] χ114–42–2022–2–20000011–1–100

Metric properties

If an n-cube has an edge length of s, its “n-volume” is sn. The (n–1)-volume of its boundary is 2 n sn–1. The edge length is the minimum distance between any two distinct vertices of the n-cube; in contrast to this, the maximum distance between vertices occurs between diagonally opposite vertices, and is equal to sn.

It’s interesting to compare the volumes of hypercubes and hyperspheres. Mathematicians use the term “n-ball” and the symbol Bn to describe the subset of Rn that lies within a certain distance of a certain point (and reserve the term “n-sphere” for the n-dimensional boundary of an (n+1)-ball). Using this terminology, the n-volume of an n-ball of radius r falls into two series, depending on whether n is even or odd:

 volume of B2k(r) =  (πk / k!) r2k  
 volume of B2k+1(r) =  (πk 22k+1 k! / (2k+1)!) r2k+1  

(These two formulas can be encompassed by a single expression involving the Gamma function Γ, a generalisation of factorials, giving the volume of Bn(r) = (πn/2 / Γ(n/2 + 1)) rn).

The n-volume of an n-ball of radius 1, for n=1...20, is plotted below:

Volumes of unit n-balls

Suppose the n-ball is inscribed inside an n-cube: i.e. the n-ball is placed at the centre of an n-cube whose edge length is twice the n-ball’s radius. The n-ball lies completely inside the n-cube, and their boundaries touch at 2n points (imagine a sphere sitting inside a cube, touching the centres of its six faces). With increasing n, the fraction of the n-cube’s volume occupied by the n-ball falls rapidly:

Proportional volume of n-ball inscribed in n-cube

Now, suppose instead that the n-ball circumscribes the n-cube: i.e. the two still share a common centre, but now the n-cube lies within the n-ball, and their boundaries touch at every vertex of the n-cube (imagine a sphere that touches the eight vertices of a cube). With increasing n, the ratio of the n-ball’s volume to that of the n-cube increases rapidly:

Proportional volume of n-ball circumscribed around n-cube

Packing with hyperspheres

The increasing size of the diagonal compared to the edge length of an n-cube, as n increases, can lead to some counterintuitive results. Imagine dividing an n-cube into 2n smaller cubes, each with half the original edge length. Inscribe an n-ball in each of the smaller cubes. These n-balls will all touch the boundary of the large n-cube (at n points each), and each one will touch n of the other n-balls.

Now, imagine placing one more n-ball at the centre of the original n-cube, with its radius chosen to be just large enough that it touches every one of the 2n other n-balls. For n=2, this central n-ball will be much smaller than the others, but for n=4 it is the same size. For n=9 it is twice as big, and hence touches the boundary of the large n-cube, and for n=10 it extends beyond that n-cube.

The animation below shows this, for n=2 to n=10. The image is a slice which passes through the centre of the large n-cube and four of its vertices (the four being a pair of vertices joined by an edge, and a second pair diagonally opposite the first); the central n-ball and the four n-balls whose centres lie in this plane are shown with heavy lines, while the projections of the other n-balls onto the plane are shown with dashed lines.

Packing of 2^n n-balls into n-cube

Valid HTML Valid CSS
Applets Gallery / Hypercube (Technical Notes) / created Sunday, 22 April 2007 / revised Wednesday, 24 September 2008
If you link to this page, please use this URL: http://www.gregegan.net/APPLETS/29/HypercubeNotes.html
Copyright © Greg Egan, 2007-2008. All rights reserved.