The squish map and the SL 2 double dimer model

A plane partition, whose 3D Young diagram is made of unit cubes, can be approximated by a “coarser” plane partition, made of cubes of side length 2. Indeed, there are two such approximations obtained by “rounding up” or “rounding down” to the nearest cube. We relate this coarsening (or downsampling) operation to the squish map introduced by the second author in earlier work. We exhibit a related measure-preserving map between the dimer model on the honeycomb graph, and the SL 2 double dimer model on a coarser honeycomb graph; we compute the most interesting special case of this map, related to plane partition q -enumeration with 2-periodic weights. As an application, we specialize the weights to be certain roots of unity, obtain novel generating functions (some known, some new, and some conjectural) that ( − 1)-enumerate certain classes of pairs of plane partitions according to how their dimer configurations interact.


Introduction
Anyone who has played with cubical building blocks in their youth has, at some point, constructed a 2 × 2 × 2 cube out of eight 1 × 1 × 1 cubes.Later in life, some of us (including the authors) went on to study plane partitions, which are nothing more than stable piles of cubes in the corner of a large room.These two experiences tell us that there ought to be some relation between plane partitions made out of the little cubes, and plane partitions made out of the bigger ones.Or, going the other way: what if we take a picture of a plane partition and "downsample" it, by approximating its 1 × 1 × 1 cubes by roughly one eighth as many 2 × 2 × 2 cubes, as best we can (see Figure 1)?How much information do we lose by doing this?
We propose to answer this question through an analysis of the squish map -a map originally studied in [8], as a means of proving a combinatorial theorem about plane partition enumeration.Here, we prove that the squish map is a measure-preserving transformation between instances of the single and double dimer models on honeycomb graphs.Thus, the loops of the double dimer model indicate where information is lost in the "downsampling" process.

Definitions and literature survey
A plane partition is an infinite matrix of nonnegative integers, all of which are zero sufficiently far from the origin, which are weakly decreasing both in rows or in columns (we do not typically draw the zeros).Equivalently, interpreting the numbers in a plane partition as z coordinates, one can represent a plane partition as a stack of unit cubes in the corner of a room -this is precisely the relationship between ordinary integer partitions and their Young diagrams, but one dimension higher.If the plane partition's cubes fit inside an x×y×z box, then it is said to be a boxed x×y×z plane partition.MacMahon [6] proved that the generating function for boxed x × y × z plane partitions is x i=1 y j=1 1 − q i+j+z−1 1 − q i+j−1 which, in the limit x, y, z → ∞ gives the famous generating function for plane partitions, Boxed plane partitions are in bijection with perfect matchings on an x × y × z hexagon graph, and hence with the dimer model on an certain graph.This result (as far as we know) is folklore, and we don't know a good reference; see Figure 6 for an illustration.We call the graph in question H x,y,z , the x × y × z honeycomb graph (see Figure 2).Let D x,y,z denote the set of perfect matchings (otherwise known as dimer configurations) on H x,y,z .Furthermore, let DD x,y,z be the set of double dimer configurations on H x,y,z .That is, an element m ∈ D x,y,z is an induced 1-regular subgraph of H x,y,z -every vertex of H x,y,z is in exactly one edge of D x,y,z , whereas an element m ∈ DD x,y,z is an induced 2-regular subgraph (with the slightly unusual convention that doubled edges are allowed).See Figure 4.
We require Kenyon's SL 2 (C)-weighted double dimer model [4]: in addition to an edge weight, one assigns a 2 × 2 matrix M e ∈ SL 2 (C) to each edge e; the partition function involves a product of traces of such matrices taken around a loop.This collection of matrices is called a connection on the graph, by analogy with differential geometry, since its contribution to the partition function is the monodromy around closed paths in the graph.When all M e are the identity matrix, all loops contribute Tr(I) = 2, so the model reduces to two independent copies of the ordinary dimer model, but this is typically a much more general and subtle model.
There are standard, determinantal tools for computing single and double dimer partition functions.For the single dimer model, one uses [3] and [7]; for lattice paths, the references are [5] and [2].Kenyon [4] introduces a matrix, analogous to Kasteleyn's matrix, whose determinant computes the partition function of this model.We do not need either determinant for this paper.
The map we introduce here, the squish map, is a map from D 2x,2y,2z to DD x,y,z .One can (in principle) discover everything there is to know about it by drawing H 2x,2y,2z with distorted edge lengths (see Figure 5).It was introduced in [8].Our result here is that the squish map is measure-preserving, for particular choices of the parameters of the single and double dimer models.Indeed, we are even able to prove a subtle result about the enumeration of down-sampled plane partitions, hinted at in [8]: If we let x, y, z → ∞, then there is a closed-form generating function which is preserved by the squish map.It is a certain 4-variable generating function for "Z 2 × Z 2colored plane partitions" studied in [9]; in it, a cube at position (i, j, k) gets a color according to the parities of (i − j) and (i − k); the four variables keep track of how many cubes of each color there are.The squish map allows us to see this generating function as marking certain statistics on a downsampled plane partition.This generating function was studied in [9] under a certain specialization; we both study it in full generality here, including the original specialization and a few intriguing others.Example 3. The following weighting reproduces the Q (number of boxes) statistic on plane partitions, up to an overall power of Q.This, as far as the authors know, is a "folklore" idea for which we do not know a good reference.Assign a weight of 1 to one horizontal edge in each column

The single and double dimer models
, with a monochromatic weighting on the horizontal edges.Note that although the edges labeled 1 are lined up along a particular diagonal, this does not have to be this case. of hexagons.Above each horizontal edge with weight 1, assign weights Q, Q 2 , Q 3 , . .., and below weights Q −1 , Q −2 , . ... Non-horizontal edges get weight 1.Then the overall weight of the perfect matching in Figure 2 The following definition of the SL 2 (C) double dimer model is due to Kenyon [4]: Definition 4. Let G = (V, E) be a bipartite graph with a scalar weight w : E → C as well as an SL 2 connection: a map Γ : E → SL 2 (C).Then the contribution of a double dimer configuration 3 The squish map

Coordinates on the honeycomb grid
The honeycomb graph is the tiling of the plane by hexagons; the center of each hexagon is a point in the dual triangular lattice.A convenient way to give coordinates to the triangular lattice is to draw it on the plane normal to (1, 1, 1) ∈ R 3 .This plane has an orthonormal basis which we won't really use, but we will orient our pictures according to it, and we will use words like up, left, bottom, horizontal, etc... in the conventional way with respect to this basis.The set Z 3 ⊆ R 3 projects onto a copy of the triangular lattice in this plane.Draw the honeycomb graph G in such a way that the lattice points are the centers of the hexagons, then label each lattice point (and thus each hexagon) with any of the lattice points that project to its center.For instance, the hexagon at the origin has the labels (0, 0, 0), ±(1, 1, 1), ±(2, 2, 2), etc.Call this particular embedding of the honeycomb graph H.In the ⃗ x, ⃗ y coordinates above, the edge common to the hexagon at (0, 0, 0) and the hexagon at (0, 0, 1) is horizontal.
There is also a second embedding of the honeycomb graph onto the plane which is of interest to us, which we shall glibly call 2H, and it is obtained by projecting the double-sized lattice (2Z) × (2Z) × (2Z) to a (bigger) triangular lattice in the plane, and taking the planar dual.The hexagons of 2H have even coordinates (2i, 2j, 2k).

Degenerating H to 2H
The squish map can be defined entirely combinatorially, but for visualization purposes it is extremely helpful to first define a continuous degeneration H(t) : [0, 1] → R 2 such that H(0) = H and H(1) = 2H.This degeneration is shown in Figure 5 and first appeared in [8].
To define H(t), write H = (V, E), and let H ev = (V ev , E ev ) be the subgraph of H consisting of all hexagons whose centers have even coordinates; we say that H ev are the "even hexagons".Let P = H \ H ev .Then the graph (V, P ) is a disconnected union of "propellers" (or K 1,3 's or "claws", depending on what dialect of graph theory you speak).Each propeller has a central vertex v and three leaves x, y, z.For t ∈ [0, 1], define x(t) = tv + (1 − t)x, so that x(t) is a point on the edge joining v to x. Define y(t) and z(t) similarly, and make the same definitions at each other propeller.
The graph embedding H(t) is obtained by drawing the vertex a at position a(t).For 0 ≤ t < 1, H(t) is an embedding of H; indeed, H(t) is an explicit homotopy equivalence.At t = 1, however, we have v = x = y = z, and thus H(1) degenerates to an embedding of 2H.

The squish map
H(t) defines a 2-to-1 map Sq from E ev to the edges of 2H: given an edge e of an even hexagon in H, find the corresponding edge in H(0), and let Sq(e) be the corresponding edge in H(1).Indeed, when drawing m on the graph H(t) for t < 1, visualize what the squish map is doing: propeller edges of m get shorter and shorter, while the doubled edges get longer and closer together.This process is shown in Figure 5. matching through the squish map 'downsamples' the plane partition: we would use 1/8 as many 2 × 2 × 2 bricks instead.For example, to build a 2 × 2 × 4 prism we can use 16 single cubes, or two larger 2 × 2 × 2 cubes.These are the minimal and maximal plane partitions that, when overlayed, give us the double dimer configuration D.
A few natural questions one might ask at this point would be: what single dimer configurations squish to a given double dimer configuration?In the language of building blocks, how can we tell which larger 2 × 2 × 2 brick configurations overlay with one another to give us a particular double dimer model?How do we recover that information if we were only given the 1 × 1 × 1 smaller blocks?Consider the two plane partitions given by Figure 6.Both of these configurations become a loop within a loop (as in Figure 7) when sent through the squish map.If we picture the plane partitions as boxes in a room, the minimal configuration that squishes to the loop within a loop is the diagram on the left of Figure 6, and the maximal one is the diagram on the right.(Note that these are just two out of a possible 23,364 configurations that squish to the same loopwithin-a-loop.See Theorem 20.)To determine which possible two overlayed 2 × 2 × 2 single dimer configurations give the same double dimer configuration, we start by downsampling either plane partition.
For this example, we will work through the process on the minimum diagram and partition above, though the process will work on either partition (or any of the other 23, 362 in between).
We want to round down to get the first single dimer configuration, π min , and round up to get the second single dimer configuration, π max .To do this rounding process, start by sectioning the plane partition into 2 × 2 grids.Now we have a pair of plane partitions that, when overlayed, become the same double dimer configuration we had as the result under the squish map.In Figure 7  We can downsample in a straightforward manner.Each 2 × 2 region in the plane partition contains all the same even entry, so the entry in π min would be half that number, as it would be for π max .Since all four entries were the same, then we have no rounding to do, so π min = π max .Thus when we overlay the single dimer configurations corresponding to π min and π max , we get all doubled edges in the double dimer configuration.
Proof of Theorem 6.Consider a given plane partition π that may not break down nicely into 2×2×2 cubes, where π has k boxes.Then Sq(π) = π min ⊔ π max as double dimer configurations.We proceed by induction on k.The base case is k = 0, which is straightforward by the remarks above: π, π min , π max and all the corresponding single or double dimer configurations are minimal.
Suppose that π has k + 1 boxes.Delete a box from π to create a π ′ that has k boxes.Then via the induction hypothesis we have that Sq(π ′ ) = π ′ min ⊔ π ′ max .If we add the (k + 1)th box back in, we land in one of three cases.
In the first case, we have started a new 2 × 2 × 2 cube by adding that cube in the (2i, 2j, 2k) position.Then, when viewed as a plane partition, π max (i, j) = π ′ max (i, j) + 1, while the minimum configuration stays the same (π min (i, j) = π ′ min (i, j)).Under the squish map we get that Sq(π) = Sq(π ′ ), except at the hexagon located at (i, j, k), where the perfect matching around said hexagon changes from the left of Figure 8 to the right.
In the second case, we have added the cube into the last empty slot of a 2 × 2 × 2 larger cube, so the new cube has gone into position (2i + 1, 2j + 1, 2k + 1).Then the maximum plane partition remains the same, so π max (i, j) = π ′ max (i, j), but π min (i, j) = π ′ min (i, j) + 1.So under the squish map we have that Sq(π) = Sq(π ′ ), except at (i, j, k), where the matching around the hexagon changes from the right of Figure 8 to the left.
Finally, the last case occurs when we add a cube anywhere else; i.e. adding this smaller cube neither completes a 2 × 2 × 2 box nor is the first cube in an otherwise empty 2 × 2 × 2 box.Here we have that π min = π ′ min and π max = π ′ max .In this case we have no change under the squish map, so Sq(π) = Sq(π ′ ) exactly.

Transfer matrix approach
Now that we have the squish map defined on graphs and plane partitions, we want to be able to take a weight function in the single dimer model and push it through the squish map to give us an SL 2 connection and a scalar weight function in the double dimer model.To do this, we first consider a perfect matching on the single dimer model.Once the graph has been squished, we can consider walking along a path around a given loop in the now-double dimer model.Given a starting vertex, each path consists of a series of right and left turns at each new vertex encountered until we once again reach the starting vertex.These turns are given labels L and R for left and right assigned to each vertex in the path.We want to interpret L and R as 2 × 2 transfer matrices add a box remove a box .Figure 8: Adding or removing a box for keeping track of the loop's contribution to the dimer model.This was the strategy of [8], which used different matrices.
To determine what particular matrices L and R should be, we consider a walk along the path snippet given by Figure 9.We begin at the bottom edge and then turn left at the next vertex, so we could step onto either edge z or w.If x is an edge in the perfect matching, then z cannot also be a matched edge, so the only next step could be w.Similarly, if y is in the perfect matching, then a left turn onto the next matched edge could include either z or w.We represent this with the vectors x 0 0 y as our two possible starting locations.Then we need the first vector to map only to edge w, and the second vector to map to both edges z and w, so we get the following maps A similar scenario happens for R, so we then find the 2 × 2 matrix to make the above maps hold, getting that Remark 10.Note that instead of defining L and R as above, we could also have defined L to be R −1 , and similar for R.So instead we would have had Sometimes it may be more convenient to define L and R this way (with the negative signs), such as if we had specialized the edge weights to be ±1.We ultimately wanted to use the version with only positive entries, however, to (hopefully) make it more clear to the reader how things are working.

From transfer matrices to the SL 2 connection
We can now use the matrices L and R to compute the contribution of a closed loop under the squish map from the single to the double dimer model by taking the trace of the product.However, we're supposed to have 2 × 2 matrices, with determinant 1 associated to the edges of H(i, j, k), not the vertices.We use the following process to include the left and right turn information in the edges of the graph as matrix weights.
To begin with, we associate general 2 × 2 edge-weight matrices A, B, and C to be placed on each horizontal, north-east, and north-west matched edge, respectively, as in Figure 10.To handle the process of moving L and R from the vertices to the edges, we need some way to include the information for turns in an unknown path.Then we want to come up with new matrices α, β, and γ that include the information from A, B, and C, but that also encode the information in the turns.For example, the move A → B is always a left turn, and the move A → C is always a right turn.So we somehow want the new βα to include the same information as BLA and γα to encode the information from CRA (reading paths from right-to-left).
Theorem 12.The single dimer model on the 2x×2y ×2z hexagon lattice with A, B, and C weights (as in Figure 10) gives rise to the same partition function as that on the double dimer model on the x × y × z hexagon graph with scalar weight of 1 everywhere and connection given by α, β, and γ (as in Figure 11).In our matrices, we write this as γα, which is (−iLCRJ)(iAJ) = LCRA, which does indeed include the information CRA, as we desired.There are 12 total ways to step from one edge to another, whose equivalent products are given below.

Left Turns
Right Turns Assume we have a valid path of length n with matrix string χ n χ n−1 . . .χ 1 .Then this string is equivalent to one of the form where each M ∈ {A, B, C, A −1 , B −1 , C −1 } is one of the original edge matrices, T i ∈ {R, L} is a turning matrix L or R, and the X i -terms on either end are the extras above used for bookkeeping (the LJ, RJ, L, R, or J 'bookkeeping' terms on the left or right of each full string).If we were to take another step along this path, then that (n + 1)th step would involve left-multiplying our string by χ n+1 , so we now have χ n+1 χ n . . .χ 1 = (χ n+1 χ n )χ n−1 . . .χ 1 .But the χ n+1 χ n is a valid construction of two edge-weight matrices with a left or right turn in the middle (possibly with an X n+1 or X n bookkeeping term), which means it is one of the 12 turns explicitly computed above.So χ n+1 χ n . . .χ 1 gives us a string that is equivalent to using A, B, and C with left-and right-turn matrices.
Example 13.Consider the path around a single hexagon with these new weights.If we begin at the bottom edge and then travel counterclockwise around the loop, then we perform matrix multiplication (reading right to left) in the order we reach the edges, getting γ −1 β −1 α −1 γβα.This product gives us the total connection for the path.Now if we compute this matrix out for the left-turn version, we get and the trace of this matrix is which has 18 terms (including repeated terms).So, in particular, we know that there are only 20 2 × 2 × 2 boxed plane partitions: the minimal one, the maximal one, and 18 others.Then using the trace of our matrix, we have accounted for all 18 terms that correspond to the 18 perfect matchings which get squished by the squish map to a single loop.These are the correct weights for plane partitions with 2-periodic weights.

Generating functions and specializations
Note that the previous sections have used periodic edge weights and connections.Here we generalize to cover several natural weight functions for plane partition enumeration.

Arbitrary weights
We first consider an arbitrary nonzero weight function w : G → C * .Note that every vertex v of G is a part of some propeller: either v is the center vertex of a propeller, or not (in which case, only one of the edges incident to v is part of the propeller).
We modify the weight function w by performing a so-called gauge transformation: for each vertex v which is not the center of a propeller; suppose that the edge e connects v to the center of the propeller.Divide the weights of all of v's incident edges by w(e).This operation changes the dimer model partition function only by an overall constant, which we can ignore at least in the case where G is a finite subgraph of the honeycomb graph.Assume without loss of generality that this has been done.
Then, given two edges e 1 , e 2 which get sent to e under the squish map, let w(e) = w(e 1 )w(e 2 ), the geometric mean of the weights of e This weighting w has the property that w(e 1 ) = w(e 2 ) −1 , so we can push it through the squish map as before.

Periodic weights on plane partitions
One has to be careful with computing the weight of a perfect matching m on any infinite graph, such as H.There are infinitely many edges in such a graph, so one would need to consider issues of convergence before multiplying all of the weights together to find the weight of a perfect matching.
There is then a separate convergence issue when trying to sum over m.However, our main interest is in plane partitions, which are in bijection with certain perfect matchings on H. Plane partitions come with a natural generating function, computed by MacMahon, as stated in Section 1.1.We now define M (a, q) = i≥1 1 1 − aq i i for weighted plane partitions [6].Indeed, there is a particular weighting which is uniquely relevant on the entire honeycomb lattice: the Z 2 × Z 2 periodic weighting.
We assign the weights to the lattice points as follows: ( There are a variety of edge weight functions on the dimer model which correspond to this; one which is well behaved with respect to the squish map is (partially) shown in Figure 12.We previously defined the weight function on a finite portion of the honeycomb graph (as in the monochromatic weighting on Figure 2).To extend this weighting to the entire plane, set p 3 = q and include constants k 1 , k 2 , and k 3 .
Choose each of k 1 , k 2 , and k 3 so that the desired region of the plane has the appropriate edge weights.(Generally we choose this in such a way that the edge weights near the center of the region in question are all of low degree.)This is comparable to choosing the weight "1" on a particular place in a given column of horizontal edges from Example 3. The result will be that each 'strip' of hexagons (in each vertical, northeast/southwest, or northwest/southeast diagonal, as in figure 12) will have a weight of 1 in the desired location, with increasing and decreasing powers traveling either direction away from the center.
We can decompose this weighting into two pieces, as shown on the bottom of Figure 12.The first piece becomes the SL 2 connection, as described above and seen in the lower right of the figure.The second piece becomes the scalar weights, which is shown in the lower left.For further details on various weight functions of the honeycomb graph, see [9].Theorem 14.Using the weight function given in Figure 2 and a monodromy given by placing α on every northeast/southwest edge, β on every northwest/southeast edge, and γ on every horizontal (east/west) edge, then the squish map is measure preserving.
Corollary 15.Using α, β, and γ as described in Theorem 14, we can find the generating function for a given m × n × o boxed double dimer plane partition.
Remark 16.As seen in [4], we can compute the probability of a given edge being present in the single dimer model by taking the determinant of a certain Kasteleyn matrix.When we use this procedure in conjunction with the squish map, we can now determine the probability that a given edge will appear as a doubled edge in the double dimer model.If said doubled edge is present, then its preimage under the squish map would have two edges mapping to the doubled edge, so the overall probability would be the product of the two individual probabilities that each edge would be present in the single dimer model.
Define Q := qrst, and M (x, y) := M (x, y)M (x −1 , y).The generating function for plane partitions in which q, r, s, t mark the boxes in as in equation 1 was computed in [9] (where it was denoted Under the specialization r = s = t = q (and hence Q = q 4 ) we recover MacMahon's generating function for plane partitions by a slightly delicate manipulation of formal power series.In [8] it is observed that under the specialization r = s = t = −1, the above generating function specializes to M (1, −q), and this latter statement is proven using the squish map (without the SL 2 double dimer model).
Corollary 17 (to Theorem 14).The partition function for the SL 2 double dimer model is Z Q from equation 2.

Examples
We now work out two examples in which we squish boxed 2 × 2 × 2 and 2 × 2 × 4 plane partitions, with boxes weighted by w(i, j, k).These do not have nice closed-form generating functions akin to MacMahon's generating function, but we can nonetheless evaluate them with our techniques.We also investigate the specializations of our formula at primitive roots of unity, recovering and extending the results of [9], as well as a new conjecture.
Example 18 (2×2×2).Consider the path around a single hexagon that is the result of a particular single dimer configuration sent through the squish map, or a 2 × 2 × 2 boxed plane partition in the double dimer model.The two configurations on H 2,2,2 that do not give rise to a loop under the squish map are pictured in Figure 13.The right graphic has a total weight of 1, and the right graphic has a total weight of Q 2 .Then the remaining 18 partitions are represented by the polynomial 1 + q + qr + qs + qt + qrs + qrt + qst + 4qrst + qr 2 st + qrs 2 t + qrst 2 + qr 2 s 2 t + qr 2 st 2 + qrs 2 t 2 + qr 2 s 2 t 2 + q 2 r 2 s 2 t 2 .
We want to draw a comparison between Z Q and the matrix model under the squish map, so consider the trace of the product of terms corresponding to the single hexagon loop, η a 2 b 2 c 2 , where Note that this is only the connection in the SL 2 (C) double dimer model, not also the weights.So let the weight on every horizontal edge be Q (height of that edge) = (qa 2 b 2 c 2 ) (height of that edge) , as in Figure 2. Then the total contribution (the connection and the weight) of that single hexagon is qa 2 b 2 c 2 η a 2 b 2 c 2 = q • η.Now consider a mapping from Z Q to the matrices, where a 2 = r, b 2 = s, and c 2 = t.Then Q = qrst = qa 2 b 2 c 2 .Then making the replacements in the statement above, we get q r 2 s 2 t 2 + r 2 s 2 t + r 2 st 2 + rs 2 t 2 + r 2 st + rs 2 t + rst 2 + 4rst + rs + st + rt + r + s + t + 1 .
Then this matches what we got for Z Q when we include the 1 and Q 2 terms from the two non-loop configurations.
Note that the top row of configurations in Figure 14 has no loops (only doubled edges), so there is no contribution from the SL 2 (C) connection.So we get a contribution only from the weight, and we get 1 for the configuration on the left, Q 2 for the configuration in the middle, and Q 4 for the configuration on the right.Since there is only one configuration in the single dimer model that squishes to each of these they must each account for only one term each in the generating function GF 2×2×4 , namely 1, q 2 r 2 s 2 t 2 , and q 4 r 4 s 4 t 4 .Now we examine the second line of Figure 14.From the 2 × 2 × 2 (Example 18) case, we see that we get 18 terms in the generating function for a single loop.So each of the first two figures in the second line correspond to 18 terms in the generating function, but to determine which terms we need to include the Q-weights.So the lower left figure has two horizontal edges, the lower getting a weight of 1 and the upper getting a weight of Q.So this diagram corresponds with the terms Q ( the single hexagon generating function seen previously) = Q ( r 2 s 2 t 2 + r 2 s 2 t + r 2 st 2 + rs 2 t 2 + r 2 st + rs 2 t + rst 2 + 4rst + rs + st + rt + r + s + t + 1 ).Then the lower-middle diagram gets a weight of Q 2 • Q = Q 3 , so its generating function is Q 3 (r 2 s 2 t 2 + r 2 s 2 t + r 2 st 2 + rs 2 t 2 + r 2 st + rs 2 t + rst 2 + 4rst + rs + st + rt + r + s + t + 1).Then we have the 105 monomials from GF 2×2×4 , and subtract off the three monomials corresponding to the no-loop configurations, and the 2 • 18 monomials just described corresponding to single hexagon loop configurations, and we are left with the following 66 terms: (r 4 s 4 t 2 + r 4 s 4 t + r 4 s 3 t 2 + r 3 s 4 t 2 + r 4 s 3 t + r 3 s 4 t + 3r 3 s 3 t 2 + 4r 3 s 3 t + 2r 3 s 2 t 2 + 2r 2 s 3 t 2 + r 3 s 3 + 3r 3 s 2 t + 3r 2 s 3 t + 3r 2 s 2 t 2 + r 3 s 2 + r 2 s 3 + 8r 2 s 2 t + r 2 st 2 + rs 2 t 2 + 3r 2 s 2 + 3r 2 st + 3rs 2 t + rst 2 + 2r 2 s + 2rs 2 + 4rst + 3rs + rt + st + r + s + t + 1)q 2 t, which corresponds to a loop around To compare with the corresponding contribution of the SL 2 double dimer model, we first take the matrix product of a monodromy around both hexagons, then take the trace and multiply by the weight (qa Then make the replacements using a 2 = r, b 2 = s, and c 2 = t.The resulting polynomial is (r 4 s 4 t 2 + r 4 s 4 t + r 4 s 3 t 2 + r 3 s 4 t 2 + r 4 s 3 t + r 3 s 4 t + 3r 3 s 3 t 2 + 4r 3 s 3 t + 2r 3 s 2 t 2 + 2r 2 s 3 t 2 + r 3 s 3 + 3r 3 s 2 t + 3r 2 s 3 t + 3r 2 s 2 t 2 + r 3 s 2 + r 2 s 3 + 8r 2 s 2 t + r 2 st 2 + rs 2 t 2 + 3r 2 s 2 + 3r 2 st + 3rs 2 t + rst 2 + 2r 2 s + 2rs 2 + 4rst + 3rs + rt + st + r + s + t + 1)q 2 t, which matches exactly with the 66 terms from naively enumerating the plane partitions with the same weights.

Specializations
In an attempt to find a simple application of these techniques to plane partition enumeration, we have noticed the following curious phenomenon.Consider the specialization a = b = c = ω, a primitive nth root of unity for various n, and let L be a loop which appears in the SL 2 double dimer model, after performing the squish map.
Theorem 20.If n = 1 or n = 2, then the contribution of L is the number of double dimer configurations that contribute to that loop.
the boundary of R is the same until the new hexagon.Upon reaching the new hexagon, take the old path of R, then loop all the way around the new hexagon (still in the counterclockwise direction).Note that this will traverse the most recent one to five edges from R, but now in the opposite direction.Finally, the boundary of R ′ also includes the boundary of the new hexagon.So our whole path is that of R • {path around a single hexagon}, which is (−1) n • I • (−1) • I = (−1) n+1 • I.
For the next conjecture we need some terminology from Conway-Lagarias [1] about tiling regions in H with tiles made of unions of hexagons.A bone is the union of three collinear adjacent hexagons in H; a stone is the union of three hexagons in H which all share a common vertex.A signed tiling of L is a collection of tiles, each with a weight of +1 or −1, covering L in such a way that the total contribution at each hexagon inside L is 1, and the total contribution of each hexagon outside L is zero.We also define one more tile, the snake, which is a union of four hexagons in an "S" shape (see Figure 15).Conjecture 24.If n = 3 or n = 6, then the contribution of L is 0 unless there exists a signed tiling of L by stones, bones and snakes -in which case, the contribution is (−1) s • I, with s being the number of stones used in the signed tiling.
When n = 3 or n = 6, then the contribution of a loop around a bone or snake is I.So if we inductively add tiles to a region (as we did in the proof of Theorem 23 for individual hexagons), we get ±I, where the parity depends only on the number of stone tiles used in the tiling.So to prove the conjecture, one needs only show that the monodromy of all non-signed-tilable L is 0.
We expect that after this specialization our SL 2 connection is strongly related to the character of one of the Conway-Lagarias tiling groups, so the proof will involve computing this character, as well as a map from said tiling group to a subgroup generated by the matrices α, β, and γ.Note that a contribution of 0 means that a double dimer configuration will not contribute at all to the partition function, so this should give an interesting generating function for "good pairs" of plane partitions.

Concluding remarks
Here we explain the process of finding α, β, and γ.Perhaps our discovery process is of interest to the reader that has made it this far.
Let M (for move) be the matrix M = L −1 R. Then M −1 = R −1 L. Our first attempt to create matrices α, β, and γ involved simply conjugating A, B, C with different powers of M , noting that M 3 = −I.Based on empirical studies of the shortest possible loop, six left turns around a single hexagon, this looked close to the correct definition.We defined α 1 := A, β 1 := M −1 BM , and γ 1 := M −2 BM 2 .These matrices worked for our main goal -terms in the trace of the resulting matrix count how many perfect matchings squish to a particular loop, with the correct weights.However, that polynomial had alternating signs depending on the total degree of each term.
Our next step was to correct for the signs by replacing a with ai, b with bi, and c with ci in the original A, B and C matrices.Let A ′ , B ′ , and C ′ be the corresponding A, B, and C matrices after making the above replacements.We wanted all of the signs to be positive because the matrix product of a path around a loop should give rise to a probability measure on the graph, as in [4].After including the is we had a trace that has all positive values.Then, α 2 := A ′ , β 2 := M −1 B ′ M , and γ 2 := M −2 C ′ M 2 .
γ 3 := JM −2 C ′ M 2 J.After rewriting and simplifying, we arrive at the final definition of α, β, and γ as stated in Definition 11.

Figure 1 :
Figure 1: A plane partition, viewed as a stack of boxes -and then "downsampled" by a factor of two, rounding up to the nearest full box.The plane partitions are π and π max , respectively, from Example 8 in Section 3.3.

Definition 1 .
The weight of a graph is an assignment ν : E → R ≥0 of real numbers onto each edge of the graph, where E is the set of edges in a graph G. Definition 2. Consider a perfect matching m on G.The weight of m is defined to be w(m) = e∈m w(e).

Figure 3 :Figure 4 :
Figure 3: The two possible configurations of a single hexagon loop in the double dimer model

Definition 5 .
The squish map Sq : D(H) → DD(2H) sends a dimer configuration m on H to a double dimer configuration Sq(m) on 2H as follows: let m ev = m ∩ E ev ; then Sq(m) = Sq(m ev ).

Theorem 6 .
Consider a single dimer configuration S sent through the squish map resulting in a double dimer configuration D made of loops and doubled edges.In each 2 × 2 section of the plane partition for S, let π min m

Figure 6 :
Figure 6: Two single dimer configurations shown as boxed plane partitions

Each 2 ×
2 section will become one entry in the downsampled plane partition.When we round down, we want to count how many complete 2 × 2 × 2 blocks exist in each section.(You can also think about this as removing smaller 1 × 1 × 1 cubes one-at-a-time until you are only left with 2 × 2 × 2 blocks.)Thus, we have 1 single dimer configuration.Now to find the second single dimer configuration, we want to round up to the nearest larger cube.(You can also think about this as adding smaller cubes until we fill the 2 × 2 × 2 cube.)So the maximal configuration in its entirety becomes rewritten as 2 , the yellow (lighter colored)

Figure 7 : 8 .Remark 9 .
Figure 7: A loop within a loop in the double dimer model

Figure 9 :
Figure 9: Left: the possible x, y, z, and w edge weights over a left-hand turn.Right: A perfect matching on a squished hexagon lattice.

Figure 10 :
Figure 10: Matrix weights A, B, and C on the single dimer model.

1 and e 2 .
Define a new weighting on G by w(e 1 ) = w(e 1 )

Figure 12 :
Figure 12: Top: 2-periodic weights for the single dimer model.Bottom: SL 2 connection and scalar weight for the corresponding double dimer model.

Figure 14 :
Figure 14: A representation of of each possible result of pushing the 2 × 2 × 4 single dimer configuration through the squish map