byd∗(ω)(v) =P
eω(e) whereω is a flow and the sum is over all edges incident at v. This map is called the divergence. Ifd∗(ω)(v) is positive (negative), we sayv is a source (sink) for the flowω.
Given a dimer cover M ofG, we associate the flow ωM as follows: ωM(e= (b, w)) = 1 if (b, w) is an (oriented black to white) edge present in the cover, and ω(e) = 0 ife is not inM. This flow has divergence +1 (−1) at black (white) vertices. For M1, M2 dimer covers of G, ωM1−ωM2 is divergence free.
Given a divergence free flowωonGand a reference (fixed) facef0, one defines a height function h on all other faces as follows. First h(f0) = 0 (hence the name). For any other face f, pick a path p in the dual graph from f0 to f. We define h(f) as the net (signed sum) flow of p as it crosses the edges ofGwith the caveat that aspcrosses an unoriented edgee, we add to the sum the contribution w(e: oriented left to right). his independent of the path pchosen in the dual graph sinceωis divergence free.
For G we can fix a base flow ω0 with divergence 1 (-1) at black (white) vertices. GivenM a dimer cover, we can construct the flowωM as above. Choosing a reference facef0, we can associate to the difference flow (which is divergence free) a height functionhM as in the previous paragraph.
We call it theheight of the dimer cover (equivalently, of the lozenge tiling for the case of honeycomb dimers).
For the lozenge tilings dual to honeycomb dimers we are interested in, a natural base flowω0 is defined byω0(e= (b, w)) = 1/3 where the edge (b, w) comes with black to white orientation. In this case, for a given dimer coverM, the heighthM is (up to an additive constant), when evaluated at the center of a face, the distance between that center and the planex+y+z= 0 when we interpret M as a stepped surface. See Figure3.4where on the left we exhibit the height of the dimer cover and on the right, the distance (multiplied by√
3) from the interior vertices of the tiling to the plane x+y+z= 0.
Figure 3.4: The height function on a matching (left) and on a stepped surface/lozenge tiling (multiplied by√
3).
change the functionwby multiplying weights of all edges incident to a single vertexuby a number c. Then both Z and the numerator in (3.2.1) will get multiplied by c (because in the sum over all matchings, the vertex uis going to be matched, so c will multiply every term in the partition function, as well as the denominator). Therefore, the measure µ will not change, though we are looking at a new Boltzmann weightw0. We call two such weightsgauge equivalent if they differ by a finite number of such multiplications.
There is a simple criterion (see, e.g.,[Ken09]) to test whether two weightswandw0 on the graph are gauge equivalent: they are so if and only if for every face bounded by edges e1, . . . , e2k (listed consecutively; note every face has an even number of edges due to the bipartite structure), we have
w(e1)w(e3). . . w(e2k−1)
w(e2)w(e4). . . w(e2k) =w0(e1)w0(e3). . . w0(e2k−1) w0(e2)w0(e4). . . w0(e2k) .
We will now define a Kasteleyn sign weight on the graph G. It is a choice of signs assigned to every edge such that each face with 0 mod 4 edges around it has an odd number of−signs around it, and each face bounded by 2 mod 4 edges has an even number of minus signs around it. Note for dimers of the honeycomb graph (or parts of it), there is a very convenient choice of Kasteleyn weight coming from the fact that 6 = 2 mod 4: just put a + sign on every edge. This is the only case we will be interested in the present work, but in general one can prove existence of such weights via spanning trees (see [Kas67] and [TF61]).
TheKasteleyn matrix K associated to a planar bipartite graphGwhose vertex setV =B∪W consists of black and white vertices is defined by assigning to every edge (b, w) the weight of that edge times its Kasteleyn sign. To every pair (b, w) that does not share an edge, we setK(b, w) = 0.
For the honeycomb lattice, it is just the weighted adjacency matrix since we can choose all + signs
for the Kasteleyn sign weight.
We have the following theorem from [Kas67], [TF61] for computing the partition functionZ(the total weight of all matchings). SetG(V, E) to be a finite bipartite planar graph with an even number of edges such thatV =B∪W.
Theorem 3.2.1.
Z =|detK|.
Proof. We will only prove this for the honeycomb lattice, in which case the proof simplifies a lot.
We follow [Ken09]. We first expand the determinant as
detK= X
σ∈Sn
(−1)σK(b1, wσ(1)). . . K(bn, wσ(n)).
Notice each term in the above sum is 0 unless each vertex bi in the product is paired with an adjacentwσi. Hence for each dimer cover we find a nonzero term in the sum and vice versa. The summand in question is indeed the total weight of that dimer cover by definition.
So all there is to check is that all signs appearing in front of the nonzero terms are the same.
It suffices to show that given a reference cover (a choice of σ), all other covers are obtained my multiplyingσby even permutations. But this can be translated into the tiling picture of Figure3.1 bijectively. There, it is easy to see that we can get from any tiling to any other tiling by changing unit cubes, one at a time, from empty to full (or vice versa). In particular we can reach any tiling from the empty box tiling with such moves. But every such move is local, on a unit cube alone.
Such empty/full (or full/empty) swap corresponds to swapping the two dimer covers of a hexagonal in the honeycomb lattice - a 2π/3 rotation. It corresponds to multiplying the initial permutationσ (corresponding to the initial cover) by a 3-cycle - an even permutation. Hence all the terms in the sum have the same sign as the term corresponding to the empty tiling (being obtained from it by multiplying the “empty”σby even permutations). This concludes the proof.
The next theorem, due to Kenyon [Ken97] will allow us to compute total weight of all matchings containing certain prescribed edges. We will omit the proof but see the reference (the proof uses the Jacobi lemma relating minors of a matrix with its inverse).
Theorem 3.2.2. The total weight of matchings containing n fixed edges (b1, w1), . . . ,(bn, wn) is equal to
n
Y
i=1
K(bi, wi)
! det
1≤i,j≤nK−1(wi, bj).
A version of this theorem which we find useful in computations is the following.
Theorem 3.2.3. The total weight of matchings of the graphG0which is obtained fromGby removing nblack verticesbi andnwhite verticeswj (not necessarily adjacent) is, up to a constant independent
of bi andwj:
1≤i,j≤ndet K−1(wi, bj).
Remark 3.2.4. Theorem3.2.2can be deduced from3.2.3since fixing certain edges in a matching is equivalent to removing the corresponding vertices, computing the total weight, and then adding the vertices back in the matching with prescribed edges (in which case we have to multiply by the weights of those edges).
Remark 3.2.5. Both of the previous theorems follow from the Jacobi lemma relating minors of a matrix M with those of its inverse. Let M be nonsingular and Adj(M) (the adjugate of M) be defined by Adj(M)i,j = (−1)i+jMˆj,ˆi where Mˆi,ˆj is the determinant of the matrix obtained by removing the i-th row and j-th column from M. Then Mi,j−1 = detM1 Adj(M)i,j. In fact, more is true: any k×k minor in Adj(M) is equal to the complementary signed minor in MT (the transpose ofM) times (detM)k−1. As a corollary, ifN0 is a proper square submatrix ofM−1, then
|detN0|=|detN|/|detM|for some proper square submatrixN ofM.
For the honeycomb graph, we can enumerate matchings differently. We look at the associated tiling, and then at the associated collection of nonintersecting paths. The total weight of all noninter- secting path collections (equivalently, all dimer covers) is then given by the Lindstr¨om-Gessel-Viennot lemma, which we now state in more generality (see [Ste90] and references therein):
Theorem 3.2.6. For a planar weighted connected graph G, let (u1, . . . , un) be a tuple of starting points and(v1, . . . , vn)be a tuple of ending points. Assume there are no nonintersecting path collec- tions pairing (start-end) ui tovσi for a nontrivial σ∈Sn. Moreover, letT(u, v) be the total weight of all paths fromutov in the graph (the weight of one path is the product of the edge weights over edges in the path). Then the total weight of all nonintersecting paths from the starting tuple to the ending one such that the i-th path starts atui and ends atvi is:
1≤i≤ndet T(ui, vj).