Isoradial immersions

Isoradial embeddings of planar graphs play a crucial role in the study of several models of statistical mechanics, such as the Ising and dimer models. Kenyon and Schlenker give a combinatorial characterization of planar graphs admitting an isoradial embedding, and describe the space of such embeddings. In this paper we prove two results of the same type for generalizations of isoradial embeddings: isoradial immersions and minimal immersions. We show that a planar graph admits a flat isoradial immersion if and only if its train-tracks do not form closed loops, and that a bipartite graph has a minimal immersion if and only if it is minimal. In both cases we describe the space of such immersions. The techniques used are different in both settings, and distinct from those of Kenyon and Schlenker. We also give an application of our results to the dimer model defined on bipartite graphs admitting minimal immersions.


Introduction
An isoradial embedding of a planar graph G is an embedding of G into the plane so that each face is inscribed in a circle of radius 1, and so that the circumcenter of any given face is in the interior of that face. Joining each vertex of G with the circumcenters of the two adjacent faces, we see that such an isoradial embedding is equivalent to a so-called rhombic embedding of the associated quad-graph G , i.e., an embedding where each face of G is given by a rhombus of side-length 1. This is illustrated in Figure 1. Rhombic embeddings were introduced by Duffin [Duf68], as a natural class of graphs for which the Cauchy-Riemann equations admit a nice discretization. These ideas were rediscovered by Mercat [Mer01], who built an extensive theory of discrete holomorphicity in one complex variable. Kenyon [Ken02] introduced the concept of isoradial embedding as defined above, and proved it to be very useful in the study of the dimer model and the Green function [Ken02]. Several other models of statistical mechanics, such as the Ising model, are also shown to exhibit remarkable properties when studied on isoradial graphs with well-chosen weights, see e.g. [BdT10,BdT11,Cim12]. One of the deep underlying reasons lies in the star-triangle transformation and the corresponding Yang-Baxter equations, whose solutions admit an explicit parameterization when the graph of the model is isoradially embedded, see [Bax89] and references therein. This culminates in the work of Chelkak-Smirnov who developed the theory of discrete complex analysis on isoradial graphs to a high point of sophistication [CS11], and used it to prove conformal invariance and universality of the Ising model [CS12] precisely on this class of graphs. The study of statistical mechanics on isoradial graphs is still a very active area of research, as shown by the recent results obtained on bond percolation [GM14,Gri14], dimer heights [dT07,Li17], the random cluster model [BDCS15,DCLM18], random rooted spanning forests [BdTR17], and the Ising model [BdTR19]. We refer to the survey [BdT12] for more details on the history of isoradial graphs and their role in statistical physics.
Coming back to the strictly combinatorial study of isoradial graphs, a natural question immediately arises: when does a fixed planar graph G admit an isoradial embedding, and if so, what is the space of such embeddings of G? Let us briefly explain the answer to this question obtained by Kenyon and Schlenker in [KS05]. Given an arbitrary planar, embedded graph G, replace each edge by two (non-oriented) segments crossing each other at this edge, as described in Figure 4. Gluing these segments together, we obtain a set of planar curves called train-tracks, see Section 2.1 for a more formal definition. The main result of [KS05] is that a graph G admits an isoradial embedding if and only if its train-tracks form neither closed loops nor self-intersections, and two train-tracks intersect at most once. To describe the space of isoradial embeddings of such a graph G, let us denote by Z G the space of maps α associating to each oriented train-track t of G a direction α( t ) ∈ R/2πZ, so that the same train-track with the opposite orientation t receives the opposite direction α( t) = α( t ) + π. An isoradial embedding of G defines an element of Z G as follows: assign to an oriented train-track the direction of the parallel sides of the rhombi crossing this train-track, say from left to right. Note that any two oriented train-tracks t 1 , t 2 intersecting (once) define a rhombus, so the corresponding two directions must satisfy some condition for this rhombus to be embedded in the plane with the right orientation: with the orientations of Figure 4 and the conventions above, we need to have α( t 2 ) − α( t 1 ) ∈ (0, π). These conditions define a subspace of Z G , which is shown in [KS05] to be equal to the space of isoradial embeddings of G.
The aim of the present paper is to prove two results of the same flavor for the largest possible families of planar graphs. We now state these two results, referring to Sections 3 and 4 for complete and precise statements.
As mentioned above, in the definition of an isoradial embedding, each rhombus has a rhombus angle θ = α( t 2 ) − α( t 1 ) in (0, π). What if we relax this condition and allow rhombus angles in (0, 2π), thus yielding folded rhombi? One of the goals of this paper is to prove that, in the bipartite case, this situation can be precisely understood. In the bipartite case indeed, it is possible to orient the train-tracks in a consistent way, i.e., so that train-tracks turn counterclockwise around vertices of a given class of the bipartition and clockwise around vertices of the other class; such a consistent orientation is uniquely defined from the bipartite structure, and canonical up to complete inversion. Then allowing the rhombus angles to be in (0, 2π) and asking that the total angle at vertices and faces is equal to 2π yields the notion of minimal immersion, see Sections 3.1 and 4.1 for a formal definition. The main result of Section 4 can be loosely stated as follows, see Theorem 23 in Section 4.1 for the precise statement.
Theorem 1. Consider a bipartite, planar graph G with the consistent orientation of the train-tracks. Then, the graph G admits a minimal immersion if and only if its train-tracks do not self-intersect and two oriented train-tracks never intersect twice in the same direction. In any case, the space of minimal immersions of G is given by an explicit subspace Y G of Z G defined by one condition for each vertex and for each face of G.
To be slightly more precise, if G satisfies the two conditions of Theorem 1, then the space Y G is shown to contain (and in the Z 2 -periodic case, to coincide with) the non-empty subspace X G of angle maps which are monotone with respect to a natural cyclic order on the set of oriented train-tracks of G, see Section 4.1.
Graphs satisfying these two conditions are referred to as minimal graphs. They were introduced by Thurston [Thu17] (the original arXiv paper appeared in 2004), play an important role in the string theory community [Gul08,IU11] where they are referred to as consistent dimer models, and in the seminal paper of Goncharov-Kenyon [GK13]. In the specific case of Z 2 -periodic graphs, some of the concepts we use already appear in the literature: local and global ordering around vertices [IU11,Lemma 4.2], minimal immersions (in an understated way) in the proof of [GK13, Lemma 3.9], the space X G [GK13, Theorem 3.3].
As explained above, the study of isoradial embeddings is motivated by statistical physics, and the present work is no exception. Indeed, in Theorem 31, we use the result above to show that there exists α ∈ Z G such that some naturally occurring associated edgeweights [Ken02,Foc15] satisfy the so-called Kasteleyn condition if and only if the graph G is minimal, see Section 4.3. This allows us to harness Kasteleyn theory [Kas61,Kup98] in our papers [BCdT20,BCdT21], which deal with the dimer model on minimal graphs with the weights of [Foc15]. As a consequence, minimal graphs form the largest class of graphs where dimer models with such weights can be solved in a satisfactory way. Otherwise said, going beyond minimal immersions would give models with negative weights whose probabilistic interpretation is problematic. Moreover, the space Y G of minimal immersions of a given minimal graph G coincides with the space of dimer models on G with fixed "abstract spectral data" (i.e. an M -curve together with a divisor on it, see [BCdT21]). Also, the minimal immersion of G corresponding to an element α ∈ Y G gives a natural embedding of G * , as it can be shown to coincide in the rational limit with the t-embedding of G * described in [KLRR18], see [BCdT20, Section 8.1]. Finally, it is likely that a significant amount of the discrete complex analysis of [CS11] extends from isoradial to minimal graphs in a rather straightforward way, but we did not explore this question. Summarizing, it seems that minimal graphs rather than isoradial ones give the most natural framework to study such aspects of statistical mechanics models.
Although in the bipartite case, minimal graphs form a larger family than isoradial ones, they are still quite specific amongst planar graphs. With the goal of "immersing" with rhombi the most general possible planar graphs, we remove the assumption of being bipartite (as for isoradial embeddings) and we furthermore relax the conditions on the rhombus angles: in Section 3, we allow for the rhombus angle θ to be any lift in R of the angle α( t 2 ) − α( t 1 ) ∈ R/2πZ, and define the dual rhombus angle to be θ * = π − θ. The resulting theory is trivial without additional condition, so we impose the following geometrically natural one: theses angles add up to 2π around each vertex and face of G when pasting these "generalized rhombi" together using the combinatorial information of G. This leads to the notion of flat isoradial immersion of the planar graph G, whose formal definition can be found in Section 3.1. In order to keep track of the different notions introduced, let us emphasize that a minimal immersion is a flat isoradial immersion of a bipartite graph with all rhombus angles restricted to be in (0, 2π). There is a natural equivalence relation on flat isoradial immersions of a fixed graph, see Definition 14 in Section 3.2. We now state the main theorem of Section 3.
Theorem 2. A planar graph G admits a flat isoradial immersion if and only if its traintracks do not form closed loops. When this is the case, the space of equivalence classes of flat isoradial immersions of G is given by the space Z G .
One of the main tools in the proof of this theorem is a combinatorial result, Lemma 4 of Section 2.2 which, although slightly technical, might be of independent interest. Proving Theorem 2 amounts to solving a linear system defined on an auxiliary graph. In the specific Z 2 -periodic case, it turns out that the same linear system appears in a completely different context, see the physics papers [FHV + 06, Equations (2.2) and (2.3)] and [Gul08, Equations (3.1) and (3.2)] for R-charges in some supersymmetric conformal field theory. Therefore, even though the possible role of flat isoradial immersions in statistical mechanics and discrete complex analysis remains elusive, their intriguing appearance in superconformal field theory does suggest interesting further research.
We conclude this introduction by pointing out that, even though Theorem 1, Theorem 2 and the main result of [KS05] are of the same nature, they belong to different categories: isoradial embeddings are purely geometric objects while flat isoradial immersions are almost entirely combinatorial, and minimal immersions lie in between. As a consequence, the sets of tools used in the proofs of these three statements are almost entirely disjoint. For example, the proof of the "only if" direction is immediate in [KS05, Theorem 3.1], but requires a discrete Gauss-Bonnet formula in Theorem 1, and the combinatorial study of train-track deformations in Theorem 2. We refer the reader to Figure 2 for a visualization of the classes of graphs and of the geometric realizations involved in these three results.
This paper is organised as follows.
• Section 2 deals with the purely combinatorial aspects of our work: the fundamental notions are defined in Section 2.1, while Section 2.2 contains a crucial result on train-tracks of an arbitrary planar graph. Section 2.3 deals with oriented traintracks of bipartite graphs, defining a natural cyclic order on them, and studying this order in the case of minimal graphs.
• In Section 3, we first introduce the general notion of (flat) isoradial immersion (Section 3.1), then state the precise version of Theorem 2 in Section 3.2, and give the proof in Section 3.3. The last Section 3.4 gathers additional remarks on the definition of isoradial immersions, and on the proof of Theorem 2. In particular, we provide a geometric interpretation of isoradial immersions using rhombi that are iteratively folded along their primal or dual edge; we also prove a discrete Gauss-Bonnet formula.
• Section 4 deals with Theorem 1 above. In Section 4.1, we define minimal immersions of bipartite graphs, give a geometric characterization of these immersions, define the spaces X G and Y G and state the main result. All proofs are contained in Section 4.2, while Section 4.3 deals with the aforementioned implications on the dimer model. Graphs Geometric realizations Figure 2: Visualization of Theorems 1 and 2 (in shaded boxes) and the main result of [KS05]. Inside each horizontal half, the arrows connecting the various classes of planar graphs (resp. geometric realizations) indicate inclusions. The vertical double arrows indicate an equivalence between a graph belonging to a particular class and it admitting a particular geometric realization. The first vertical arrow stems from the definition of isoradial immersions (see Section 3.1), whereas the last one is a specialization of the results of [KS05] to the bipartite case.

Acknowledgments
This project was started when the second-named author was visiting the first and thirdnamed authors at the LPSM, Sorbonne Université, whose hospitality is thankfully acknowledged. The authors would also like to thank the anonymous referees for their constructive remarks. The first-and third-named authors are partially supported by the DIMERS project ANR-18-CE40-0033 funded by the French National Research Agency. The second-named author is partially supported by the Swiss National Science Foundation.

Planar graphs and train-tracks
The aim of this section is to introduce the basic combinatorial notions that are used throughout this article. We also prove four combinatorial lemmas that play a crucial role in the proof of the main results of Sections 3 and 4.

General definitions
Consider a locally finite graph G = (V, E) embedded in the plane so that its bounded faces are topological discs, and denote by G * = (V * , E * ) the dual embedded graph. To avoid immediately diving into technical details, we first assume that all faces of G are bounded; we then turn to the general case, where unbounded faces require extra care.
Given a graph G as above, the associated quad-graph G has vertex set V V * and edge set defined as follows: a primal vertex v ∈ V and a dual vertex f ∈ V * are joined by an edge each time the vertex v lies on the boundary of the face corresponding to the dual vertex f . Note that a vertex can appear twice on the boundary of a face, which gives rise to two edges between the corresponding vertices of G . Since the faces of G are topological discs, the quad-graph G embeds in the plane with faces consisting of (possibly degenerate) quadrilaterals. For example, a degree 1 vertex or a loop in G gives rise to a quadrilateral with two adjacent sides identified, see Figure 3 (left).
Following [KS05], see also [Ken02], we define a train-track as a maximal path of adjacent quadrilaterals of G which does not turn: when it enters a quadrilateral, it exits through the opposite edge. Train-tracks are also known as rapidity lines in the field of integrable systems, see for example [Bax78]. By a slight abuse of terminology, we actually think of a train-track as the corresponding path in the dual graph (G ) * crossing opposite sides of the quadrilaterals. (These notions still make sense when a quadrilateral is degenerate.) Note that the graphs G and G * have the same set of train-tracks, which we denote by T. Note also that the local finiteness of G implies that T is at most denumerable. We define the graph of train-tracks of G, denoted by G T , as the planar embedded graph (G ) * .
By construction, its set of vertices V T corresponds to the edges of G (hence the forthcoming notation e ∈ V T ), while its faces correspond to vertices and faces of G. By definition, the graph G and its dual G * define the same graph of train-tracks G T = (G * ) T , which is 4-regular: a typical edge v 1 v 2 ∈ E and corresponding train-tracks t 1 , t 2 ∈ T are illustrated in Figure 4.
We now turn to the general case, where G can admit one or several unbounded faces. In such a case, first construct the associated graph (G ) * as above, considering each unbounded face as a vertex of the dual graph G * . Then, define G T as the subgraph of (G ) * obtained by removing all edges included in an unbounded face of G; finally, define T as the set of maximal paths in G T crossing opposite sides of the quadrilaterals. (Note that the embedding of (G ) * into the plane might depend on the embedding of G * , but the planar embedded graph G T ⊂ R 2 is fully determined by G ⊂ R 2 .) By construction, its set of vertices V T corresponds to the edges of G, while its set of faces F T corresponds to inner vertices, not adjacent to an unbounded face, and (bounded) inner faces of G. Note that in general, the graph G T is no longer 4-regular: indeed, unbounded faces give rise to vertices of degree 3 and 2, where one train-track, or both, stop in the middle of the corresponding quadrilateral. Note finally that in the presence of unbounded faces, the graph G and its dual G * no longer define the same graph of traintracks. However, this notion remains (locally) self-dual away from unbounded faces. We refer to Figure 3 for an illustration of a graph of train-tracks with all the possible pathologies. . The dual G * has vertices corresponding to bounded faces, marked with grey diamonds, and an additional vertex for the unbounded face of G, which is here at infinity. The quad-graph G is represented with grey edges. Those with a dashed end are connected to the dual vertex at infinity. Train-tracks of G, paths of adjacent quadrilaterals, are materialized by colored lines (a: blue, b: green, c: orange, d: cyan). Right: the corresponding graph of train-tracks G T .
We now come to orientation of train-tracks. Each train-track t ∈ T can be oriented in two directions: we let t, t denote its oriented versions, and T be the set of such oriented train-tracks. Given an inner oriented edge (v 1 , v 2 ) of G and an oriented train-track t crossing it, we say that these orientations are coherent if (v 1 , v 2 ) and t define the positive (counterclockwise) orientation of the plane, see Figure 4. We morever fix the subscripts 1, 2 so that t 1 , t 2 also defines the positive orientation of the plane.
v Figure 4: An edge v 1 v 2 of G and the two corresponding train-tracks oriented so that (v 1 , v 2 ) and t 1 , resp. t 2 , are coherent, and labeled so that t 1 , t 2 defines a positive orientation of the plane.
In the case of bipartite graphs, there exists a natural orientation of train-tracks, defined as follows. Recall that a graph G is bipartite if its vertex set can be partitioned into two disjoint sets V = B W of black and white vertices, such that each edge of G joins a black vertex b to a white one w. Then, a consistent orientation of the train-tracks is obtained by requiring train-tracks to turn counterclockwise around white vertices and clockwise around black ones. By construction, this is the unique orientation which is coherent at every edge with the orientation of the edge from the white to the black vertex.
Without any hypothesis on G, the associated train-tracks can display all sorts of behavior: for example, a train-track might form a closed loop, it might intersect itself, and two train-tracks might intersect more than once. As mentioned in the introduction, the main result of [KS05] is that a graph G admits an isoradial embedding if and only if its traintracks never behave in this way. The main theorem of Section 3 should be seen as a result of the same type: a graph G admits a more general geometric realization, called isoradial immersion, if and only if its train-tracks do not form closed loops. Finally, the main theorem of Section 4 is of the same flavor: a bipartite graph G with consistently oriented train-tracks admits a so-called minimal immersion if and only if its oriented train-tracks do not form closed loops, self-intersections, or parallel bigons, where a parallel bigon is a pair of oriented train-tracks that intersect twice at two points x and y and both are oriented from x to y [Thu17]. The three forbidden configurations are illustrated in Figure 5.

Cycles in the graph of train-tracks
The basic definitions being given, we now turn to the first result of this article, Lemma 4, a fairly technical combinatorial statement. This lemma is used in Section 3 to describe the space of solutions of a linear system indexed by vertices of G . But we believe that under its general form here, it is interesting in itself and may have applications to other contexts.
Following the standard terminology, we say that a finite subgraph of an arbitrary abstract graph Γ is a cycle, resp. a simple cycle, if all of its vertices are of even degree, resp. of degree 2. We denote by E(Γ) the set of cycles of Γ (E stands for even). Recall that the symmetric difference endows E(Γ) with the structure of an F 2 -vector space.
An intermediate step for Lemma 4 consists in exhibiting a bijection between the cycles of G T and those of a natural auxiliary graph. Before establishing this bijection in Lemma 3, we discuss some features of cycles of G T .
Vertices of a cycle c ∈ E(G T ) fall into three categories: degree 4 vertices where by definition, c locally follows two (non-necessarily distinct) intersecting train-tracks; degree 2 vertices where c stays on the same train-track, i.e., where it crosses opposite sides of the corresponding quadrilateral; and degree 2 vertices where c switches train-tracks, i.e., where it "turns" inside the quadrilateral. We call these latter vertices corners of c.
From the above observations we define a procedure for drawing c on the graph, giving a unique decomposition of c into closed curves: start from an edge of c, follow the cycle in one of the two possible directions by going straight at each intersection. When coming back to the starting point, we have covered a cycle component of c in our decomposition, referred to as a closed curve. If the whole of c has been covered, stop; else remove this component from c, and iterate the procedure from an uncovered edge of c. Since the cycle is finite, the algorithm of course terminates. Note also that specifying the type of behavior at the degree 4 vertices yields uniqueness of the decomposition of c into closed curves, and that the behaviour chosen minimizes the number of corners: the total number of corners in all closed curves appearing in this decomposition of c is the same as the number of corners of c itself, see Figure 6 for an example. = + Figure 6: Example of a cycle (left) with corners partitioned into two parts (with different shades of purple), corresponding to the corners of the closed curves (right) entering into its canonical decomposition into closed curves.
When none of the train-tracks of G form a closed loop, any closed curve has at least one corner. In this case, we relate cycles on G T with cycles on another, auxiliary abstract graph G = (V , E ), constructed from G T by setting V = T and E = V T . More precisely, vertices of G are given by the train-tracks, and each intersection in G T between two train-tracks (resp. self-intersection of one train-track) defines an edge between the two corresponding vertices of G (resp. a loop at the corresponding vertex of G ), see Figure 7.
Observe that any closed curve c ⊂ G T defines a cycle ϕ(c) ⊂ G with the corners of c corresponding to edges of ϕ(c). We use the unique decomposition of cycles into closed curves described above to extend ϕ on E(G T ) by declaring that ϕ sends a cycle to the sum of the images of its components in that particular decomposition.   Figure 7: The auxiliary graph G appearing in the proof of Lemma 4, for the example of graph G given in Figure 3.
Proof. First, ϕ is indeed a linear map. This can be checked by noticing that when decomposing a cycle c as a sum of smaller cycles c = i c i , the cardinality of the set of indices i such that e ∈ V T is a corner of c i is odd if e is a corner of c, and even if not. Because we look at linear combinations with coefficients mod 2, this is enough to conclude that ϕ(c) = i ϕ(c i ).
The application ϕ is clearly onto: all simple cycles of G can be realized, and they generate the full space of cycles E(G ). We now wish to show that ϕ is injective.
Let us first assume that G T is finite. In such a case, the auxiliary graph G is finite as well. Since we assume G T to be connected, so is G , and we can determine the dimension of E(G ) using the standard computation where χ stands for the Euler characteristic.
To evaluate the dimension of E(G T ), let us denote by V T = V 2 V 3 V 4 the partition of the vertices of G T into vertices of degree 2, 3 and 4. We have the obvious equality 2|V 2 |+ 3|V 3 | + 4|V 4 | = 2|E T |, and the slightly less obvious one 2|V 2 | + |V 3 | = 2|T| which uses the fact that G T has no closed loops. Together, they lead to the equation 2|V T | = |E T | + |T|, By the two equations displayed above, we see that ϕ : E(G T ) → E(G ) is a surjective linear map between finite dimensional vector spaces of the same dimension, and therefore an isomorphism.
The general (possibly infinite) case can be seen as a consequence of the finite case, as follows. Since ϕ = ϕ G : E(G T ) → E(G ) is already known to be a surjective linear map, we are left with proving that the only c ∈ E(G T ) such that ϕ(c) vanishes is c = 0, the empty cycle. Such a c is contained in a finite connected subgraph H T of G T ; let H be the corresponding auxiliary graph, and ϕ H : E(H T ) → E(H ) be the corresponding linear map, which we know is an isomorphism since H T is finite, connected, and contains no closed loop. By naturality of ϕ, the following diagram commutes where the vertical arrows are the inclusions of spaces of cycles induced by the inclusion of subgraphs. As mentioned, there exists c H ∈ E(H T ) such that c = j(c H ), leading to Since j • ϕ H is injective, it follows that c H is equal to 0, and so is c = j(c H ).
Using the isomorphism ϕ to transport a natural basis of E(G ) to E(G T ) yields the following combinatorial statement about G T . Recall that we use the notation e for vertices of G T because they correspond to edges of G. This statement is quite technical, but its translation in plain English less so, at least in the finite case: there exists a set M of |T|−1 "marked vertices" (M stands for "marked") such that each vertex e in this subset has a distinct train-track τ (e) associated by the map τ ; and a basis (c e ) e∈V T \M of cycles of G T consisting of closed curves, such that one can mark all vertices of G T starting from M and then marking the unique missing corner of each closed curve c e . Note that this statement is easily seen not to hold when some train-track makes a loop.
Proof of Lemma 4. Since G T is connected, so is G which therefore contains a spanning tree T , rooted at an arbitrary vertex t 0 ∈ V = T. Let M ⊂ V T = E denote the set of vertices of G T corresponding to the edges of T , and τ : M → T be the map defined by associating to each edge of T its adjacent vertex in the direction opposite to the root t 0 . Since T has no cycle, the map τ is injective, and since T spans all vertices, the image of τ is T \ {t 0 }. This shows the first point.
To conclude the proof, write ε e for the element of E \ T corresponding to e ∈ V T \ M , let ε e ∈ E(G ) be the unique (simple) cycle in T∪{ε e }, and set c e = ϕ −1 (ε e ) ∈ E(G T ). The crucial fact is that c e is a closed curve. Indeed, ε e is a simple cycle. Every pair of edges of ε e connected to the same vertex t correspond to subsequent corners of c e connected by the train-track t. Therefore, when performing the decomposition procedure into closed curves on the cycle c e , we obtain a unique component, implying that c e is indeed a closed curve.
Since (ε e ) e∈V T \M is a basis of E(G ) and ϕ an isomorphism, (c e ) e∈V T \M is a basis of E(G T ). Via the isomorphism ϕ, the statement of the second point translates into the following tautology: for all e ∈ V T \ M , the edge ε e belongs to ε e and all other edges of ε e belong to T .

Train-tracks in minimal bipartite graphs
In the whole of this section, we suppose that the planar embedded graph G is bipartite, and has no unbounded faces. Recall from Section 2.1 that the train-tracks of G can be consistently oriented so that black vertices are on the right, and white vertices on the left of the directed paths. Recall also that the above orientation is coherent at every edge with the orientation of train-tracks arising from oriented edges, directed from white vertices to black ones. We denote by T the corresponding set of oriented train-tracks, which is nothing but a copy of T, with all train-tracks consistently oriented.
In most of the present section and Section 4, we focus on a special class of planar bipartite graphs known as minimal graphs, introduced by Thurston [Thu17]. These graphs are central in the seminal paper [GK13] by Goncharov-Kenyon; they also occur in string theory where they are referred to as consistent dimer models, see [Gul08,IU11].
Definition 5. A planar, embedded, bipartite graph G is said to be minimal if G T contains neither self-intersecting train-tracks, nor parallel bigons, see Figure 5.
Throughout the rest of this section, we assume that the train-tracks of G do not form closed loops, a condition which always holds for minimal graphs. Indeed, with our conventions, no connected component of G T consists of a simple closed curve; therefore, a closed loop will either self-intersect, or meet another train-track and thus form a parallel bigon. Our goal is to prove two combinatorial results on the order of train-tracks of minimal bipartite graphs.
When the graph G is Z 2 -periodic, a partial cyclic order on train-tracks is defined as follows: the projection of train-tracks on the quotient graph G/Z 2 drawn on a torus are non-trivial oriented loops whose homology class in H 1 (T; Z) Z 2 is given by a pair of coprimes integers. The total cyclic order on such pairs thus induces a natural (partial) cyclic order on train-tracks, which has been exploited in the papers [Gul08, IU11, GK13].
We now extend this partial cyclic order to train-tracks of arbitrary bipartite planar graphs with neither train-track loops nor unbounded faces. Note that these conditions are equivalent to requiring that all train-tracks are bi-infinite (oriented) curves.
First, we say that two oriented train-tracks (or more generally, two non-closed oriented planar curves) are parallel if they satisfy one of the following conditions: • they intersect infinitely many times in the same direction, see Figure 8, left, • they are disjoint, and there exists a topological disc D ⊂ R 2 that they cross in the same direction, see Figure 8, right.
Two oriented train-tracks t 1 , t 2 are called anti-parallel if t 1 and t 2 are parallel. Let us now consider a triple of oriented train-tracks ( t 1 , t 2 , t 3 ) of G, pairwise non-parallel. Consider a compact disk B outside of which these train-tracks do not meet, apart from possible anti-parallel ones, and order ( t 1 , t 2 , t 3 ) cyclically according to the outgoing points of the corresponding oriented curves in the circle ∂B. Note that since the three oriented train-tracks are pairwise non-parallel, this cyclic order does not depend on the choice of the disk B.
Definition 6. We call this partial cyclic order on T the global cyclic order.
• When G is Z 2 -periodic, it is easy to see that this notion of partial order coincides with the one described above. In this context, being parallel (resp. anti-parallel) is equivalent to having the same homology class (resp. opposite homology classes).
• In [KS05], Kenyon and Schlenker consider a (non-necessarily bipartite) planar graph G whose train-tracks do not form closed loops, do not self-intersect, and such that any two train-tracks intersect at most once. The authors construct a topological embedding of G T into the unit disc such that the image of each traintrack is a smooth path connecting distinct boundary points of the disc, see [KS05, Lemma 3.2]. This construction can be adapted to our setting, yielding a continuous map from G T to the unit disk, where parallel train-tracks connect the same boundary points of the disc. Furthermore, the (partial) cyclic order on T given by the outgoing points of oriented train-tracks in the unit circle coincides with the global cyclic order defined above.
The first result is the elementary, yet fundamental observation that for minimal graphs, this global cyclic order on T induces the standard cyclic order around any vertex. More formally, consider a bipartite planar graph G, and a vertex v ∈ V of degree n ≥ 1. The n incident edges are crossed by a set T(v) of n oriented train-tracks strands, each one joining two consecutive edges, see Figure 9 (left). In general, it can happen that two of these strands belong to the same train-track, e.g. in the case of multiple edges. Furthermore, there is no reason in general for the global cyclic order on T to restrict to the local cyclic order on T(v), i.e., the total cyclic order given by outgoing points of these strands. This actually holds if G is minimal as stated by the following lemma. Note that in the Z 2 -periodic case, this is essentially the content of Lemma 4.2. of [IU11]. Lemma 8. Let G be a planar, bipartite, minimal graph, and let v be an arbitrary vertex of G. Then, the elements of T(v) belong to distinct train-tracks, and the global cyclic order on T restricts to the local cyclic order on T(v).
Proof. Fix a vertex v of a minimal bipartite graph G, and consider the set T(v) of adjacent train-tracks strands as illustrated in Figure 9 (left). First, observe that in order for two of these strands to belong to the same train-track, we need to connect the outgoing point of one of these strands with the ingoing point of another one. As one easily checks, this either introduces a self-intersection or a parallel bigon, thus contradicting minimality of G. Finally, assume by means of contradiction that the global cyclic order on T does not restrict to the local cyclic order on T(v). Then, this inevitably creates a parallel bigon, see e.g. Figure 9 (right), contradicting the minimality of G, and concluding the proof.
Our second result deals with the local order of train-tracks around faces. Since our graph G is bipartite, any face f of G is of even degree, say 2m; in the degenerate case of a degree 1 vertex inside the face, the adjacent edge is counted twice.
The 2m edges bounding f are crossed by a set T(f ) of 2m oriented train-tracks strands, each one joining two consecutive boundary edges, see Figure 10. There is a natural partition is the set of strands turning around a black vertex of ∂f , i.e., turning counterclockwise around f , and T • (f ) is the set of strands turning around a white vertex of ∂f , i.e., clockwise around f . In general, all the traintrack strands in T • (f ) can belong to the same train-track, and similarly for T • (f ): a face of degree 2 is the easiest example. Furthermore, there is no reason in general for the global cyclic order on T to restrict to the local cyclic orders on T • (f ) and on T • (f ), i.e., the total cyclic orders given by outgoing points of these strands. Once again, this turns out to hold if G is minimal. Figure 10: Lemma 9. Let G be a planar, bipartite, minimal graph, and let f be an arbitrary face of G. Then, there is a pair of train-track strands in T • (f ) which belong to distinct nonparallel train-tracks, and similarly for T • (f ). Furthermore, the global cyclic order on T restricts to the local cyclic orders on T • (f ) and on T • (f ).
Proof. Let us fix a face f of a bipartite minimal graph G, and assume by means of contradiction that all train-track strands in T • (f ) belong to the same train-track. Using the fact that train-tracks cannot self-intersect, we obtain that these strands are connected cyclically as illustrated in Figure 11 (left). This creates a parallel bigon, thus contradicting the minimality of G. Furthermore, two elements of T • (f ) cross the face f in anti-parallel fashion, so they cannot belong to parallel train-tracks (which have to be disjoint since the graph is minimal). The same argument holds for T • (f ). Let us finally assume that the global cyclic order on T does not restrict to the local cyclic orders on T • (f ) or on T • (f ). In such a case, we inevitably have a self-intersection or a parallel bigon, see e.g. Figure 11 (right). This contradicts the minimality of G and concludes the proof.
A natural question is whether some converse to these lemmas holds.
Remark 10. In [IU11], the authors prove the following statement: if a Z 2 -periodic bipartite planar graph G is such that its train-tracks do not form closed loops, do not self-intersect, two parallel train-tracks are always disjoint, and for any vertex v, the global cyclic order on T restricts to the local cyclic order on T(v), then G is minimal. Note however that the biperiodicity is used in a crucial way, more precisely the fact that the train-tracks define a finite number of asymptotic directions.
As a consequence of Theorem 23, we actually obtain a converse to these two lemmas: if a bipartite planar graph G has no train-track loops, no vertex of degree 1, and is such that the conclusions of Lemmas 8 and 9 hold, then G is minimal, see Corollary 28 of Section 4.
We conclude this section with the following: Question. Given a minimal bipartite graph G, do the cyclic orders on T(v) for all v ∈ V and on T • (f ) and T • (f ) for all f ∈ F determine the global cyclic order on T?
As a consequence of our results, we will answer this question positively in the Z 2 -periodic case, see Corollary 29 of Section 4.2.

Flat isoradial immersions of planar graphs
This section deals with a geometric notion, called isoradial immersion and defined in Section 3.1, which extends the classical notion of isoradial embedding. Our main result is stated in Section 3.2; it is the pendent in this more general context of Kenyon and Schlenker's theorem [KS05]; the proof is the subject of Section 3.3. One last Section 3.4 proves additional features of our theory.

Definitions
We start this section by defining the notion of rhombic immersion. Consider a planar graph G, the corresponding quad-graph G , and the graph of train-tracks G T . Suppose that each pair of directed train-tracks t , t ∈ T is assigned a pair of opposite directions e iα( t ) and e iα( t) = −e iα( t ) ; the angle α( t ), α( t) ∈ R/2πZ are referred to as the angles of the train-tracks t , t, and we denote by Z G the set of possible angle maps, i.e.
Every element α ∈ Z G defines an immersion of G in R 2 , by realizing every directed edge of G crossed by a train-track t from left to right as a translation of the unit vector e iα( t ) . Every inner (quadrilateral) face of G is mapped to a rhombus of unit-edge length in the plane. We call such an immersion a rhombic immersion of G . Given the cyclic order around vertices in G , the data of the rhombic immersion is equivalent to that of α.
Every face of G corresponds to an edge e of G by construction. Using the notation of Section 2.1 and Figure 12, we associate to the oriented edge , where the square bracket denotes the equivalence class of a real number in R/2πZ. Recall from Section 2.1 that the orientation of t 1 , resp. t 2 , is chosen to be coherent with the orientation of e and that the subscripts 1, 2 are chosen so that t 1 , t 2 defines a positive orientation of the plane. This rhombus angle is independent of the orientation of the edge e, as reversing the orientation of e also reverses the orientation of both train-tracks while keeping the subscripts fixed; for an internal edge e, it is the geometric angle of the rhombus image of the quadrilateral corresponding to e, at the vertices (corresponding to the images by the immersion of) v 1 and v 2 . The dual rhombus angle, measured at vertices f 1 or f 2 is given by f 1 f 2 Figure 12: The image by a rhombic immersion of an inner (quadrilateral) face of G , with vertices v 1 and v 2 corresponding to vertices of G, and f 1 and f 2 corresponding to faces of G. Edges are represented by unit vectors associated to train-tracks.
Note that in many papers, see e.g. [Ken02], the notation θ e is used for the rhombus half-angle, but in our setting using θ e for the rhombus angle is more convenient. There are three types of rhombi: embedded ones when θ e belongs to (0, π), folded ones for θ e ∈ (π, 2π), and degenerate ones when θ e ∈ {0, π}.
To each edge e of G, we also assign an arbitrary liftθ e ∈ R of [α( t 2 ) − α( t 1 )] ∈ R/2πZ. Sinceθ e = θ e + 2πk e for a unique k e ∈ Z, such a choice of lift amounts to the choice of an element k = (k e ) e∈E ∈ Z E . In a similar way as above, to each edge e we associate a generalized rhombus with angleθ e at the adjacent vertices, and dual angleθ e * = π −θ e at the adjacent dual vertices. Geometrically, such a generalized rhombus should be thought of as being iteratively folded along its diagonals, see Section 3.4 for more details.
Definition 11. The isoradial immersion of G defined by the train-track angles α ∈ Z G and the integers k ∈ Z E is the gluing of the generalized rhombi using the combinatorial information of G.
The surface obtained by gluing the (generalized) rhombi is naturally equipped with a flat metric with conical singularities at inner vertices and faces. On this surface, the graphs G and G are naturally embedded. When projecting this surface onto the plane, the images of vertices and edges coincide with the images of the rhombic immersion defined by α. We define the cone angle at a vertex (resp. face) singularity as the sum of the liftsθ e (resp.θ e * ) for all edges incident to this vertex (resp. face), a total angle easily seen to be a multiple of 2π.
Here are some remarks on the above definitions.
1. Given the embedding of G in the plane, an isoradial immersion is equivalent to the data of an element α ∈ Z G (or equivalently of a rhombic immersion) and of an element k ∈ Z E .
2. Let us recall, see for example [Ken02,KS05], that the terminology isoradial stems from the fact that in a rhombic immersion of G , the boundary vertices of each primal/dual face corresponding to a dual/primal vertex f /v are mapped to a unit circle whose center is the immersed vertex f /v.
3. The notion of flat isoradial immersion can be formulated very naturally in terms of the graph of train-tracks G T : the angles α are associated to the train-tracks, the integers k are associated to the vertices of G T , and they need to verify one condition for each inner vertex v and inner face f of G, i.e., for each bounded face of G T : where s v = e∼v θ e and s f = e * ∼f (π − θ e ).
4. In the absence of unbounded faces, the notion of flat isoradial immersion is selfdual up to a sign change of k: by exchanging simultaneously the roles on the one hand of vertices and faces of G, and on the other hand of primal and dual edges in (3), one sees that α and k define an isoradial immersion of G if and only if α and −k define an isoradial immersion of the dual G * , see also Section 3.4. In the general case, this notion remains locally self-dual away from the unbounded faces.
In the specific case where k ≡ 0, i.e., when lifted rhombus anglesθ e ∈ [0, 2π), and when the latter are moreover restricted to being in (0, π), a flat isoradial immersion is an isoradial embedding as introduced in [Ken02, KS05]. As mentioned earlier, Kenyon and Schlenker [KS05] prove that a planar embedded graph G admits an isoradial embedding if and only if the train-tracks make neither closed loops nor self-intersections and two train-tracks never intersect more than once. Furthermore, they identify the space of all isoradial embeddings of such a graph G as a subspace of Z G . The aim of this section and the next is to prove a theorem of the same flavor in the more general setting of isoradial immersions.

Statement of the main result
The main question answered in this section is that of characterizing the planar embedded graphs admitting a flat isoradial immersion, and of understanding the space of such immersions. Stating this result is the subject of the present section; the proof is provided in Section 3.3.
We need one preliminary remark. Consider a planar embedded graph G, together with angles α ∈ Z G and integers k ∈ Z E such that the corresponding isoradial immersion is flat. Moving along the entirety of a fixed train-track t ∈ T, we encounter vertices of G T , i.e., edges of G: alternatively add +1 and −1 to the corresponding integers k e . Note that vertices corresponding to self-intersections of t receive a contribution of +1 − 1 = 0; this can be checked by recalling that train-tracks, also known as zig-zag paths, alternately turn right and left when crossing edges. This defines a new set of integers k = (k e ), that are said to be obtained from k by a shift along t. One easily checks that the isoradial immersion given by the same α ∈ Z G and this new set of integers k ∈ Z E is still flat: indeed, for any fixed face of G T , the vertices of t that belong to this face (if any) can be grouped in pairs of consecutive vertices of t, whose added contributions vanish. (Vertices corresponding to self-intersections will appear twice in this count, with opposite signs). Note that these shift operations are commutative: shifting a set of integers along t 1 and then along t 2 gives the same result as shifting it first along t 2 and then along t 1 .
This motivates the following definition.
Definition 14. Given α ∈ Z G , two sets of integers k, k ∈ Z E satisfying the flatness condition (3) are said to be equivalent if k can be obtained from k via a potentially infinite set of shifts along train-tracks, with each train-track supporting a finite number of shifts.
We now have all the ingredients to state our main theorem.
Theorem 15. An arbitrary planar, embedded graph G admits a flat isoradial immersion if and only if its train-tracks do not form closed loops. When this is the case, for every α ∈ Z G , there exists k ∈ Z E , unique up to equivalence, such that α and k define a flat isoradial immersion of G.
We mention one immediate reformulation of this theorem. Let us say that two flat isoradial immersions of G are equivalent if given by the same α and equivalent k's. Then, the space of equivalence classes of flat isoradial immersions of G is given by Z G if its train-tracks do not form closed loops, and is empty otherwise.
Proving Theorem 15 consists in solving the linear system (2). As noted in the introduction, the same system appears in a surprisingly different setting (equations for R-charges for supersymmetric fields). In [Gul08], the author solves this system for a class of Z 2periodic bipartite graphs, containing periodic minimal graphs. Some elements in the proof like, equivalence classes of solutions, evolution of the solution under elementary moves, sketched there without detailed computations, have the same flavor as the arguments we use to tackle the problem in greater generality.

Proof of Theorem 15
In order to prove Theorem 15, we need two preliminary results. The first, Lemma 16, consists in translating the equations (2)  Flatness equations on closed curves. Recall the definition of closed curves of the graph G T given at the beginning of Section 2.2, and that of corners. Whereas a closed curve was interpreted there simply as a subgraph because of its description as an F 2chain, we see it here as an oriented curve, bounding a finite collection of oriented faces, possibly with multiplicities, i.e., as a Z-chain. There are exactly two possible orientations for a closed curve. We choose one of them by orienting arbitrarily one of the edges, and propagating this orientation along the other edges by the drawing procedure presented in Section 2.2.
Following the standard notation coming from algebraic topology, we write this as c = ∂( f n f f) with n f ∈ Z vanishing for all but finitely many faces. An example is given in Figure 13.
The following lemma shows that the flatness condition allows to uniquely determine the value of k at a corner of a closed curve as soon as we know its value at all the other corners. In the first case, the variableθ e does not appear in the equation, so there is nothing to prove. In the second one, using the notation of Figure 14 (left), the four corresponding adjacent faces f 1 , f 2 , f 3 , f 4 satisfy n f 1 = n f 2 = n f 3 − 1 = n f 4 − 1 and contribute (n f 1 + n f 3 )θ e + (n f 2 + n f 4 )θ e * = (n f 1 + n f 3 )π, soθ e indeed does not appear. In the third case, the four corresponding adjacent faces f 1 , f 2 , f 3 , f 4 satisfy n f 1 = n f 3 = n f 2 − 1 = n f 4 + 1 and contribute (n f 1 + n f 3 )θ e + (n f 2 + n f 4 )θ e * = (n f 1 + n f 3 )π, as illustrated in Figure 14 (right). Finally, in the last case, the four corresponding adjacent faces all have the same multiplicity n f and contribute n f (2θ e + 2θ e * ) = 2πn f .  Proposition 17. Let G and G be two planar, embedded graphs whose train-tracks are related by a sequence of the three local transformations illustrated in Figure 15. Fix α ∈ Z G and integers k ∈ Z E defining a flat isoradial immersion of G. Then, there exists k ∈ Z E such that α ∈ Z G = Z G and k define a flat isoradial immersion of G .
w Figure 16: Differing neighborhood in G and G when passing from one to the other by the three local moves on train-tracks from Figure 15, illustrating the proof of Proposition 17.
Proof. Let G and G be two planar graphs with train-tracks related by the first elementary move. The notion of flat isoradial immersion being self-dual, it can be assumed that the self-intersection in G T corresponds to an edge e = wv ∈ E, with v a degree 1 vertex inside the train-track loop (see Figure 16, left). Let us denote by f ∈ F the face of G adjacent to v, by w ∈ V the vertex of G corresponding to w ∈ V, and by f ∈ F the face of G corresponding to f , as illustrated in Figure 16. Let us first fix α ∈ Z G and integers k ∈ Z E defining a flat isoradial immersion of G. Since the two train-tracks strands intersecting at e belong to the same train-track t, we have θ e = 0 which by flatness at v implies the value k e = 1. Undoing the train-track loop amounts to removing the corresponding edge e, and rhombus, whose angles areθ e = 2π andθ e * = −π. This creates an angle defect in G : with the same angles α ∈ Z G = Z G and integers k restricted to E = E \ {e}, the angle at w is equal to 2π − 2π = 0, and the angle inside the face f is given by 2π − ((−π) + (−π)) = 4π. To recover flatness, pick an arbitrary direction on t, and starting at f , alternatively add +1 and −1 to the integers corresponding to the encountered vertices. One easily checks that the resulting k ∈ Z E defines a flat isoradial immersion of G . (Note also that choosing the other direction of t gives equivalent integers.) Conversely, let us fix α ∈ Z G = Z G and integers k ∈ Z E defining a flat isoradial immersion of G . Flatness at v requires the value k e = 1 for the new rhombus of G, which creates an angle defect of ±2π in the adjacent vertex w and face f of G. However, flatness can be recovered by the same strategy as above.
Let us now consider two planar graphs G and G related by the second elementary move. The notion of flat isoradial immersion being self-dual, we can assume that these graphs are locally given as described in the center of Figure 16. We also assume the notation of this figure. Let us fix α ∈ Z G and integers k ∈ Z E defining a flat isoradial immersion of G. We claim that the integers k ∈ Z E given by the restriction of k to E = E \ {e 1 , e 2 } defines a flat isoradial immersion of G . Indeed, flatness at v implies that the rhombus angles of e 1 and e 2 satisfyθ e 1 +θ e 2 = 2π; hence, the contribution of these two rhombi to the angle inside the face f 1 isθ e * 1 +θ e * 2 = (π −θ e 1 ) + (π −θ e 2 ) = 0, and similarly for f 2 . Therefore, removing these two rhombi preserves flatness inside the adjacent faces. Furthermore, flatness at v 1 and v 2 amount to equalities 2π = ω 1 +θ e 1 and 2π = ω 2 +θ e 2 for some ω 1 , ω 2 ∈ R gathering the rest of the angle contributions. The equationθ e 1 +θ e 2 = 2π implies ω 1 + ω 2 = 2π, which means flatness at the vertex v . Conversely, let us fix integers k ∈ Z E defining a flat isoradial immersion of G . Flatness at v means ω 1 + ω 2 = 2π for some ω 1 (resp. ω 2 ) gathering angle contributions from the rhombi above (resp. below) the vertex v . There is a unique integer k e 1 (resp. k e 2 ) such that the corresponding rhombus angle satisfies ω 1 +θ e 1 = 2π (resp. ω 2 +θ e 2 = 2π). The corresponding integers k ∈ Z E define an isoradial immersion of G which is flat at v 1 and v 2 by construction; it is also flat at v since the newly defined rhombus angles satisfyθ e 1 +θ e 2 = 2π. Finally, this equality implies that flatness is preserved at adjacent faces, as above.
Let us finally consider two planar graphs G and G related by the third elementary move. Without loss of generality, it can be assumed that these graphs are locally given as illustrated in Figure 16, right. Fix α ∈ Z G = Z G and integers k ∈ Z E defining a flat isoradial immersion of G. Using the notation of Figure 16, let k ∈ Z E be given by k e i = −k e i for i = 1, 2, 3, and k e = k e for the other edges, which are common to G and G . This choice is motivated by the fact that for any dual edges e and e * , the rhombus anglesθ e = θ e + 2k e π andθ e * = θ e * + 2k e * π satisfyθ e +θ e * = θ e + θ e * = π, which implies k e * = −k e . Therefore, we have the equalityθ (e i ) * =θ e i for i = 1, 2, 3. Using this together with the equationθ e 1 +θ e 2 +θ e 3 = 2π, one easily checks that k defines a flat isoradial immersion of G : the corresponding rhombus angle, expressed in terms ofθ e 1 ,θ e 2 ,θ e 3 , are illustrated in Figure 17. The converse is proved analogously (or simply using the self-duality of flat isoradial immersions).
Proof of Theorem 15. Let us first consider a planar graph G whose train-tracks make at least one closed loop, and assume by means of contradiction that G admits a flat isoradial immersion. Using the three local moves of Figure 15, the corresponding graph of train-tracks can be transformed to contain a subgraph consisting of a simple closed loop crossed by one train-track, as illustrated in Figure 18 (left): fix one closed loop, remove superfluous intersections with this loop using the second and third local moves, and remove self-intersections of the closed loop to make it simple using the first move. Up to reflection along the vertical axis, the corresponding graph G is locally given as in Figure 18 (right), whose notation we assume. Since G admits a flat isoradial immersion, so does G by Proposition 17. By flatness at the face f , the rhombus angles satisfy (π −θ e 1 ) + (π −θ e 2 ) = 2π. But this implies the equalityθ e 1 +θ e 2 = 0, which contradicts the flatness at v. Let us now assume that G is a planar graph whose train-tracks do not form closed loops, and fix angles α ∈ Z G . We want to find k ∈ Z E defining a flat isoradial immersion of G. Note that using (the second move of) Proposition 17, it can be assumed that G T is connected. Take a set of vertices M ⊂ V T as in Lemma 4. We now show that, for any choice of integers (k e ) e∈M , there exists a unique completion k = (k e ) e∈V T defining a flat isoradial immersion of G. By Lemma 4, we have a basis (c e ) e∈V T \M of E(G T ) made of closed curves such that each e ∈ V T \M is a corner of c e and all other corners of c e belong to M . By Lemma 16, flatness inside the faces determines a unique value for k on the edges corresponding to these remaining vertices. To be more precise, the closed curve c e endowed with an arbitrary orientation can be written as c e = f n ef ∂f with n ef ∈ Z, and the corresponding Z-linear combination of the flatness equations for the bounded faces f gives us this result. These oriented closed curves (c e ) form a basis of the (free abelian group of) cycles of G T . Since the boundary of any bounded face f is such a cycle, it can be expressed as ∂f = e m fe c e with m fe ∈ Z. Therefore, the flatness equations for the c e 's, which we know are satisfied, imply the flatness equations for the faces, i.e., the flatness of the immersion.
Finally, consider a planar graph G whose train-tracks do not form closed loops, and angles α ∈ Z G together with k, k ∈ Z E both defining flat isoradial immersions of G. Fix a set of vertices M ⊂ V T as in Lemma 4, and recall the equivalence relation of Definition 14. Since we have an injective map τ : M → T with e ∈ τ (e) for all e ∈ M , there exists k ∼ k such that k and k coincide on all edges corresponding to elements of M . By Lemma 4, any e ∈ V T \ M is the corner of some closed curve c e of G T such that all corners of c e but e belong to M . By Lemma 16, flatness implies that k and k coincide on this last corner e as well. Therefore, the family of integers k and k are equal, so k is equivalent to k = k .

Additional features
This section contains additional features of isoradial immersions. First, restricting to the case where the graph G is finite, we translate results of Theorem 15 into information on the linear system (3) defining flatness; we also give an alternative explicit geometric construction of the solution. Then, we provide a geometric interpretation of folded rhombi of isoradial immersions using the infinite dihedral group. Last, we prove a discrete version of the Gauss-Bonnet formula.
Flatness condition revisited. In this section and the next, we suppose that the graph G is finite and that G T does not contain closed loops. Recall the linear system (3) defining flatness : where s v = e∼v θ e and s f = e * ∼f (π − θ e ). Then, the matrix M corresponding to this linear system has rows indexed by faces of G T , columns indexed by vertices of G T , or equivalently by edges of G; the coefficient M f,e is non zero iff e is on the boundary of the face f; when this is the case, it is equal to +1, resp. −1, if f corresponds to an inner vertex, resp. an inner face, of G.
In order to state the translation of Theorem 15 to the linear system, we need one more notation. Given two integer families k, k ∈ Z V T related by a shift along a train-track t (recall Definition 14), we let k t ∈ Z E denote their difference (with an arbitrary sign). Then, rephrasing Theorem 15 in this context yields: 1. The rank of M is equal to |F T | (so the associated map is onto).
2. The kernel of M has dimension |T| − 1, and is generated by {k t : t ∈ T}.
The penultimate paragraph of the proof of Theorem 15, which uses Lemma 4 and Lemma 16, can be seen in this context as a way to explicitly trigonalize the linear system defined by the matrix M.
Geometric construction of solutions. We now propose an alternative geometric construction of a solution to the linear system (3). For every inner vertex v of G, let δ v be the function defined on faces of G T , taking value 1 at the vertex v, and 0 elsewhere; the function δ f for an inner face f of G is defined similarly. We explicitly construct functions k v and k f such that Mk v = δ v and Mk f = δ f , thus proving surjectivity of the map associated to M. Without loss of generality, let us restrict to an inner vertex v of G since it will be clear from the proof how to proceed for a face f . We use three building blocks.
For every vertex e of G T consider the function δ e ∈ C V T , taking value 1 at e and 0 elsewhere. Then, if e is not the end point of a loop edge of G T , it is on the boundary of two faces corresponding to primal vertices and two faces corresponding to dual ones. In this case, Mδ e is equal to 1 on the two vertices, −1 on the two faces and 0 elsewhere, see Figure 19 (first figure). If the vertex e is the end point of a loop edge, it is a self-intersection point of a single train-track, and the vertex e is on the boundary of two faces corresponding to primal vertices and one corresponding to a dual one (or the reverse). Then Mδ e takes value 1 at the two primal vertices and −2 at the dual one (or the reverse), see Figure 19 (second figure).
Consider an edge e of G T (where the notation e for an edge of G T should not be confused with the notation e for a vertex of G T ), then e belongs to a unique train-track t and bounds two faces of G T corresponding to a vertex v e and a face f e . From the functions (δ e ), we construct a function k e such that Mk e takes value 1 at v e and −1 at f e . Let (e 1 , e 2 ) denote the edge e oriented so that v e is on the left. Consider the path in the train-track t running from e 1 to the boundary without crossing e 2 , and define k e to be the alternate sum of the functions (δ e ) running over the encountered vertices along the path, starting with a +1; note that one could equivalently take a path from e 2 to the boundary of the graph not crossing e 1 . Then, since two consecutive vertices share one face corresponding to a vertex and one to a face of G (this is because the graph G T has Consider an inner vertex v of G. From the functions (δ e ) we now construct a function k v such that Mk v = δ v . Consider a simple path in the quad-graph G from v to a boundary vertex, and the dual edges (which belong to G T ). Define k v to be the alternate sum of the functions k e crossing this path, starting from a +1. Then, since two consecutive edges bound a common face of G T corresponding to a primal or a dual vertex of G, we indeed have that Mk v = δ v except on the boundary vertex or face, which does not enter the linear system. A graphical representation of k v is given in Figure 20 below.
As an immediate consequence, we recover that the rank of M is equal to |F T |. Remark 18. This concrete way of solving the linear system has a nice geometric interpretation, best explained when the graph G is isoradial, so let us assume that this is the case. Consider angles α ∈ Z G , then a natural question is to understand how the solution k varies as one of the angles α( t j ) moves on the other side of a neighboring angle α( t i ). This local transformation is generic in the sense that any pair α, α of angles in Z G can be obtained from each other by a sequence of such local moves. This move amounts to exchanging the angles of the directed train-tracks t i , t j crossing at a vertex e in the graph G T , and this vertex is incident to two faces corresponding to vertices of G and two faces corresponding to faces of G * . Since the angles α( t i ), α( t j ) are adjacent, this amounts to increasing the value 1 2π s v by 1 at the two primal vertices and decreasing the value 1 2π s f by −1 at the two dual faces, or the opposite. From the first part of the proof involving the function δ e , we deduce that this local move on the angles has the effect of increasing or decreasing k by 1 at the vertex e.
The next relevant geometric question is: given that the quantity 1 2π s v increases or decreases by 1 at a given inner vertex v or face f , how does the solution k vary? What we prove is that the solution gets modified by adding or subtracting 1 along a family of paths of G T to the boundary starting from vertices of a dual path essentially joining the vertex in question to the boundary.
Folded rhombi and the infinite dihedral group. In our definition of isoradial immersions, we have adopted a combinatorial viewpoint. Recall, see Remark 13, that an isoradial immersion is equivalent to the data of an angle map α ∈ Z G and of a set of integers k = (k e ) e ∈ Z E . There is a more geometric viewpoint on these choices of lifts, that we now present. As already mentioned, a rhombus with angleθ e = θ e ∈ (0, π) should be thought of as embedded in the plane: let us denote this rhombus state by 1. When the angleθ e increases and crosses the value π, the rhombus opens more and more until it folds along the (primal) edge e: let us denote this state by p (for primal). If the angleθ e continues to grow and crosses the value 2π, the rhombus shrinks until it folds again, but this time, along the dual edge e * : let us denote this new state by pd (for primal-dual). Continuing in this way, we see that each angleθ e > 0 determines a state of the form pdp · · · . In the same way, when the angleθ e ∈ (0, π) of an embedded rhombus decreases and becomes negative, the rhombus shrinks until it folds along the dual edge e * , a state denoted by d. Decreasingθ e further leads to the rhombus folding again, leading to states of the form dpd · · · . Note that folding a rhombus twice along the same (primal or dual) edge does not change its state, a fact denoted by p 2 = d 2 = 1.
In a nutshell, the set of states for a given rhombus form the infinite dihedral group D ∞ , best understood and presented in the current situation as the free product of two copies of Z/2Z: The possible deformations of a given rhombus fit nicely in the Cayley graph of this group, with respect to the generators {p, d}, as illustrated in Figure 21.
There is more structure on the group D ∞ , that sheds an interesting light on isoradial immersions, and on the proof of Theorem 15.
First, there is a natural orientation homomorphism : D ∞ → Z/2Z mapping both generators p and d to the non-trivial element of Z/2Z. A rhombus is positively oriented if its state lies in the kernel of , and negatively oriented otherwise. The group D + ∞ = ker( ) of positively oriented states is isomorphic to Z (generated by pd or dp = (pd) −1 ), while D ∞ \ D + ∞ pD + ∞ is also in canonical bijection with Z. This leads to the integer k e of the combinatorial viewpoint of Section 3.1.
Also, the group D ∞ is endowed with a natural involution determined by p → d and d → p. It commutes with the orientation homomorphism, and therefore induces an involution on D + ∞ , which is nothing but k → −k via the isomorphism D + ∞ Z. This involution corresponds geometrically to exchanging the primal and dual edges of the rhombi. In other words, it is the algebraic counterpart of the geometric duality on the graph G, exhibiting the fact that isoradial immersions are self-dual, i.e., coherent with duality, see Point 4. of Remark 13. Therefore, instead of defining an isoradial immersion as coming from an angle map α ∈ Z G and integers k ∈ Z E , we could just as well have defined this object as coming from an α ∈ Z G together with some states in (D ∞ ) E with orientations determined by α. As the reader will easily check, the whole of Section 3 can be rewritten in this way, using the duality involution on D ∞ instead of k → −k (see in particular the third part of the proof of Proposition 17).
Discrete Gauss-Bonnet formula. Consider a planar graph G such that G T has no closed loops, and a simple, connected cycle c of G T . By adding the left-hand side of the flatness equations (2) for all faces inside c, similarly to what we have done in the beginning of the proof of Lemma 16 for oriented closed curves, we obtain a discrete version of the Gauss-Bonnet formula.
Recall the definition of corners given in Section 2.2. In order to state our result, we need the following notation. Denote by F T c the set of faces of G T bounded by c. Recall that faces of G T correspond to inner vertices and faces of G; denote by V c , resp. V * c , the set of vertices, resp. faces of G, whose corresponding faces are in F T c . Note that each corner vertex e of c is on the boundary of exactly one or three faces of F T c ; in the first case, we shall write sgn(e) = +1 and in the second case, sgn(e) = −1. Finally, we shall write e ∼ v (resp. e ∼ f ) if among the (one or three) faces in F T c bounded by the corner vertex e, exactly one corresponds to a vertex (resp. a face) of G.
Proposition 19 (Discrete Gauss-Bonnet formula). Fix angles α ∈ Z G , integers k = (k e ) e∈E , and consider the corresponding isoradial immersion. Let c be a simple, connected cycle in G T . Then, we have the equality wheres v = e∼vθ e ands f = e∼fθ e * .
Proof. Throughout this proof, we work in the subgraph G T c of G T bounded by the simple cycle c. There are three types of vertices in this subgraph: vertices of degree 2 in G T c (which are corners bounding exactly one face), vertices of degree 3 (which are non-corner boundary vertices), and vertices of degree 4 (which can be either inner vertices, or corners bounding three faces). We denote these set of vertices of G T c by V 2 , V 3 , V 4 respectively. When summing the left-hand side of equations (2) defining flatness on all faces of G T c , we have the following contributions: • every (corner) vertex e of degree 2 is incident to a single face of G T ; it contributesθ e , resp.θ e * to the sum if this face corresponds to a vertex, resp. a face of G.
• every corner vertex e of degree 4 is incident to three faces of G T ; it contributesθ e * + θ e +θ e * = 2π−θ e if only one of these faces corresponds to a vertex of G, and 2π−θ e * in the other case.
• If the isoradial immersion is assumed to be flat, then by definition, we haves v = s f = 2π for every vertex v and every face f of G. Therefore, Equation (4) simply becomes e∼v sgn(e)θ e + e∼f sgn(e)θ e * = 2π, the sum being over corner vertices.
• If k ≡ 0, or equivalently if we consider the rhombic immersion of G corresponding to α ∈ Z G , then the lifted rhombus angles are in [0, 2π), and the same equation as (4) holds without the "tilde". In particular, in the flat case, we get e corner, e∼v sgn(e) θ e + e vertex, e∼f sgn(e) θ e * = 2π .
It is this special case of our Gauss-Bonnet formula that will prove useful.

Minimal immersions of bipartite graphs
As already mentioned, Theorem 15 is in the same spirit as the main result of [KS05] but concerns more general objects, namely flat isoradial immersions of graphs without train-track loops. We now obtain an analogous result for an intermediate class, namely minimal immersions of minimal bipartite graphs, and give an application to the study of the dimer model on such graphs. The main definitions and statements are given in Section 4.1, and the proofs in Section 4.2. Section 4.3 contains our application to dimers.
In all of this section, we suppose that the planar graph G is such that G T does not contain closed loops. For simplicity, we also assume that G does not contain any unbounded faces.

Minimal immersions
Recall from Section 3.1 that given a planar embedded graph G, an isoradial immersion is built from angles α ∈ Z G and integers k ∈ Z E ; an isoradial immersion is flat if the corresponding total angle at each face and vertex is equal to 2π.
We now assume that G is bipartite (recall Section 2.3). Using the consistent orientation of train-tracks, the space Z G can be identified with the space of angle maps We focus on flat isoradial immersions given by such an α ∈ Z G , but with k identically zero and non-degenerate rhombi. In other words: Definition 21. A flat isoradial immersion of a planar, embedded bipartite graph G is called a minimal immersion of G if all rhombus angles at vertices of G belong to (0, 2π).
We give a concrete geometric characterization of minimal immersion in Proposition 25 below, but let us first progress towards stating the main result of this section.
Note that an isoradial immersion with k = 0 is fully determined by the angle map α ∈ Z G = { T → R/2πZ}. However, because of the flatness and non-degeneracy conditions, not every α gives a minimal immersion, and not every graph actually admits such an immersion. Our main result characterizes graphs admitting a minimal immersion, and for such a graph G, the subspace of Z G given by the angles which define such an immersion.
To state this theorem, we need two additional notation. Recall the global cyclic order on T given in Definition 6, and for each vertex v and face f of G, the local cyclic orders on the sets T(v) and T • (f ), T • (f ) defined in Section 2.3.
Recall also that a map α : T → R/2πZ on a cyclically ordered set T is called monotone if it respects the cyclic order on T and the natural cyclic order on R/2πZ, i.e., whenever we have [t 1 , t 2 , t 3 ] in T , then we have [α(t 1 ), α(t 2 ), α(t 3 )] in R/2πZ. Note that in general we do not ask for strict monotonicity.
Definition 22. Let X G ⊂ Z G denote the set of monotone maps α : T → R/2πZ mapping pairs of intersecting or anti-parallel train-tracks to distinct angles. Similarly, we denote by Y G the subset of Z G given by the angle maps whose restriction to T(v) is monotone, injective and non-constant for all vertices v, and whose restrictions to T • (f ) and T • (f ) are monotone and non-constant for all faces f of G.
A few remarks are in order. First note that for any graph G, the set X G is clearly non-empty. Next, as we will prove below, Lemmas 8 and 9 imply that if G is minimal, then we have the inclusion X G ⊂ Y G . Since X G is non-empty, this implies that Y G is also non-empty for G minimal.
We will actually show that Y G is non-empty if and only if G is minimal. This is a direct consequence of the main result of this section, that we are now ready to state.
Theorem 23. An embedded, planar, bipartite graph G admits a minimal immersion if and only if G is minimal. In any case, the space of immersions is given by Y G .
The proof of Theorem 23 is postponed to the next section.
Since the space of minimal immersions of a graph is given by Y G , which contains X G if G is minimal, it is natural to wonder whether these two spaces coincide for minimal graphs. This turns out to be the case in the Z 2 -periodic case, see Corollary 29 below.
The following proposition gives the promised geometric characterization of minimal immersions. Prior to stating it, let us make several remarks.
1. By Point 2. of Remark 13, boundary vertices of primal/dual faces corresponding to dual/primal vertices of G are mapped by the rhombic immersion to points on a circle of unit radius. These points on the unit circle are endowed with a cyclic order, and it makes sense to compare the cyclic order of these vertices in the planar embeddings of G, G * and the cyclic order of their images in the rhombic immersion of G . We use these two orders in Proposition 25 below.
2. If a graph has a vertex of degree 1, then one easily checks that it does not admit any minimal immersion. Therefore, in stating the following geometric description of minimal immersions, we can assume that the graph does not have such a vertex.
Proposition 25. Let G be a planar, embedded, bipartite graph without degree 1 vertices. Then, a minimal immersion of G is equivalent to a rhombic immersion of G satisfying the following conditions: 1. For every vertex of G, the boundary vertices of the corresponding face of G * are all mapped to distinct points, and the cyclic orders on these points coincide in the embedding of G * and in the rhombic immersion; in particular there is at most one folded rhombus around the vertex.
2. For every face of G, the white (resp. black) boundary vertices are not all mapped to the same point, and the cyclic orders on the boundary vertices in the embedding of G and in the rhombic immersion differ exactly by elementary transpositions given by the boundary edges corresponding to the folded rhombi (in the case of a degree 4 face, there is at most one such edge).
The second point is illustrated in the left side of Figure 22. The proof of this proposition is given in Section 4.2, but let us already state several consequences.
First, folded rhombi in minimal immersions are isolated, in the sense that they meet at most along dual vertices. The right side of Figure 22 shows a typical such folded rhombus, together with adjacent rhombi.
Also, note that the first condition implies that a minimal immersion of G yields a local embedding of its dual graph G * (with the slight abuse that degree 2 faces collapse to a segment) so that each face of G * is inscribed in a circle of radius 1. However, this is not an isoradial embedding of G * in general, as the circumcenter of a face might not belong to the interior of that face. More technically, a minimal immersion of G defines a flat metric with cone singularities on the surface S given by the union of all (bounded) faces of G, together with a continuous map S → R 2 which is a local isometry away from the "fold lines" given by the boundary of the folded rhombi. The angle at each cone singularity in S can be different from 2π (if it lies on such a fold line), but the average of these angle around any folded rhombus is equal to 2π.

Proof of Theorem 23, of Proposition 25, and consequences
We begin by identifying the set of maps α ∈ Z G defining a flat isoradial immersion of G.
Lemma 26. If G is a bipartite, planar graph, then the isoradial immersion of G defined by α ∈ Z G and k ≡ 0 is a minimal immersion if and only if α belongs to Y G .
Proof. Recall that the isoradial immersion of G with k ≡ 0 is minimal if and only if all the rhombus angles belong to (0, 2π), and the sum of the rhombus angles around every vertex and face of G is equal to 2π. Let us first consider a vertex v of G. If this vertex is of degree 1, then the isoradial immersion of G defined by any α ∈ Z G has angle 0 at v, so no angle map α defines a flat immersion. On the other hand, the set T(v) has a single element so the restriction of any α ∈ Z G to T(v) is constant; it follows that Y G is empty. Hence, the lemma holds in this degenerate case, and it can be assumed that v has degree n ≥ 2. Let us number the adjacent train-tracks strands T(v) and adjacent edges as described in Figure 9 (left). Then, the total angle around v is equal to n j=1 θ e j where by definition, the rhombus angle θ e j is the unique lift in [0, 2π) of the angle [α( t j+1 ) − α( t j )] ∈ R/2πZ. Therefore, the total angle around v is equal to 2π with all rhombus angles in (0, 2π) if and only if the restriction of α to T(v) is monotone and injective (hence non-constant since n > 1). This is the first condition for α belonging to the set Y G .
Let us now assume that this condition is satisfied around each vertex v of G (which implies that all the rhombus angles lie in (0, 2π)), and consider a face f . If this face is of degree 2, then any isoradial immersion of G has a cone angle 0 at f (so the flatness condition is not satisfied) unless the two corresponding train-tracks are assigned identical angles, in which case we have two degenerate rhombi; in any case, this is not a minimal immersion. Also, both sets T • (f ) and T • (f ) have a single element, so Y G is empty. Hence, the statement holds in this case, and it can be assumed that f has degree 2m with m ≥ 2. Numbering the adjacent train-track strands T(f ) as in Figure 10, the total angle around the face f is equal to where by definition, the angle θ e j ∈ (0, 2π) is the lift of [α( t j ) − α( t j )] while θ e j ∈ (0, 2π) is the lift of [α( t j ) − α( t j+1 )]. Observe that, for every j, the train-tracks t j , t j , t j+1 are three consecutive train-tracks around a (white) vertex v in the boundary of f . By assumption, the map α restricted to T(v) is monotone, implying that 2π − (θ e j + θ e j ) is . As a consequence, the total angle around f is equal to 2π if and only if the restriction of α to T • (f ) is monotone and non-constant. This is the second condition for α belonging to the set Y G .
Pairing up the angles around f in the other natural way, and using the first condition around black vertices, we obtain that flatness at f is equivalent to the restriction of α to T • (f ) being monotone. This is the last condition for α belonging to the set Y G , and the proof is completed.
Remark 27. It follows from the proof above that if the restriction of α ∈ Z G to T(v) is monotone, injective and non-constant for all v ∈ V, then its restriction to T • (f ) is monotone and non-constant for all f ∈ F if and only if its restriction to T • (f ) is monotone and non-constant for all f ∈ F. Therefore, one could drop one of these two conditions in the definition of Y G .
We are now ready to prove our main result.
Proof of Theorem 23. We first prove the "only if" part using the discrete Gauss-Bonnet formula in the flat case, i.e., Equation (5). Let us assume by means of contradiction that a bipartite planar graph G is not minimal but admits a minimal immersion. Since the graph is not minimal, it either contains a self-intersection or a parallel bigon. In the first case, any self-intersection defines a degenerate rhombus (with angle θ = 0), contradicting the definition of minimal immersion. In the second case, consider the simple closed curve c on G T defined by an innermost parallel bigon. There are two corners of c, denoted by e 1 and e 2 , each of which is incident to a face of G. By definition of the rhombus angles, we have θ e 1 = θ and θ e 2 = 2π − θ for some θ > 0. The equality θ e * 1 + θ e * 2 = 0 follows, contradicting Equation (5). This shows that a nonminimal graph does not admit a minimal immersion. By Lemma 26, this implies that the set Y G is empty for G non-minimal.
Let us now assume that G is minimal. By Lemma 26, an angle map α ∈ Z G defines a minimal immersion of G if and only if α belongs to Y G , so we are left with proving that Y G is non-empty. Since X G is clearly non-empty, it is enough to check the inclusion X G ⊂ Y G . Hence, let us fix an element α ∈ X G , a vertex v of G of degree n ≥ 1, and study the restriction of α to T(v). Since G is minimal, we cannot have n = 1. If n = 2, then the monotonicity condition is trivially satisfied while the injectivity follows from the fact that the two elements of T(v) intersect. For a vertex of degree n ≥ 3, Lemma 8 together with the definition of X G readily imply that the restriction of α to T(v) is monotone and injective. Let us now turn to a face f of G of degree 2m, with m ≥ 2 since G is minimal. Lemma 9 and the definition of X G immediately imply that the restrictions of α to T • (f ) and T • (f ) are monotone, and non-constant since non-parallel train-tracks either intersect or are anti-parallel. This completes the proof.
We now give the proof of the geometric characterization of minimal immersions.
Proof of Proposition 25. Let us fix an embedded bipartite planar graph G without degree 1 vertices. As first requirement, a minimal immersion of G is an isoradial immersion with k = 0. By Point 1. of Remark 24, this is equivalent to a rhombic immersion of G or to being given an angle map α ∈ Z G . The second requirement is that it needs to be flat with non-degenerate rhombi, which by Lemma 26 is equivalent to asking that α belongs to Y G . We are therefore left with checking that Points 1. and 2. are equivalent to α ∈ Y G .
Using the notation of the proof of Lemma 26, we have that in the rhombic immersion of G , boundary vertices of a face of G * corresponding to a black vertex b of G are immersed as the endpoints of the vectors e iα( t 1 ) , . . . , e iα( t n) drawn in a circle of center b. An analogous statement holds for white vertices with minus those vectors. Translating the first condition of α ∈ Y G in the language of the immersed boundary vertices, we get Point 1: the immersion is injective and preserves the cyclic order around this face. As a consequence of flatness, since a folded rhombus has angle in (π, 2π), there can be at most one adjacent to any given vertex.
In a similar way, white, resp. black, boundary vertices of a face f of G are immersed as the endpoints of the vectors e iα( t 1 ) , . . . , e iα( t m) , resp. −e iα( t 1 ) , . . . , −e iα( t m ) drawn in a circle of center f . Translating the second condition of α ∈ Y G in the language of the immersed boundary vertices exactly says that the immersion preserves the cyclic order of the black, resp. white vertices around this face, which we refer to as Point 2 . We are left with proving that Points 1. and 2. are equivalent to Points 1. and 2 . Around any face f , several folded rhombi can appear, but the corresponding folded edges are disjoint by Point 1. Let us move around the boundary of the immersed face f via the (say, counterclockwise) orientation given by the embedding of G. By construction, an immersed edge in ∂f oriented in this way has the image of the face to its right if and only if it is folded. By flatness, the immersed oriented boundary of f makes exactly one positive turn around the image of the face. One now easily checks that if the cyclic orders on the boundary vertices given by the embedding of G and by the rhombic immersion differ by more than the elementary transpositions given by these folded edges, then Point 1. or Point 2 . is contradicted. (In the case of a face of degree 4, flatness readily implies that there is at most one folded edge on its boundary). Conversely, Point 2. readily implies that the cyclic order of the black, resp. the white vertices is preserved in the immersion, i.e. Point 2 ., thus ending the proof.
As a corollary of Theorem 23, we obtain the following converse to Lemmas 8 and 9.
Corollary 28. Let G be a bipartite, planar graph without train-track loops and without degree 1 vertices. Let us assume that the conclusions of Lemmas 8 and 9 hold, i.e.
1. For any vertex v of G, all the train-track strands in T(v) belong to distinct traintracks, and the global cyclic order on T restricts to the local cyclic order on T(v).

2.
For any face f of G, there is a pair of train-track strands in T • (f ) (resp. T • (f )) belonging to distinct non-parallel train-tracks, and the global cyclic order on T restricts to the local cyclic orders on T • (f ) and on T • (f ).
Then, the graph G is minimal.
Proof. Let G be a bipartite planar graph satisfying the assumptions stated above. By the end of the proof of Theorem 23, this implies that the non-empty set X G is contained in the set Y G . (Note that G has neither degree 1 vertices, by hypothesis, nor degree 2 faces, by Point 2.) Thus, the set Y G is non-empty, which by Theorem 23 implies that G is minimal.
We conclude this section with the aforementioned result for Z 2 -periodic minimal graphs. Its proof provides a positive answer to the question at the end of Section 2.3 for this specific class of graphs.
Corollary 29. If G is minimal and Z 2 -periodic, then both spaces X G and Y G coincide with the space of monotone maps α : T → R/2πZ mapping intersecting train-tracks to distinct angles.
Proof. Let us denote by X G the space of monotone maps α : T → R/2πZ mapping intersecting train-tracks to distinct angles. By definition, we have the inclusion X G ⊂ X G . Furthermore, by the end of the proof of Theorem 23, the inclusion X G ⊂ Y G holds for any minimal graph. Hence, we are left with the proof of the inclusions Y G ⊂ X G and X G ⊂ X G for G a Z 2 -periodic minimal graph. This is an immediate consequence of the following three claims: 1. Any α ∈ Y G maps intersecting train-tracks to distinct angles.
The proof of the first point is straightforward. Indeed, if α ∈ Y G were to map intersecting train-tracks to the same angle, then its restriction to T(v) would fail to be injective for v being any of the two vertices bounding the edge corresponding to this intersection.
We now turn to the proof of the second point. To show that α : T → R/2πZ is monotone, the idea is to apply the discrete Gauss-Bonnet formula to the minimal immersion of G given by α ∈ Y G . Let us fix three pairwise non-parallel train-tracks t , t , t ∈ T, and let us first assume that they intersect pairwise. In such a case, there exists an innermost triangle, i.e., a triangle c ⊂ G T whose three sides are segments of the three train-tracks t , t and t , and which does not contain any other such triangle. Since G is minimal, train-tracks do not self-intersect, so this "innermost" condition ensures that c is a simple cycle with three corners of positive signs. Hence, Proposition 19 can be applied in the form of Equation (5): the three rhombus angles corresponding to these three corners add up to 2π. The precise form of these angles depends on the orientation of t , t , t along c, but the argument is always the same; we shall therefore assume that the three train-tracks t , t , t are consistently oriented along the curve c (say, counterclockwise), and leave the other cases to the reader. We shall also assume without loss of generality that c runs along t , t , t in this (cyclic) order; by minimality of G this implies that these train-tracks are cyclically ordered as [ t , t , t ] in T. In such a case, Equation (5) reads 2π = θ e +θ e +θ e , where θ e (resp. θ e , θ e ) is the unique lift in (0, 2π) ). This equality holds if and only if we have the cyclic order [α( t ), α( t ), α( t )] in R/2πZ. Therefore, α : T → R/2πZ does preserve the cyclic order in this case.
Let us now assume that t , t , t do not intersect pairwise, and finally use the Z 2periodicity of G. In absence of unbounded faces, a train-track is infinite and periodic, so that its quotient by Z 2 is an oriented closed curve on the torus R 2 /Z 2 = T 2 . We shall write Π( t ) ∈ H 1 (T 2 ; Z) Z 2 for the homology class of the oriented closed curve t /Z 2 ⊂ T 2 . Since G is bipartite and Z 2 -periodic, the union of all toric, consistently oriented, closed curves coming from train-tracks is the boundary of the faces of G T /Z 2 ⊂ T 2 corresponding to vertices of G; therefore, the sum of the corresponding homology classes is equal to zero.
Recall that the only way for two closed curves in T 2 not to meet is if their homology classes coincide (which corresponds to the case of parallel planar curves), or if they are opposite (this gives anti-parallel planar curves). Since t , t , t are supposed to be pairwise non-parallel and not all to intersect, it can be assumed without loss of generality that t and t are disjoint (with opposite homology classes Π( t ) + Π( t ) = 0), while t meets both t and t . It can also be assumed that these train-tracks are cyclically ordered as [ t , t , t ] in T; equivalently, the corresponding classes are cyclically ordered as [Π( t ), Π( t ), Π( t )] in Z 2 . Since the homology classes of closed curves of T 2 coming from train-tracks sum to zero, there must exist a train-track homology class e 1 ∈ Z 2 so that we have the order [Π( t ), Π( t ), Π( t ), e 1 ] in Z 2 . Let t 1 ∈ T denote a train-track realizing the class e 1 . Translating it far enough in the Π( t )-direction, we can assume that if it intersects t , it does so far away from the (finite number of) intersections of t with t ∪ t . Similarly to the previous case, we can now find a simple closed curve c ⊂ G T which, when travelled along in the counterclockwise direction, consists of oriented segments of t , t 1 , t , t , and all of whose (four) corners have positive sign. As in the triangular case above, Equation (5) applied to the curve c readily implies that the cyclic order relation [α( t ), α( t ), α( t ), α( t 1 )] holds in R/2πZ. In particular, we have the order [α( t ), α( t ), α( t )], and the second point is proved.
We finally turn to the third point, fixing α ∈ X G and two disjoint anti-parallel traintracks t , t ∈ T. Since G is bipartite, Z 2 -periodic and does not have unbounded faces, its train-track homology classes add up to zero and span a 2-dimensional lattice. Hence, there exist train-track homology classes e 1 , e 2 ∈ Z 2 , each of which is linearly independent from Π( t ) = −Π( t ), with cyclic order [Π( t ), e 1 , Π( t ), e 2 ]. This implies that any traintracks t 1 , t 2 ∈ T realizing these classes will intersect t and t and satisfy the cyclic order [ t , t 1 , t , t 2 ] in T. Since α is monotone and maps intersecting train-tracks to distinct angles, we cannot have the equality α( t ) = α( t ). This concludes the proof.

The Kasteleyn condition for the dimer model
The goal of this section is to see the implications of the results obtained in Section 4.1 and 4.2 for the dimer model defined on a planar, bipartite graph G = (B W, E), see [Ken04] for an overview of the dimer model and references therein. More specifically, we study the implications on the Kasteleyn condition.
Suppose that edges are assigned positive weights ν = (ν e ) e∈E . A dimer configuration of G is a perfect matching, that is, a subset of edges such that every vertex is incident to exactly one edge of this subset. When the graph G is finite, the weight of a dimer configuration is the product of the weights of its edges, and the partition function is the weighted sum of all the dimer configurations of G.
In the following, we first give some background on the Kasteleyn condition, then describe and characterize the more general question stemming from our work, and finally give the answer using the aforementioned results of Section 4.1 together with work of Thurston [Thu17].
The Kasteleyn condition. In the study of the dimer model a fundamental tool is the Kasteleyn matrix, which is the weighted, oriented, adjacency matrix K associated to (G, ν), whose rows are indexed by white vertices, columns by black ones, and where the orientation of the edges satisfies Kasteleyn's condition, see below. Kasteleyn and Temperley-Fisher's celebrated theorem [Kas61,Kas63,Kas67,TF61] (see also [Per69] for the bipartite setting), states that the absolute value of the determinant of K is equal to the partition function of the dimer model on the weighted graph (G, ν).
An orientation of the edges of G is equivalent to assigning an element ω(e) ∈ {−1, +1} to each edge e = (w, b) with the convention that ω(e) = +1 if and only if the orientation of e is, say, from w to b. Then, the coefficient of K corresponding to a white vertex w and a black vertex b is defined by the sum being over all the edges between w and b; in particular, the coefficient is equal to 0 if there is no such edge. Also, the Kasteleyn condition of [Kas67] can be written as follows. For every bounded face f of G, where |f | denotes the degree of f (which is even since G is bipartite).
An extension of this theory is due to Kuperberg [Kup98]. He proves that the group {−1, +1} can be replaced by any subgroup G of C * containing {−1, +1}. The map ω now assigns to each oriented edge e = (w, b) an element ω(e) ∈ G so that the same edge with opposite orientation e = (b, w) is mapped to ω(e) = ω(e) −1 . Kasteleyn's condition on such an ω remains as displayed above, the product being on the set of edges in ∂f oriented consistently (say, counterclockwise around f ). The partition function theorem then extends as follows: for any ω satisfying Kasteleyn's condition, the determinant of the associated adjacency matrix K is equal to the dimer partition function, up to multiplication by an element of G. A natural choice of group is G = S 1 : in this case, the modulus of the determinant of K is equal to the dimer partition function.
In his study of the dimer model on isoradial graphs [Ken02], Kenyon introduces the discrete ∂ operator. The associated matrix is the adjacency matrix K as above, with ν e ∈ (0, 2) given by the length of the dual edge e * of e, and ω(e) ∈ S 1 given by the direction of the edge e = (w, b). Using the notation of Section 2.1, the phase ω = ω α can be defined in terms of the train-track angles α ∈ Z G as arg(ω α (e)) := C + arg(e iα( t 2 ) − e iα( t 1 ) ) (7) for some constant C. (Note that if α( t 1 ) and α( t 2 ) coincide, then the edge-weight vanishes, which amounts to removing the edge from G; alternatively, one can set ω α (e) = −e iα( t 1 ) = −e iα( t 2 ) ). Kenyon shows that the phase ω α satisfies Kasteleyn's condition (6) for any α ∈ Z G defining an isoradial embedding of G, thus proving that the modulus of the determinant of the discrete ∂ operator gives the dimer partition function on (G, ν).
More general weights have recently been introduced by Fock [Foc15], which exhibit the phase ω α defined in Equation (7) up to a global sign. The corresponding dimer model in the elliptic case is studied in [BCdT20], where instead of considering isoradial embeddings as in [Ken02], we deal with the more general setting of a bipartite planar graph G together with an arbitrary angle map α ∈ Z G . Again we need to know whether the associated phase ω α satisfies the Kasteleyn condition (6). This, together with the more general framework of this paper, naturally leads to a more general question which is the subject of the next paragraph.
The Kasteleyn condition on rhombic immersions. Let G be any bipartite planar graph and let α ∈ Z G be any set of angles. Recall that, as far as the present study of the dimer model is concerned, assigning the same angle to train-tracks intersecting at an edge amounts to erasing this edge from G. For this reason, we can assume without loss of generality that α belongs to the subset Z G of Z G given by maps assigning distinct angles to intersecting train-tracks. Note that, in particular, Z G is trivially empty when G contains a self-intersecting train-track.
A natural question is to describe the subset K G of Z G given by K G = {α ∈ Z G | ω α satisfies Kasteleyn's condition} .
In particular, is it possible to characterize the class of graphs G for which K G is nonempty?
The following lemma gives a characterization of K G using the rhombic immersion of G . Note that we will be using the notation of Section 3.1 for the rhombus angles.
Lemma 30. Let G be a bipartite, planar graph. Then, for any α ∈ Z G , the phase ω α satisfies the Kasteleyn condition around a face f of G if and only if, in the rhombic immersion of G defined from α, the angle of the conical singularity at the face f is an odd multiple of 2π, that is, if and only if e * ∼f θ e * = 2π [4π] .
Proof. Fix a planar, bipartite graph G and α ∈ Z G , and consider the corresponding rhombic immersion of G near a given arbitrary bounded face f of G. Recall that any edge e ⊂ ∂f defines a rhombus (which can be folded or not), and that all these rhombi are pasted cyclically following the cyclic order of the vertices in ∂f . Recall also that these vertices are on a circle, whose center we denote by ι(f ). Fix an arbitrary black We now turn to the invariance of K G under the spider move, assuming the notation of Figure 25. We handle the case of black boundary vertices, the case of white ones being similar. First note the equality δ α (f ) = 4π − (θ 21 + θ 14 + θ 43 + θ 32 ) = δ α (f ) , with θ ij ∈ (0, 2π) the lift of [α( t i ) − α( t j )] for 1 ≤ i, j ≤ 4. Therefore, the phase ω α satisfies the Kasteleyn condition around f if and only if it does around f . Moreover, this holds for exactly two of the six cyclic orders of these four train-track angles, namely [α( t 1 ), α( t 2 ), α( t 3 ), α( t 4 )] and [α( t 1 ), α( t 4 ), α( t 3 ), α( t 2 )]. Therefore, it can be assumed that these four evaluations of α are cyclically ordered in one of these two ways.
As one easily checks, the cyclic order constraint imposed on α by the Kasteleyn condition around f implies the equality θ 43 + θ 31 = θ 21 + θ 32 . Therefore, δ α (f 1 ) and δ α (f 1 ) coincide, so the phase ω α satisfies the Kasteleyn condition around f 1 if and only if it does around f 1 . The equalities δ α (f j ) = δ α (f j ) for j = 2, 3, 4 can be checked in the same way, proving the invariance of K G under this move.
We now turn to the second and last lemma needed fo the proof of Theorem 31.
Lemma 33. Let G be a bipartite, planar, non-minimal graph whose train-tracks do not self-intersect. Then, it is related via a finite number of shrinking/expanding of 2-valent vertices and spider moves to a bipartite, planar graph G which admits a face of degree 2.
Proof. Since G is non-minimal, connected, and its train-tracks do not self-intersect, it contains a finite subgraph G 1 whose train-tracks form at least one parallel bigon. Since G 1 is finite and has no 1-valent vertex (as its train-tracks do not self-intersect), it can be transformed into a graph G 2 whose white vertices are 3-valent, via a finite number of shrinking of (white) 2-valent vertices and expanding of (black) 2-valent vertices. Following [GK13], consider the triple-crossing diagram D 2 obtained from the train-tracks T of G 2 as follows: for each white vertex w of G, move the three oriented train-tracks of T(w) so that they intersect into a single 6-valent vertex. Fix an innermost parallel bigon B in D 2 , and consider the triple-crossing diagram D ⊂ D 2 given by all the train-tracks strands contained in some small neighborhood of B. The proof of [Thu17, Lemma 12] now implies the following: via a finite number of so-called 2 − 2 moves, illustrated in Figure 26 (left), one can transform D so that the parallel bigon B no longer contains crossings in its interior, and so that one of the strands bounding B no longer forms anti-parallel bigons in B. This is illustrated in Figure 26 (right). Note that two other moves appear in [Thu17, Lemma 12], but they are only required in order to get rid of self-intersections, parallel bigons and disconnected components. Since D admits neither self-intersections nor loops, and since B is innermost among parallel bigons, these other moves are not required in our situation. By [Thu17, Lemma 11(c)] (see also Figure 3(c) of this same article), a finite number of additional 2−2 moves transforms D into a triple-crossing diagram D containing a diagram of the form illustrated in Figure 27 (left). Now observe that the two types of 2 − 2 moves given by the two possible orientations of the train-tracks correspond to shrinking/expanding of (black) 2-valent vertices and spider moves (with black boundary vertices), see Figures 24 and 25. Finally, the graph G corresponding to D contains the graph illustrated in Figure 27 (right), which admits a face of degree 2. This concludes the proof. As noticed by the reader, our proof of Lemma 33 relies on Thurston's theory of triplecrossing diagrams [Thu17]. It should be noted that this result also follows from the work of Postnikov, more precisely [Pos06, Lemma 13.6] applied to connected, bipartite planar graphs whose train-tracks do not self-intersect. We thank Marianna Russkikh for pointing out this additional reference.
We are finally ready to prove the main result of this section.
Proof of Theorem 31. Let us first assume that G is minimal. By Theorem 23, any α ∈ Y G defines a flat isoradial immersion of G. In particular, the angle of the conical singularity at any face is equal to 2π. By Lemma 30, this shows that ω α satisfies the Kasteleyn condition. Since the inclusion Y G ⊂ Z G is immediate, we have the inclusion Y G ⊂ K G . By the proof of Theorem 23, we also have the inclusion X G ⊂ Y G , with X G non-empty, so K G is non-empty as claimed. Let us now assume that G is a non-minimal graph whose train-tracks do not self-intersect. By Lemmas 32 and 33, the space K G coincides with K G for some planar bipartite graph G admitting a face of degree 2. Let us denote by t 1 , t 2 the two corresponding train-tracks. For any α ∈ Z G = Z G , the cone angle inside this face is equal to 2π − (θ + θ ), where θ ∈ (0, 2π) is the lift of [α( t 1 ) − α( t 2 )] and θ ∈ (0, 2π) the lift of [α( t 2 ) − α( t 1 )]. This leads to θ + θ = 2π, so this cone angle vanishes. By Lemma 30, this arbitrary α does not belong to K G , so K G = K G is empty. This concludes the proof.
A natural question is whether the inclusions X G ⊂ Y G ⊂ K G for G minimal are actually equalities. The equality between X G and Y G holds in the Z 2 -periodic case (recall Corollary 29), but whether it remains true in the general case is still open. We conclude this article with an example showing that the second inclusion is not an equality in general.
Example 34. Consider the bipartite minimal graph G given by the square lattice, and denote the four train-tracks around an arbitrary face by t 1 , t 1 , t 2 , t 2 , as illustrated in Figure 10. We focus on Z 2 -periodic elements of Z G , i.e., maps assigning the same value to parallel train-tracks. Since each train-track of G is parallel to exactly one of the four train-tracks listed above, we are dealing with maps α : {t 1 , t 1 , t 2 , t 2 } → R/2πZ. It is not difficult to check that, on this easy example, the set of Z 2 -periodic elements of Y G consists of all injective maps α such that the angles are cyclically ordered as [α( t 1 ), α( t 1 ), α( t 2 ), α( t 2 )]. However, any injective β : {t 1 , t 1 , t 2 , t 2 } → R/2πZ such that the corresponding angles are cyclically ordered as [β( t 1 ), β( t 1 ), β( t 2 ), β( t 2 )] will define an isoradial immersion with cone angle equal to −2π inside each face of G. Therefore, by Lemma 30, such a β belongs to K G \ Y G .