Keine Sorge, meine deutschen Leser, hier geht es nicht um Haare oder das Hairy-Ball-Theorem.
Seven graph theorists want to meet for coffee. They agree to meet three at a time and, naturally, require every pair to meet exactly once. The task that remains is deciding who should attend which meetings in order to achieve this.
Each meeting uses three of the pairs, so there must be seven meetings. Each person has six others to meet, two at a time, so everyone must attend three meetings.
One way to ensure that everyone attends three meetings is to number the people around a circle, choose a triple, and move all three choices one place clockwise for each of the next six meetings. In other words, add to each number modulo . We only need to find a triple whose cyclic shifts never repeat a pair.
Our first guess might be . Adding gives , so people and already meet twice.
Any two names are one, two, or three steps apart around the circle, counting in whichever direction is shorter. The seven cyclic shifts of a pair give all seven pairs at that distance. So, if the three pairs in our triple have different distances, no pair will repeat. The triple does this. The names and are one step apart, and are two, and and are three.
The seven meetings are then
Because they are graph theorists, they want to record attendance in a graph. Thus, we make a vertex for meeting and a vertex for person . Join them when person attends meeting , taking subscripts modulo . The resulting graph is called the Heawood graph.
Each meeting has three people and each person attends three meetings, so every vertex has degree three. The graph is bipartite, with meetings in one class and people in the other. In terms of the coffee problem, if there were a four-cycle then this would mean two people attended the same two meetings.
We have been adding modulo , so our labels belong to the cyclic group . The edges of the graph are determined entirely from the set , using the rule
We chose to solve the coffee problem. But if we are just interested in the graph,1 could we do this for any subset ? And could we replace by a different group? As you might've guessed since you are reading this post, it turns out this construction works for any finite group.
For a finite group and a subset , make two disjoint sets of vertices
and join to for each . This is the Haar graph , and is its connection set. Equivalently, exactly when . In an additive group, this becomes , so our example is . When is cyclic, these are called cyclic Haar graphs.
Each label gives one edge at every vertex, connecting to and to . Thus, the graph is simple, bipartite, and -regular, with vertices and edges. The edges of any one label correspond to a perfect matching, as the colors in Figure 2 show.
Hladnik, Marušič, and Pisanski studied these graphs for abelian groups in Cyclic Haar graphs (2002). Estélyi and Pisanski later considered arbitrary finite groups in Which Haar graphs are Cayley graphs? (2016).
Adding modulo to every subscript takes an edge such as to . Any such map preserves vertex adjacency, giving an automorphism. We can do the same thing in any Haar graph. Left multiplication by sends
Exactly one left multiplication takes to a given , namely multiplication by . The same holds in the -class. We say that acts simply transitively, or regularly, on each class.
We can also use this observation in reverse. Suppose a bipartite graph has a group acting by automorphisms, simply transitively on each class. Choose a vertex in one class and in the other. Every vertex then has a unique label or . Take to consist of the elements for which . Applying shows that exactly when . Thus, the graph is .
The choice of also affects whether the graph is connected. To reach another -vertex, we first follow an edge labeled to the -class, then return along one labeled , giving
Repeating these pairs of steps from reaches exactly the -vertices indexed by the subgroup generated by . Thus, for nonempty , the graph is connected exactly when generates . If , this is equivalent to generating . The Heawood graph is connected because contains and the generator .
The edge labels are also useful when building a rotation system. Choose a cyclic order on and order the edges at every -vertex by their labels. Each label occurs on exactly one incident edge, so this gives a local rotation. Do the same at the -vertices with another order , and we have a rotation system. Left multiplication preserves each edge label, taking to , so it also preserves these orders.
Our graph has fourteen vertices, each with two possible cyclic orders. That gives rotation systems if we choose the orders separately. But if we use at every -vertex and at every -vertex, there are just two choices for each, giving four rotation systems to try.
We can keep track of these orders on a much smaller graph, with one vertex , one vertex , and one edge for each . This graph of parallel edges is a dipole, with the orders and at its two vertices.
Figure 3 is an example of a voltage graph. The smaller graph is called the base graph. Choose a direction for each of its edges and label it with an element of a group . This label is the voltage. Reading an edge in the opposite direction replaces its label by its inverse. In an additive group, it changes the sign.
To build the derived graph, make a copy of each base vertex for every . An arrow with voltage gives an edge for each . Thus, the label tells us which copy of to join to a given copy of . For our dipole, the labels , , and give the three colored matchings in Figure 2. A Haar graph is exactly the derived graph of a dipole with one voltage for each element of .
We can also choose rotations at the base vertices. Each copy then gets the same cyclic order of the corresponding edge ends. For our dipole, these are the two orders and .
A walk in the base graph determines a walk in the derived graph once we choose a copy of its starting vertex. This is called a lift. For example, take edge forward and edge backward in the dipole. The backward step contributes . The base walk returns to , but its lift from ends at .
Each pair of steps subtracts modulo , so seven repetitions give a fourteen-cycle. More generally, multiply the voltages along a walk in the order they are encountered, using inverses when traveling backward. This product is its net voltage. A closed base walk lifts to a closed walk exactly when its net voltage is the identity. For additive groups, we add the labels instead.
A current graph starts with an embedded graph whose directed edges have group labels, called currents. Reversing an edge inverts its current. For example, take the dipole below, with currents , , and in , all directed from to . The cyclic order at both vertices specifies an orientable cellular embedding.
We can trace a face by starting with edge from to . The rotation at tells us to take edge next, which brings us back to . At , edge comes next, so we follow it to . Continuing in this way, we read before returning to the dart we started with. Since we have used every edge in both directions, the embedding has only one face.
Figure 7(a) shows this face cut open into a hexagon. Put a new vertex inside it and join to the middle of each side. There are six sides in the picture because each of the three original edges appears twice along the boundary. In particular, the sides marked and both come from edge . Gluing them back together joins the two segments into a single edge from to itself, crossing edge . Each of the other two pairs gives a loop in the same way, leaving one vertex and three loops. This gives the dual of the original embedding.
Now give these loops voltages , , and , with the directions shown in Figure 7(b). For the green loop, leaving along the upper segment follows the arrows and gives voltage . Leaving along the lower segment goes around the same loop backward and gives voltage . Reading the signed labels clockwise around gives , in the same order as around the original face.
The voltage construction replaces by seven vertices , which we'll just call . The loop with voltage gives an edge from to for every , modulo . For this joins to , and for it joins to . Thus has neighbors and from this loop. The loop with voltage gives it neighbors and , and the loop with voltage gives it neighbors and . In the cyclic order from Figure 7(b), these neighbors occur as . At vertex , we add to each entry, giving
Each vertex is adjacent to all six others, so the derived graph is . We can trace one of its faces directly. Start with . In the rotation at , the neighbor after is , so next we take . At , the neighbor after is , and at , the neighbor after is . We have returned to the starting dart after tracing the triangle .
The changes in vertex label along this triangle are , the currents leaving in their cyclic order. In the dual embedding, there is a face containing . Its boundary crosses the three original edges at , traversing the loops with voltages . Since we copied the dual rotations, following this boundary in the derived graph gives the same increments. Their sum is modulo , so three steps return us to our starting vertex. At , the outgoing currents are , which also sum to and give the triangle . The condition that the outgoing currents sum to at each vertex is called Kirchhoff's current law.
Adding each element of to the vertex labels gives seven triangles of each kind. These are the fourteen faces. So this two-vertex current graph has given us a triangular embedding of .
William Sharp Gustin, an American mathematician, developed the current-graph method in 1963, and it became central to Ringel and Youngs's 1968 solution of the orientable Heawood map-coloring problem. Gross (1974) introduced voltage graphs as a dual approach.
Going back to our Haar graph, let's try the same cyclic order on at both types of vertex,
Starting with , label comes next at , so we go to . Label comes next at , taking us to . Following the two rotations gives the face in Figure 11.
To do the same calculation for any Haar graph, write for and for . Let reverse a dart and take the next dart in the local rotation. The face permutation is , with composition read from right to left. It crosses the edge to and takes the next label in the -rotation, giving
As in our connectivity calculation, two steps bring us back to the -class. Crossing back multiplies the subscript by , and gives the next label, so
Here, the first coordinate is the vertex subscript and the second is the label of the edge we are about to take. Returning to our starting dart means returning to the same vertex with the same edge label. Since each application of moves two steps along the face, a face has length four if two applications return us to the starting pair and one application does not. For every face to have length four, this must hold for every -dart. We can check this using the formula above for any choice of and .
In our example, the edge label follows under . It returns for the first time after three applications of , and the total change to the vertex subscript is
The same calculation works starting at label or , so every face has length six. Adding each element of to all the vertex subscripts in Figure 11 gives the seven faces shown below.
- Because this was never really about coffee. ↩