The discussion on error-correcting codes is about to get a little hypercube heavy (never a good state to be in), and a brief foray into how to construct/visualize them may be in order. I’ll take the liberty of defining an n-dimensional (unit) hypercube as a shape whose
1. vertices are located at coordinates made of entirely 0′s and 1′s, and
2. has an edge wherever two vertices are distance 1 apart.
This would take two more things to make a complete definition: I should let you move the cube about however you like (no reason to have it fixed is space), and I should tell you about the 2-D faces, 3-D hyperfaces, and so on up to the (n-1)-D hyperfaces. You can use that first one if you want, but I’ll ignore the second. I think I did a good job of defining what’s called the 1-skeleton of a very particular n-dimensional hypercube.
Anyways. Wednesday had pictures of a 2-cube and 3-cube. What about the 4-cube? Or 5-cube? It will help to consider this all from a less analytic, more graph theory (or, if that sounds technical, “pictures and problem solving”) point of view. Condition 1 for a hypercube says that there are 2n vertices, all the binary sequences of length n. Then condition 2 says that two vertices are connected if you can change one vertex’s binary sequence to the other’s by changing a single bit. We’ll go one step further, by just coloring particles on a line: white for 0, black for 1 (this is something of a homage to my undergraduate thesis advisor’s work with polyhedra).
The only two things left to do are to draw the vertices and arrange them in nice ways (that is, fine a “nice” projection).
Below is the image from the wikipedia 5-, 6-, and 7- cubes. Note the some of the vertices are laying on top of eachother. I’ll leave it as an exercise to the reader to label these vertices with the appropriate binary sequences.