Heffter Arrays and Biembedding Graphs on Surfaces

A Heffter array is an m by n matrix with nonzero entries from Z_{2mn+1} such that i) every row and column sum to 0, and ii) no element from {x,-x} appears twice. We construct some Heffter arrays. These arrays are used to build current graphs used in topological graph theory. In turn, the current graphs are used to embed the complete graph K_{2mn+1} so that the faces can be 2-colored, called a biembedding. Under certain conditions each color class forms a cycle system. These generalize biembeddings of Steiner triple systems. We discuss some variations including Heffter arrays with empty cells, embeddings on nonorientable surfaces, complete multigraphs, and using integer in place of modular arithmetic.


Introduction
We study a relation between design theory, graph theory, and maps on surfaces. From design theory a Heffter system is used to construct a cyclic kcycle system. We introduce orthogonal Heffter systems and represent them as a Heffter array. The array is related to a current assignment on the complete bipartite graph K m,n . The current graph with certain conditions is then used to construct an orientable embedding of the complete graph K 2mn+1 that is face 2-colorable, the boundaries of each color class forming a cycle system. A similar theorem is given for embeddings in nonorientable surfaces.
Heffter's First Difference Problem [16] asks if the numbers from 1 to (m − 1)/2 can be partitioned into (m − 1)/6 triples (x, y, z) such that either x + y = z or x + y + z = m. Heffter used this partition to construct a Steiner triple system, STS(m), a collection of triples from an m-set that collectively contain every pair exactly once [8]. This corresponds to a set of 3-cycles whose edges partition E(K m ). An s-cycle system partitions E(K m ) into scycles. Buratti and Del Fra [6] proved the existence of k-cycle systems of K m having a cyclic action on the parts whenever m ≡ 1 (mod 2k).
A Heffter array is an m × n array with non-zero entries from Z 2mn+1 such that the entries are all distinct up to sign and such that each row and column sum to 0. We explore Heffter arrays in Section 2. We also define two properties of orderings ω r and ω c on the cells of a Heffter array.
A current graph is an embedded graph where each directed edge has been assigned an element from a fixed current group. Under some special conditions current graphs can be used to construct embeddings of complete graph. These embeddings were first used in the solution of the Map Color Theorem [20]. Details of this relation are given in [15]; we give a brief explanation in Section 3. The relation between Heffter arrays and current graphs are described in Section 4. One main result is the following whose proof is given in Section 4. Theorem 1.1 Given a Heffter array H(m, n; s, t) with compatible orderings ω r on D(m, s) and ω c on D(n, t), there exists an orientable embedding of K 2ms+1 such that every edge is on a face of size s and a face of size t. Moreover, if ω r and ω c are both simple, then all faces are simple cycles.
A biembedding of the complete graph K m is one that is face 2-colorable. We are particularly interested when the face boundaries of the first color class form an s-cycle system and those of the other color class form a t-cycle system. These have most commonly been studied in the case s = t = 3, that is, both color classes are STS(m)'s. Triangular biembeddings were shown to exist in [20] for all n ≡ 5 (mod 12) and in [23] for all n ≡ 7 (mod 12), the two necessary cases. Biembeddings of Steiner triple systems have been widely studied [12,13] particularly for small values [11]. Grannell and Griggs [10] give a very nice survey. McCourt [18] has studied biembeddings where one color class gives and STS and the other half give a decomposition of E(K m ) into Hamilton cycles. Brown [5] has a class of embeddings where one color class is triangles and the other quadrilaterals. Section 5 discusses weak Heffter arrays and their use to construct biembeddings on nonorientable surfaces. Section 6 closes with some directions for future research, several of which will be the subject of subsequent papers.

Heffter systems and Heffter arrays
Let Z m be the cyclic group of odd order m whose elements are denoted 0 and ±i where i = 1, . . . , (m − 1)/2. A half-set L is a subset of (m − 1)/2 nonzero elements that contains exactly one of each pair {x, −x}. A Heffter system, D(m, k), is a partition of L into parts of size k such that the elements in each part sums to 0 modulo m. Heffter's First Difference Problem [16] asks if the numbers from 1 to (m − 1)/2 can be partitioned into (m − 1)/6 triples (x, y, z) such that either x + y = z or x + y + z = m. This is equivalent to finding a D(m, 3).
Two Heffter systems D m = D(2mn + 1, m) and D n = D(2mn + 1, n) on the same half-set L are orthogonal if each m-set of D m intersects each n-set of D n in a single element. A Heffter array H(m, n) is an m × n array whose rows form a D(2mn + 1, n) and whose columns form a D(2mn + 1, m); we call these the row and column Heffter systems respectively. A Heffter array H(m, n) is equivalent to a pair of orthogonal Heffter systems: cell a i,j contains the common element in the i th part of the row system and the j th part of the column system. Let A be a subset of Z m with a∈A a ≡ 0 (mod m) such that no pair {x, −x} is a subset of A. Consider a cyclic ordering (a 1 , . . . , a k ) of the elements in A and let s i = i j=1 a j . The ordering is simple if s i = s j for i = j. Equivalently, the cyclic ordering is simple if there is no consecutive subsequence of elements that sum to 0. A Heffter system D(m, k) has a simple ordering if and only if each part has a simple ordering. Proposition 2.1 An ordered Heffter system D(m, k) forms a decomposition of E(K m ) into closed trails of length k. Moreover, if the ordering is simple, then its corresponding decomposition is a k-cycle system. Let D 1 = D(2mn + 1, s), D 2 = D(2mn + 1, t) be two orthogonal Heffter systems with orderings ω 1 , ω 2 respectively. The orderings are compatible if their composition ω 1 • ω 2 is a cyclic permutation on the half-set. The importance of compatible orderings will be examined in Section 4 when we relate Heffter arrays and current graphs.
A variation of Heffter arrays allows for some cells to be empty. Two Heffter systems D(2ms + 1, s) and D(2nt + 1, t) on the same half-set of order ms = nt are sub-orthogonal if each s-set of D(2ms + 1, s) intersects each t-set of D(2nt + 1, t) in at most one element. As before, form an m × n array H(m, n; s, t) where a i,j is the common element in the i th part of D(2ms+1, s) and the j th part of D(2nt + 1, t), if any, and the cell is empty otherwise. Necessary conditions for the existence of an H(m, n; s, t) are ms = nt, 3 ≤ s ≤ m, and 3 ≤ t ≤ n. Figure 2 gives an example of a H(6, 12; 8, 4). If a Heffter array H(m, n; s, t) is square, i.e., m = n, then necessarily s = t. In this case we denote the square by H(n; k). The commonality in the notation is that parameters before the semicolon refer to sides of the squares, those after to the number of filled cells in a row or column. Figure 3 gives a H(5; 4). Square arrays with empty cells are studied in [2]. Let H(m 1 + m 2 , n 1 + n 2 ; s, t) be a Heffter array. Suppose that the rows and columns of H can be permuted such that each nonempty cell a i,j has either i ≤ m 1 and j ≤ n 1 , or it has i > m 1 and j > n 1 . Then the array is called block diagonal. Constructing block diagonal arrays is convenient and powerful, but they are not suited for the application to graph embeddings and so are sometimes avoided.

Orientable embeddings and current graphs
In this section we describe the use of rotations to describe a cellular embedding of a graph on a fixed orientable surface. We also define current graphs and their usefulness in embedding complete graphs.

Orientable embeddings
Consider a graph G and for every edge e let e + and e − denote its two possible directions. Let D(G) be the set of all directed edges, so |D(G)| = 2|E(G)|, and define τ as the involution swapping e + and e − for every e.
If we select a local rotation for each vertex, then collectively they form a rotation ρ of D(G). The orbits of ρ correspond bijectively to the set of local rotations on V (G). The proof of the following is omitted; see [15,19] for details. Theorem 3.1 A rotation on G is equivalent to a cellular embedding of G in an oriented surface. The faces boundaries of the embedding corresponding to ρ are the orbits of ρ • τ .
Calculating ρ•τ is called the face-tracing algorithm. Knowing the number of faces allows you calculate the genus g of the surface using Euler's formula We are especially interested in monofacial embeddings, those with a single face. By Euler's formula if a graph has a monofacial embedding, then |V | ≡ |E| (mod 2). However, this necessary condition is not sufficient. The following is a special case of Xuong's Theorem [22]. The proof provides an algorithm for calculating a rotation yielding the monofacial embedding. Kundu [17] showed that every 4-edge-connected graph has two disjoint spanning trees. This combined with Theorem 3.2 gives: If G is 4-edge-connected and |V | ≡ |E| (mod 2), then G has a monofacial embedding.

Current graphs
Current graphs [14] were originally developed as quotients of surface embeddings. In particular, a monofacial embedding of a graph with currents added to the edges are used to construct a rotation on a derived graph, usually complete. We briefly describe this construction.
A current assignment on G with currents from Z m is a function κ : . We frequently require the following conditions:   Figure 4 shows a unique-current assignment that satisfies KCL in Z 25 . Here, as elsewhere, we denote a directed edgeē by its unique current κ(ē). We read each local rotation anticlockwise as the edges emanate from the vertices; for example, around vertex C 4 the directed edges with currents (−9, −11, −5) appear in that cyclic order. This gives the rotation: A rotation ρ on a current graph induces a local rotation on D v for each vertex v, say (e 1 , . . . , e k ). This local rotation is simple with respect to κ if the corresponding partial sums s i = i j=1 κ(e j ) are all distinct, similar to the definition of a simple ordering for a subset of a group.
An (s, t)-biregular graph with biorder (m, n) is a bipartite graph with one part having m vertices of degree s and the other part having n vertices of degree t. Theorem 3.4 Let G be an (s, t)-biregular graph of biorder (m, n). Suppose that G has a rotation ρ giving a monofacial embedding and a unique-current assignment κ from Z 2ms+1 satisfying KCL. Then there is an embedding of K 2ms+1 on an orientable surface such that each edge lies on a face of size s and a face of size t. Moreover, if each local rotation on G is simple with respect to κ, then the faces of K 2ms+1 are simple cycles.
Proof: This is the standard construction of a derived embedding from a current graph [15,20]; a careful analysis is given in [14]. The vertex set of K 2ms+1 will be the elements of Z 2ms+1 . Let e 1 , . . . , e 2ms denote the directed edges traversed in the single face of the embedding of G. Define the local rotation at vertex 0 ∈ Z 2ms+1 as (κ(e 1 ), . . . , κ(e 2ms )). Develop this rotation in Z 2ms+1 by defining the rotation at vertex i ∈ Z 2ms+1 as (κ(e 1 ) + i, . . . , κ(e 2ms ) + i).
We use the face-tracing algorithm to show that a vertex of degree d in G satisfying KCL corresponds to 2ms + 1 faces of size d in the embedding of K 2ms+1 . Since the graph is (s, t)-biregular, each edge of K 2ms+1 lies on faces of size s and t. Likewise, if each local rotation is simple, then the corresponding faces of the embedding of K 2ms+1 are simple cycles.
The rotation ρ on the current graph G plays two independent roles in this construction: i) ρ generates a monofacial embedding, and ii) each local rotation ρ v is simple with respect to the current assignment κ. Any rotation on a vertex of degree d ≤ 5 is simple.
There is a quick way to find the faces of the derived embedding arising from an embedded current graph. Let v be a vertex of the current graph G with degree k. The rotation ρ giving the monofacial embedding determines a local rotation ρ v = (e 1 , . . . , e k ) on D v . Consider s i = i j=1 κ(e j ). By KCL s k ≡ 0 (mod 2ms + 1). The faces of the embedding of K 2ms+1 are precisely the cyclic shifts of (0, s 1 , . . . , s k−1 ). Describing the faces is enough to determine the embedding. A full proof of Theorem 3.4 shows that the monofacial condition guarantees that these faces meet in a cyclic manner at each vertex, i.e., we have a surface without pinch points.

Relating Heffter arrays and current graphs
We have described two seemingly different objects: Heffter arrays and current graphs on biregular graphs. We show they are closely related. Two compatible orderings ω r and ω c on the row and column Heffter systems of H are equivalent to a monofacial rotation ρ on G. Moreover, if ω r and ω c are both simple, then ρ is simple with respect to κ.
Proof: Given a Heffter array H(m, n; s, t), form a bipartite graph G whose vertex set is the rows of H together with its columns. For each non-empty a i,j in H add an edge in G labeled with current a i,j directed from the i th row of H to its j th column; as usual the reverse edge receives the negative current. Since H has s entries per row and t per column, the resulting graph is (s, t)-biregular graph of biorder (m, n). Each row and column of H sums to 0, so G satisfies KCL. The entries of H form a half-set L, so G has unique currents. If G is disconnected, then the components give partition of rows and columns showing that H is block diagonal.
Relating the orderings ω r and ω c on H to the rotation ρ on G is more difficult. We use the unique currents to describe ρ not as a permutation of directed edges but rather as a permutation of their nonzero currents. We use τ (a) for −a reflecting oppositely directed edges receive inverse group elements. Define ρ : Note that if a ∈ L, then (ρ • τ ) 2 (a) = ω r • ω c (a). Since ω r is compatible with ω c , (ρ • τ ) 2 acts cyclically on L. The odd powers of ρ • τ act cyclically on −L. Hence ρ acts cyclically on Z 2ms+1 \ {0} and the embedding is monofacial as desired.
The reverse of the construction above shows that a current assignment corresponds to a Heffter array, hence the equivalence.
We combine our results for the following: Proof: (of Theorem 1.1) Apply Theorem 4.1 to a Heffter array to build a current graph. Theorem 3.4 then gives the desired embedding.
This current graph gives an embedding of K 25 on an orientable surface with every face on the boundary of triangle and a quadrilateral, i.e., a biembedding of a 3-cycle system with a 4-cycle system. Euler's formula implies this surface is of genus 49.

Weak Heffter arrays and nonorientable embeddings
A variation of Heffter arrays corresponds to signed current graphs embedded on nonorientable surfaces. In turn, this can be used to construct nonorientable {s, t}-biembeddings of complete graphs. In this section we describe this relationship begining with embeddings of signed graphs. We describe signed-embeddings of signed graphs. As before, for each vertex we give a cyclic permutation ρ v of D v . We keep track of the local sense of the orientation, one of two states anticlockwise or clockwise. When the local sense is anticlockwise, a face boundary entering a vertex v on a directed edge e + leaves along ρ v (e − ). When it is clockwise we exit v along the directed edge ρ −1 v (e − ). When traversing a negative edge we reverse our local sense of orientation. The face boundary closes when we reach a directed edge previously traversed in the same local sense. This process of tracing the orbits of ρ•τ while keeping sense of the local sense of orientation is called the modified face-tracing algorithm. The resulting surface is orientable if and only if the signature is balanced.

Signed current graphs
A signed current assignment is a function κ : E(G ± ) → Z m such that κ(e − ) = −κ(e + ) when σ(e) is positive, and κ(e − ) = κ(e + ) when σ(e) is negative. In analogy with unsigned current assignments we frequently require the following: For example, a signed current graph on K 3,4 is shown in Figure 5. Using the notation of Youngs [23] the negatively signed edges are indicated with an × in the middle; they receive currents -8,9,10,-11. The current assignment in the figure satisfies KCL and has signed-s. A local rotation at each vertex is read off anticlockwise in this projection diagram. Using this rotation and signature the modified face-tracing algorithm gives the single face: The restriction of ρ to D v gives a cyclic permutation of the currents κ(e + ), e + ∈ D(v). As before, define ρ to be simple at v if the corresponding partial sums on D v are all distinct, and to be simple if ρ is simple at each vertex v.
The following is analogous to Theorem 3.4.
Theorem 5.1 Let G ± be an (s, t)-biregular unbalanced signed graph of order (m, n). Suppose that G ± has a monofacial nonorientable embedding and a signed unique-current assignment from Z 2ms+1 satisfying KCL. Then there is an embedding of K 2ms+1 on a nonorientable surface such that each edge lies on a face of size s and a face of size t. Moreover, if each local rotation on G is simple, then the faces of K 2ms+1 are simple cycles.
Proof: This is again a standard construction of a derived embedding from a current graph, see [15,20] for the full proof. The vertex set of K 2ms+1 is the elements of Z 2ms+1 . The monofacial signed embedding of the current graph is used to determine the rotation at a vertex of the derived graph. A lift of the signature on the current graph determines the signature on the derived complete graph.
Since the embedding underlying the current graph is unbalanced, it is in a nonorientable surface. Hence there is a negatively signed cycle. This in turn implies a negatively signed cycle in the derived embedding, i.e., it also is nonorientable. Finally, simple local rotations in the current graph correspond to simple cycles for faces in the derived graph as before.
Using the modified face-tracing algorithm there is a quick way to find the faces of the derived embedding arising from a embedded signed-current graph. Let v be a vertex of the current graph G ± with degree k. The rotation ρ gives determines a local rotation ρ v = (e 1 , . . . , e k ) on D v . Consider s i = i j=1 κ(e j ). By KCL s k ≡ 0 (mod 2ms+1). The faces of the embedding of K 2ms+1 are precisely the cyclic shifts of (0, s 1 , . . . , s k−1 ). Describing the faces is enough to determine the embedding. A full proof of Theorem 5.1 shows that the monofacial condition guarantees that these faces again meet in a cyclic manner at each vertex.
A key feature in the above construction is a monofacial embedding of a signed graph G. The following theorem addresses when such embeddings exist. Let T be a positively signed spanning tree of G. A cotree component is odd if it has an odd number of edges and every negative edge is a bridge separating that component into two parts each having an odd number of edges.
Theorem 5.2 A signed graph has a monofacial signed embedding if and only if there is a spanning tree with no odd components.
To apply Theorem 5.1 this monofacial embedding need also induce a simple ordering at each vertex. We have no general theory for this and it remains a project for future research.

Weak Heffter arrays
Two Heffter systems D 1 (2ms + 1, s) and D 2 (2nt + 1, t) with ms = nt are weakly sub-orthogonal if the i th part of D 1 has at most one element a i,j such that either a i,j or −a i,j is in the j th part of D 2 . Form a weak Heffter array H(m, n; s, t) by placing a i,j in row i column j. The upper sign on ± or ∓ is the row sign corresponding to its sign on a i,j in D 1 , the lower sign is the column sign used in D 2 . Using the row signs we get row sums 0 and the column signs give column sums 0. Figure 6 shows a weak Heffter array. We relate a weak Heffter array H(m, n; s, t) to a signed current assignment. Form a bipartite G of order (m, n) whose vertices are the rows and columns of H. For each nonempty cell add an edge e labeled with the rowsigned current a i,j directed from the i th row of H to its j th column. The same edge in the opposite direction is assigned −a i,j and signed positively unless the entry is signed ± or ∓, in which case it's assigned a i,j and is signed negatively. Figure 5 shows the signed current graph corresponding to the weak Heffter array of Figure 6; the negatively signed edges are marked with an ×.

Conclusion
We have introduced Heffter arrays and their relation with current graphs and with biembeddings. The following table summarizes these relations.

Heffter array
current graph biembedding group current group vertex set rows and columns bipartition of vertices face-2-colorable # entries row/col biregular graph biregular face sizes zero row/col sums KCL faces of size s, t simple order rotation at a vertex faces are simple cycles compatible orders monofacial embedding no pinch points at vertices In our definition of a Heffter array H(m, n; s, t) we required the row and column sums to be 0 modulo 2ms + 1. The following tighter requirement is useful in constructions. Let L be a halfset of {±k | k = 1, . . . , ms}. An integer Heffter array H(m, n; s, t) is an m × n array with entries from L such that each row and each column sum to 0 over the integers. Proof: For a row to sum to 0 there must be an even number of odds. Hence the set of ms entries must have an even number of odds, implying the congruence.
A third condition is also helpful in constructions. An integer Heffter array H(m, n; s, t) is shiftable if each row and column contain the same number of positive as negative entries. The array of Figure 2 is integer and shiftable. Given a shiftable H(m, n; s, t) with entries a i,j , define b i,j = a i,j +k if a i,j > 0, and b i,j = a i,j − k otherwise. The matrix H ± k whose entries are b i,j still has row and column sums 0 over the integers. Define the support of a matrix A = {a i,j } as support(A) = {|a i,j |}. If the support of the original matrix is {1, . . . , ms}, then the support of the new matrix is {1 + k, . . . , ms + k}. Lemma 6.2 If a shiftable Heffter array H(m, n; s, t) exists, then s and t are even both even, at least 4, and ms ≡ 0 (mod 4).
Proof: Since the number of positive and negative entries are the same in each row and column, s and t are both even. By Lemma 6.1 ms ≡ 0, 3 (mod 4), so ms ≡ 0 (mod 4).
A natural question is the following, which we believe to be true. This conjecture is extensive since there are four parameters related by a single equation ms = nt. It is natural to examine special cases, such as i) when H has no empty cells (n = t and m = s), ii) squares (n = m), or iii) fixing s and t.
In the case the array has no empty cells Conjecture 6.3 simplifies to the following. Conjecture 6.4 There exist Heffter arrays H(m, n) for all m, n ≥ 3. Moreover, they are integer Heffter arrays when mn ≡ 0, 3 (mod 4), and are shiftable when m and n are both even and at least 4.
The author with Tom Boothby and Jeff Dinitz believe we have a proof of Conjecture 6.4. We are writing up the details for publication in [1] and have a computer program for their construction. Another subsequent paper [2] examines integer square Heffter arrays including a complete charaterization of shiftable arrays.
In our definition of a Heffter array we require at most one appearance of elements in {x, −x}. What if we allowed two appearances either the same or different, or a multiset of λ such elements. Using the difference-set construction this gives rise to λ-fold cycle systems. Let K λ n be the complete multigraph on n vertices where every pair of edges is jointed by λ edges in parallel. The analogue of a Heffter square with higher λ gives an embedding of K λ n into a surface that is face 2-colorable, each color class being a λfold cycle system. For example, [9] uses current graphs to constuct 2-fold embeddings with all faces triangles.
Recall that we need a simple ordering on the rows and one on the columns to ensure the resulting face boundaries are simple cycles. Moreover these two orderings should be compatable. These seem easy to find in practice, but hard to prove their existence in general. Alspach conjectures: Conjecture 6.5 Every A ⊂ Z n \ {0} has a simple ordering, i.e., A can be ordered so that the partial sums are all distinct.
The author together with Jeff Dinitz and Doug Stinson have made some progress [3], including verifying Conjecture 6.5 for n ≤ 25. Bode and Harborth showed it was true for |A| = n − 1. The general conjecture remains open.