Appendix 1: Properties of Kasteleyn Graphs
In this appendix, we prove a few useful lemmas about Kasteleyn graphs. The key result is the following.
Lemma 5.1
Given two circuits \(c_1\) and \(c_2\) as in (2.1), if \(c_1\) and \(c_2\) are good then their merger \(c=c_1\Delta c_2\) is as well.
Proof
We write \(c_1\) and \(c_2\) as in (2.1):
$$\begin{aligned} c_1=(v_1,\ldots ,v_{\nu +1},v_{\nu +2},\ldots ,v_{|c_1|}),\quad c_2=(v_{\nu +1},\ldots ,v_{1},v_{\nu +2}',\ldots ,v_{|c_2|}') \end{aligned}$$
and
$$\begin{aligned} c=(v_{\nu +1},\ldots ,v_{|c_1|},v_1,v_{\nu +2}',\ldots ,v_{|c_2|}'). \end{aligned}$$
We first prove that
Indeed, a circuit \(c_1\) is oddly-directed if and only if the numbers of backwards edges in \((v_1,\ldots ,v_{\nu +1})\) and in \((v_{\nu +1},\ldots ,v_{|c_1|},v_1)\) have different parity (by which we mean evenness or oddness), and \(c_2\) is oddly-directed if and only if the numbers of backwards edges in \((v_{\nu +1},\ldots ,v_{1})\) and in \((v_1,v_{\nu +2}',\ldots ,v_{|c_2|}',v_{\nu +1})\) have different parity. Therefore, if \(\nu \) is even, using the fact that the numbers of backwards edges in \((v_1,\ldots ,v_{\nu +1})\) and in \((v_{\nu +1},\ldots ,v_1)\) have the same parity, it follows that \(c_1\Delta c_2\) is oddly-directed if and only if \(c_1\) is oddly-directed and \(c_2\) is evenly-directed or vice-versa. If \(\nu \) is odd, the numbers of backwards edges in \((v_1,\ldots ,v_{\nu +1})\) and in \((v_{\nu +1},\ldots ,v_1)\) have different parity, so that \(c_1\Delta c_2\) is oddly-directed if and only if \(c_1\) and \(c_2\) are either both oddly-directed or both evenly-directed.
The proof of the lemma is then concluded by noticing that if \(\nu \) is odd then the number of vertices that are encircled by either \(c_1\) or \(c_2\) has the same parity as the number of vertices encircled by c, whereas the parity is different if \(\nu \) is even. \(\square \)
Lemma 5.1 has a number of useful consequences, which are discussed in the following.
Proof of Lemma 2.1:
Given a circuit c of a Kasteleyn graph g, we prove that it is good by induction on the number of edges it encloses. If it is a minimal circuit (in particular if it encloses no edge), then it is good by assumption. If not, then there exist \(c_1\) and \(c_2\) such that \(c=c_1\Delta c_2\), from which we conclude by the inductive hypothesis and Lemma 5.1. \(\square \)
Lemma 5.2
Given a Kasteleyn graph g, the graph obtained by removing any edge of g is Kasteleyn.
Proof
The lemma follows from Lemma 2.1 and the fact that minimal circuits of the graph obtained by removing the edge are circuits of g. \(\square \)
We will now prove Proposition 2.2 and, in the process, provide an algorithm to direct a planar graph g in such a way that the resulting directed graph is Kasteleyn.
Proof of Proposition 2.2:
First of all, we notice that we can safely assume that g has a boundary circuit: if it did not, then we construct an auxiliary graph \(\gamma \) by adding edges to g, as detailed in Sect. 4.1. Once \(\gamma \) has been directed, the extra edges can be removed, and the Kasteleyn nature of the resulting directed graph then follows from Lemma 5.2.
Assuming g has a boundary circuit, we prove the proposition by induction on the number of internal edges of the graph.
We first direct the edges of \(\partial g\) in such a way that it is good (if those edges are already directed then \(\partial g\) is good by assumption).
We first consider the case in which \(\partial g\) is not a minimal circuit, in which case there exist \(c_1\) and \(c_2\) such that \(c_1\Delta c_2=c\). We split g into the graph \(g_1\) consisting of \(c_1\) and its interior and \(g_2\) consisting of \(c_2\) and its interior. We direct the common edges between \(g_1\) and \(g_2\) (or equivalently between \(c_1\) and \(c_2\)) in such a way that \(c_1\) is good (there may be many ways of doing so, any one will do). By the inductive hypothesis, this implies that \(g_1\) can be directed appropriately. By Lemma 5.1, \(c_2\) is good, which implies that \(g_2\) can be directed as well.
We now turn to the case in which \(\partial g\) is a minimal circuit (which includes the case in which it has no interior edges).
If \(\partial g\) encloses no circuit (that is if among the edges \(\partial g\) encloses, if any, none form a circuit), then none of the edges enclosed in \(\partial g\) belong to a minimal circuit of g (since that circuit would have to contain an edge of \(\partial g\)). Therefore the edges enclosed in \(\partial g\) can be directed in any way without affecting the Kasteleyn nature of g.
If \(\partial g\) encloses at least one circuit, let \(c_1,\ldots ,c_n\) be the maximal circuits enclosed by \(\partial g\). The edges that are outside all of the \(c_i\)’s do not belong to any minimal circuit and can therefore be directed in any way. Let \(g_i\) be the sub-graph of g consisting of \(c_i\) and its interior. The sub-graph \(g_i\) can be directed by the inductive hypothesis. \(\square \)
Appendix 2: Examples
In this appendix we provide some examples of Pfaffian formulas to illustrate the discussion.
A Graph with No Interior Vertices
In this section, we compute the Pfaffian corresponding to Fig. 9. We direct and label the graph as per the discussion in Sect. 3 (see Fig. 9). We set the edge weights \(d_e=1\) and assume the monomer weights \(\ell _i\) are all equal to \(\sqrt{x}\). The antisymmetric matrix \(A({\varvec{\ell }},{\mathbf {d}})\) is
$$\begin{aligned} A(x)=\left( \begin{array}{cccccccc} 0&{}\quad 1+x&{}\quad -x&{}\quad x&{}\quad -x&{}\quad x&{}\quad -x&{}\quad 1+x\\ &{}\quad 0&{}\quad 1+x&{}\quad -x&{}\quad x&{}\quad -x&{}\quad 1+x&{}\quad -x\\ &{}\quad &{}\quad 0&{}\quad 1+x&{}\quad 1-x&{}\quad x&{}\quad 1-x&{}\quad x\\ &{}\quad &{}\quad &{}\quad 0&{}\quad 1+x&{}\quad -x&{}\quad x&{}\quad -x\\ &{}\quad &{}\quad &{}\quad &{}\quad 0&{}\quad 1+x&{}\quad -x&{}\quad x\\ &{}\quad &{}\quad &{}\quad &{}\quad &{}\quad 0\quad &{}\quad 1+x&{}\quad -x\\ &{}\quad &{}\quad &{}\quad &{}\quad &{}\quad &{}\quad 0&{}\quad 1+x\\ &{}\quad &{}\quad &{}\quad &{}\quad &{}\quad &{}\quad &{}\quad 0 \end{array}\right) \end{aligned}$$
which is completed by antisymmetry. The MD partition function is therefore
$$\begin{aligned} \Xi (x)=\mathrm {pf}(A(x))= x^4+11\,x^3+33\,x^2+28\,x+3. \end{aligned}$$
(6.1)
Another Graph with No Interior: The L-Shape
In this section we compute the MD partition function for another simple graph: the L-shape, represented in Fig. 10. We direct and label the graph as per the discussion in Sect. 3 (see Fig. 10) and find (setting \(d_v=1\) and \(\ell _i=\sqrt{x}\) as before)
$$\begin{aligned} A(x)=\left( \begin{array}{cccccccc} 0&{}\quad 1+x&{}\quad -x&{}\quad x&{}\quad -x&{}\quad x&{}\quad -x&{}\quad 1+x\\ &{}\quad 0&{}\quad 1+x&{}\quad -x&{}\quad 1+x&{}\quad -x&{}\quad x&{}\quad -x\\ &{}\quad &{}\quad 0&{}\quad 1+x&{}\quad -x&{}\quad x&{}\quad -x&{}\quad x\\ &{}\quad &{}\quad &{}\quad 0&{}\quad 1+x&{}\quad -x&{}\quad x&{}\quad -x\\ &{}\quad &{}\quad &{}\quad &{}\quad 0&{}\quad 1+x&{}\quad -x&{}\quad 1+x\\ &{}\quad &{}\quad &{}\quad &{}\quad &{}\quad 0&{}\quad 1+x&{}\quad -x\\ &{}\quad &{}\quad &{}\quad &{}\quad &{}\quad &{}\quad 0&{}\quad 1+x\\ &{}\quad &{}\quad &{}\quad &{}\quad &{}\quad &{}\quad &{}\quad 0 \end{array}\right) \end{aligned}$$
which is completed by antisymmetry. The MD partition function is therefore
$$\begin{aligned} \Xi (x)=\mathrm {pf}(A(x))= x^4+10\,x^3+28\,x^2+24\,x+4 \end{aligned}$$
(6.2)
A Square Graph
In this section, we compute the Pfaffian corresponding to the graph in Fig. 11. We set \(d_e=1\) and \(\ell _i=\sqrt{x}\). Since the expression of the matrix A is rather long, we split it into lines and only write the \(i<j\) terms.
$$\begin{aligned} \begin{array}{ll} A_{ 1,\cdot }(x)=&{} 1+x, -x, x, -x, x, -x, x, -x, x, -x, 1+x, 0, 0, 0, 0\\ A_{ 2,\cdot }(x)=&{} 1+x, -x, x, -x, x, -x, x, -x, x, -x, 1 , 0, 0, 0\\ A_{ 3,\cdot }(x)=&{} 1+x, -x, x, -x, x, -x, x, -x, x, 0, 0, 1 , 0\\ A_{ 4,\cdot }(x)=&{} 1+x, -x, x, -x, x, -x, x, -x, 0, 0, 0, 0\\ A_{ 5,\cdot }(x)=&{} 1+x, -x, x, -x, x, -x, x, 0, 0, 1 , 0\\ A_{ 6,\cdot }(x)=&{} 1+x, -x, x, -x, x, -x, 0, 0, 0,-1 \\ A_{ 7,\cdot }(x)=&{} 1+x, -x, x, -x, x, 0, 0, 0, 0\\ A_{ 8,\cdot }(x)=&{} 1+x, -x, x, -x, 0, 0, 0,-1 \\ A_{ 9,\cdot }(x)=&{} 1+x, -x, x, 0,-1 , 0, 0\\ A_{10,\cdot }(x)=&{} 1+x, -x, 0, 0, 0, 0\\ A_{11,\cdot }(x)=&{} 1+x, 0,-1 , 0, 0\\ A_{12,\cdot }(x)=&{}-1 , 0, 0, 0\\ A_{13,\cdot }(x)=&{} 1 ,-1 , 0\\ A_{14,\cdot }(x)=&{} 0, 1 \\ A_{15,\cdot }(x)=&{} 1 . \end{array} \end{aligned}$$
The MD partition function is therefore
$$\begin{aligned} \Xi (x)=\mathrm {pf}(A(x))= 2x^6 + 40x^5 + 256x^4 + 680x^3 + 776x^2 + 336x + 36. \end{aligned}$$
(6.3)
An Enclosed Graph
In this section, we compute the Pfaffian corresponding to the graph in Fig. 3, directed and labeled as in Fig. 4. We set \(d_e=1\) and \(\ell _i=\sqrt{x}\). Since the expression of the matrix A is rather long, we split it into lines and only write the \(i<j\) terms.
$$\begin{aligned} A_{ 1,\cdot }(x)= & {} 1+x, -x, x, -x, x, -x, 1+x, 0, 0, 0, 0, 1 , 0, 0,-1 \\ A_{ 2,\cdot }(x)= & {} 1+x, -x, x, -x, x, -x, 0, 0, 0, 0, 0, 0, 0, 0\\ A_{ 3,\cdot }(x)= & {} 1+x, -x, x, -x, x, 0, 0, 0, 0, 0, 0,-1 , 0\\ A_{ 4,\cdot }(x)= & {} 1+x, 1-x, x,-1-x, 0, 1 , 0, 1 , 0,-1 , 0, 0\\ A_{ 5,\cdot }(x)= & {} 1+x, -x, x, 0, 0, 0, 0, 0, 0, 0, 0\\ A_{ 6,\cdot }(x)= & {} 1+x, -x, 1 , 0, 0, 0, 0, 0, 0, 0\\ A_{ 7,\cdot }(x)= & {} 1+x, 1 , 0,-1 , 0, 0, 0, 0, 0\\ A_{ 8,\cdot }(x)= & {} 0,-1 ,-1 , 0,-1 , 0, 0, 0\\ A_{ 9,\cdot }(x)= & {} 0, 1 , 1 , 0, 0, 0, 0\\ A_{10,\cdot }(x)= & {} 0, 0, 0, 0, 0, 0\\ A_{11,\cdot }(x)= & {} 1 , 0, 0, 0, 0\\ A_{12,\cdot }(x)= & {} 0, 0, 0, 0\\ A_{13,\cdot }(x)= & {} 1 , 0, 0\\ A_{14,\cdot }(x)= & {} 1 ,-1 \\ A_{15,\cdot }(x)= & {} 0. \end{aligned}$$
The MD partition function is therefore
$$\begin{aligned} \Xi (x)=\mathrm {pf}(A(x))= 22x^2 + 40x + 4. \end{aligned}$$
(6.4)
A Graph with No Boundary Circuit
In this section, we compute the Pfaffian corresponding to the graph in Fig. 7, directed and labeled as in Fig. 12. We set \(d_e=1\) and \(\ell _i=\sqrt{x}\). Since the expression of the matrix A is rather long, we split it into lines and only write the \(i<j\) terms.
$$\begin{aligned} \begin{array}{ll} A_{ 1,\cdot }(x)=&{} 1+x, -x, x, -x, x, -x, x, -x, x, -x, x,-1-x, 1 , 0, 0\\ A_{ 2,\cdot }(x)=&{} 1+x, -x, x, -x, x, -x, x, -x, x, -x, 1+x, 1 , 0, 0\\ A_{ 3,\cdot }(x)=&{} 1+x, -x, x, -x, 1+x, -x, x, 1-x, 1+x, -x, 0, 1 , 0\\ A_{ 4,\cdot }(x)=&{} 1+x, 1-x, 1+x, -x, x, -x, x, -x, x, 0, 0, 0\\ A_{ 5,\cdot }(x)=&{} x, -x, x, -x, x, -x, x, -x, 0, 0, 0\\ A_{ 6,\cdot }(x)=&{} x, -x, x, -x, x, -x, x, 0, 0, 0\\ A_{ 7,\cdot }(x)=&{} x, -x, x, -x, x, -x, 0, 0, 0\\ A_{ 8,\cdot }(x)=&{} 1+x, -x, x, -x, x, 0, 0, 0\\ A_{ 9,\cdot }(x)=&{} 1+x, -x, x, -x, 0, 1 , 0\\ A_{10,\cdot }(x)=&{} 1+x, -x, x, 0, 1 , 0\\ A_{11,\cdot }(x)=&{} 1+x, -x, 0, 0,-1 \\ A_{12,\cdot }(x)=&{} x, 0, 0, 0\\ A_{13,\cdot }(x)=&{} 1 , 0, 0\\ A_{14,\cdot }(x)=&{} 0, 0\\ A_{15,\cdot }(x)=&{} 1 . \end{array} \end{aligned}$$
The MD partition function is therefore
$$\begin{aligned} \Xi (x)=\mathrm {pf}(A(x))= 3x^6 + 47x^5 + 222x^4 + 389x^3 + 234x^2 + 27x \end{aligned}$$
(6.5)
Appendix 3: An Algorithm for the Full Monomer–Dimer Partition Function
In this appendix, we discuss an algorithm to compute the full MD partition function on an arbitrary graph (which is not necessarily planar).
The main idea is to isolate a skeleton
s from the graph, which is a sub-graph of g obtained by removing edges from g in such a way that s is planar and contains no internal vertices. The boundary MD partition function of s is the partition function of MD coverings of g that does not have any dimers outside the skeleton. In order to count the coverings that do have dimers outside the skeleton, we add the following terms to the partition function. For every collection \(\sigma \) of dimers that occupy edges that are outside the skeleton, we construct a sub-graph \([s]_\sigma \) of s by removing the vertices covered by a dimer in \(\sigma \). The boundary MD partition function of this sub-graph can be computed using Theorem 1.1. The full MD partition function is then obtained by summing the boundary MD partition functions of every such \([s]_\sigma \).
If g is an \(L\times M\) sub-rectangle of \(\mathbb Z^2\) with, say, L even, then the skeleton can be constructed as in Fig. 13. By this algorithm, the MD partition function can be computed by summing \(2^{\frac{1}{2}(L-2)(M-2)}\) Pfaffians.
For example, if \(L=4\), \(M=3\) then, aside from the skeleton, there is a single sub-graph to be considered, see Fig. 14. The MD partition function is therefore the sum of two Pfaffians, which we have computed in the case \(d_e=1\), \(\ell _v=\sqrt{x}\):
$$\begin{aligned} \Xi (x)= x^6 + 17x^5 + 102x^4 + 267x^3 + 302x^2 + 123x + 11. \end{aligned}$$
(7.1)
If \(L=6\), \(M=6\), then the MD partition function is obtained by summing 256 Pfaffians:
$$\begin{aligned} \Xi (x)= & {} x^{18}+60 x^{17} + 1\,622\, x^{16} + 26\,172\, x^{15} + 281\,514 x^{14} +2\,135\,356\, x^{13}\nonumber \\&+\, 11\,785\,382\, x^{12} + 48\,145\,820\, x^{11} + 146\,702\,793\, x^{10} + 333\,518\,324\, x^9\nonumber \\&+\, 562\,203\,148\, x^8 + 693\,650\,988\, x^7 + 613\,605\,045\, x^6 + 377\,446\,076\, x^5\nonumber \\&+\, 154\,396\,898\, x^4 + 39\,277\,112\, x^3 + 5\,580\,152\, x^2 + 363\,536\, x + 6\,728. \end{aligned}$$
(7.2)
Both (7.1) and (7.2) are in agreement with the results published in [24, Table 6.7, column \(N=12\)] and [24, Table 6.3] respectively.
Appendix 4: Another Algorithm for the Full Monomer–Dimer Partition Function
If a graph \(g\in {\mathcal {G}}\) is Hamiltonian, i.e., if there exists a circuit, called a Hamiltonian cycle, that goes through every vertex of g exactly once, then we will now show how to write the full MD partition function on g as a product of two Pfaffians. The condition that g is Hamiltonian, is not restrictive, since 0-weight edges and vertices can be added to g to make it so.
Given a Hamiltonian cycle c, let \(g_i\) denote the graph obtained from g by removing every edge outside c (that is the edges that are neither part of the Hamilton cycle, nor enclosed by it), and \(\bar{g}_e\) the graph obtained from g by removing every edge enclosed by c. We then consider a new embedding of \(\bar{g}_e\), denoted by \(g_e\), that is such that every vertex of \(g_e\) is on the boundary (this is achieved by turning it inside out, that is, by setting the infinity-face of \(g_e\) from the outside to the inside of the Hamilton cycle in \(\bar{g}_e\)).
The monomer dimer-partition function of g can then be computed in the following way. We first set the weights of the edges and vertices of \(g_e\) and \(g_i\):
-
given a vertex \(v\in {\mathcal {V}}(g)\), we denote the weight of v in \(g_i\) by \(\lambda _v\), and set the weight of v in \(g_e\) to the same value \(\lambda _v\),
-
for every edge \(e\in {\mathcal {E}}(c)\) that is part of the Hamilton cycle c, we denote the weight of e in \(g_i\) by \(\delta _e\) and set the weight of e in \(g_e\) to the same value \(\delta _e\),
-
for every edge \(e\in {\mathcal {E}}(g)\setminus {\mathcal {E}}(c)\) that is not part of the Hamilton cycle c, e is either an edge of \(g_i\) or an edge of \(g_e\); in either case, its weight is denoted by \(\delta _e\).
Let \(\Xi _i\) and \(\Xi _e\) be the boundary MD partition functions on \(g_i\) and \(g_e\) respectively. The function \(\Xi _i\Xi _e\) is a polynomial of order 2 in \(\lambda _v\) and \(\delta _e\). The terms in \(\Xi _i\Xi _e\) that correspond to an MD covering of g are those in which the corresponding coverings of \(g_i\) and \(g_e\) satisfy the following conditions:
-
an edge \(e\in {\mathcal {E}}(c)\) is occupied by a dimer in \(g_i\) if and only if it is occupied in \(g_e\) as well,
-
an edge \(e=\{v,v'\}\in {\mathcal {E}}(g)\setminus {\mathcal {E}}(c)\) is occupied by a dimer in \(g_i\) if and only if v and \(v'\) are occupied by monomers in \(g_e\), and vice-versa,
-
a vertex \(v\in {\mathcal {V}}(g)\) that is not covered by a dimer on \({\mathcal {E}}(g)\setminus {\mathcal {E}}(c)\), is occupied by a monomer in \(g_i\) if and only if it is occupied in \(g_e\) as well.
Therefore
$$\begin{aligned} \begin{array}{ll} \displaystyle \Xi ({\varvec{\ell }},{\mathbf {d}})=&{} \displaystyle \left( \prod _{{v\in {\mathcal {V}}(g)}}\left( 1+\frac{\ell _v}{2}\frac{\partial ^2}{\partial \lambda _v^2}\right) \right) \left( \prod _{{e\in {\mathcal {E}}(c)}}\left( 1+\frac{d_e}{2}\frac{\partial ^2}{\partial \delta _e^2}\right) \right) \cdot \\ &{}\displaystyle \left. \cdot \left( \prod _{e=\{v,v'\}\in {\mathcal {E}}(g)\setminus {\mathcal {E}}(c)}\left( 1+d_e\frac{\partial ^3}{\partial \delta _e\partial \lambda _v\partial \lambda _{v'}}\right) \right) \Xi _i({\varvec{\lambda }},{\varvec{\delta }})\Xi _e({\varvec{\lambda }},{\varvec{\delta }})\right| _{{\varvec{\lambda }}=0,\,{\varvec{\delta }}=0}. \end{array} \end{aligned}$$
(8.1)
By Theorem 1.1, this implies the following theorem.
Theorem 8.1
(Pfaffian formula for the full MD partition function) Given a Hamiltonian graph \(g\in {\mathcal {G}}\), there exist two antisymmetric \(|g|\times |g|\) matrices \(A_i({\varvec{\lambda }},{\varvec{\delta }})\) and \(A_e({\varvec{\lambda }},{\varvec{\delta }})\) such that
$$\begin{aligned} \Xi ({\varvec{\ell }},{\mathbf {d}})= & {} \left( \prod _{v\in {\mathcal {V}}(g)}\left( 1+\frac{\ell _v}{2}\frac{\partial ^2}{\partial \lambda _v^2}\right) \right) \left( \prod _{e\in {\mathcal {E}}(c)}\left( 1+\frac{d_e}{2}\frac{\partial ^2}{\partial \delta _e^2}\right) \right) \cdot \nonumber \\&\left. \cdot \left( \prod _{e=\{v,v'\}\in {\mathcal {E}}(g)\setminus {\mathcal {E}}(c)}\left( 1+d_e\frac{\partial ^3}{\partial \delta _e\partial \lambda _v\partial \lambda _{v'}}\right) \right) \mathrm {pf}(A_i({\varvec{\lambda }},{\varvec{\delta }}))\mathrm {pf}(A_e({\varvec{\lambda }},{\varvec{\delta }}))\right| _{{\varvec{\lambda }}=0,\,{\varvec{\delta }}=0}.\nonumber \\ \end{aligned}$$
(8.2)
The matrices \(A_i\) and \(A_e\) are constructed by directing and labeling \(g_i\) and \(g_e\) as in Theorem 1.1.
Remark
It is important to note that this does not contradict the intractability result of Jerrum [18]: indeed, (8.2) cannot, in general, be computed in polynomial-time. Indeed, since the entries of \(A_i\) and \(A_e\) are polynomials of \(|g|+|{\mathcal {E}}(g)|\) variables, and computing their Pfaffian requires \(O(|g|^3)\) multiplications of such elements, the computation of \(\Xi \) via (8.2) requires \(O(|g|^32^{|g|+|{\mathcal {E}}(g)|})\) operations. This result extends to the Pfaffian formula in Theorem 1.1, but, there, if the weights \(\ell _v\) and \(d_e\) are given numerical values, or set to be equal among each other, the computation of the Pfaffian in (1.6) can be performed in polynomial-time. Because of the presence of derivatives in (8.2), a similar operation cannot be done to compute (8.2) in polynomial-time.
From Theorem 8.1, one can easily prove the following upper bound on the full MD partition function, which complements the lower bound in Theorem 2.7:
Theorem 8.2
(Upper bound for the terms in the MD partition function) Given a Hamiltonian graph \(g\in {\mathcal {G}}\), there exist two antisymmetric \(|g|\times |g|\) matrices \(A_i({\varvec{\lambda }},{\varvec{\delta }})\) and \(A_e({\varvec{\lambda }},{\varvec{\delta }})\) such that, if \(d_e\ge 0\) and \(\ell _v>0\) for all \((v,e)\in {\mathcal {V}}(g)\times {\mathcal {E}}(g)\), the product
$$\begin{aligned} \mathrm {pf}(A_i({\varvec{\lambda }},{\varvec{\delta }}))\mathrm {pf}(A_e({\varvec{\lambda }},{\varvec{\delta }}))\Big |_{ \begin{array}{ll} \lambda _v=\sqrt{\ell _v}\\ \delta _e=\sqrt{d_e}\,\mathrm {if}\,e\in {\mathcal {E}}(c)\\ \delta _e=\sqrt{d_e}\sqrt{\ell _v\ell _{v'}}^{-1}\,\mathrm {if}\,e=\{v,v'\}\not \in {\mathcal {E}}(c) \end{array}}\nonumber \\ \end{aligned}$$
(8.3)
is a Laurent polynomial in \(\sqrt{\ell _v}\), each of whose coefficients are larger or equal to the corresponding term in the MD partition function \(\Xi ({\varvec{\ell }},{\mathbf {d}})\).
Appendix 5: The Bijection Method
In this appendix, we show how to obtain an alternative Pfaffian formula for the boundary MD partition function via the bijection method. This construction was pointed out to us by an anonymous referee. It is related to the discussion in [25, section 4].
Description of the Method
The main idea is to use the auxiliary graph \(\gamma \) introduced in the proof of Lemma 3.1, and show that the boundary MD partition function on g is equal to half of the pure dimer partition function on \(\gamma \), provided the edges of \(\gamma \) are weighted appropriately. We set the weights of the edges of \(\gamma \) in the following way:
-
every edge of \(\gamma \) that is also an edge of g has the same weight as in g,
-
every edge of \(\epsilon \) (see the proof of Lemma 3.1 for the definition of \(\epsilon \)) is assigned weight 1,
-
an edge between a vertex \(v\in {\mathcal {V}}(\partial g)\) and a vertex \(v'\in {\mathcal {V}}(\epsilon )\) is assigned the weight \(\ell _v\).
We define a map \(\Lambda _\gamma \) which maps a pure dimer covering of \(\gamma \) to a bMD covering of g. Given a dimer covering \(\Sigma \) of \(\gamma \), we construct \(\Lambda _\gamma (\Sigma )\) by putting monomers on the vertices of \(\partial g\) that are occupied by a dimer of \(\Sigma \) whose other end-vertex is in \(\epsilon \), and by putting dimers on the edges of g that are occupied by a dimer in \(\Sigma \). Obviously, the weight of \(\Sigma \) is equal to the weight of \(\Lambda _\gamma (\Sigma )\).
Note that the map \(\lambda _\gamma \) defined in the proof of Lemma 3.1 satisfies \(\Lambda _\gamma (\lambda _\gamma (\sigma ))=\sigma \) for every bMD covering \(\sigma \) of g. Furthermore, we define another map \(\bar{\lambda }_\gamma \) from the bMD coverings of g to the dimer coverings of \(\gamma \), similarly to \(\lambda _\gamma \), but with \(p_j\) replaced by \(p_j+1\) (see the proof of Lemma 3.1). This map also satisfies \(\Lambda _\gamma (\bar{\lambda }_\gamma (\sigma ))=\sigma \) for every bMD covering \(\sigma \) of g. In addition, one easily checks that \(\lambda _\gamma (\sigma )\ne \bar{\lambda }_\gamma (\sigma )\).
We wish to prove that for every bMD covering \(\sigma \) of g, there are exactly two distinct pure dimer coverings \(\Sigma _1\) and \(\Sigma _2\) of \(\gamma \) that satisfy \(\Lambda _\gamma (\Sigma _i)=\sigma \). This is obvious if \(\sigma \) has no monomers, so we will assume that \(\sigma \) has at least one monomer, located on the vertex labeled as 1. Let \(\sigma \) be such a covering. The coverings \(\lambda _\gamma (\sigma )\) and \(\bar{\lambda }_\gamma (\sigma )\) satisfy the required condition. One can then easily show, by induction, that having fixed a dimer on \(\{\omega ^{-1}_\gamma (1),\omega ^{-1}_\gamma (|g|+1)\}\) as in \(\lambda _\gamma (\sigma )\), \(\lambda _\gamma (\sigma )\) is the only dimer covering of \(\gamma \) that satisfies \(\Lambda _\gamma (\lambda _\gamma (\sigma ))=\sigma \). A similar argument can be made for \(\bar{\lambda }_\gamma (\sigma )\). This implies that \(\lambda _\gamma (\sigma )\) and \(\bar{\lambda }_\gamma (\sigma )\) are the only dimer coverings of \(\gamma \) satisfying \(\Lambda (\Sigma _i)=\sigma \).
In conclusion, the bMD partition function on g is equal to half of the pure dimer partition function on \(\gamma \). By Kasteleyn’s theorem, the bMD partition function can, therefore, be written as a Pfaffian.
Example
Let us look at a simple example and see how the Pfaffian formula one obtains from the bijection method differs from that presented in Theorem 1.1.
Consider the square graph (see Fig. 15). Using the bijection method, we find that the bMD partition function on the square graph at dimer fugacity 1 and monomer fugacity z is
$$\begin{aligned} \Xi _\partial =\frac{1}{2}\mathrm {pf}\left( \begin{array}{cccccccc} 0 &{}\quad 1&{}\quad 0&{}\quad 1&{}\quad z&{}\quad 0&{}\quad 0&{}\quad -z\\ -1&{}\quad 0&{}\quad 1&{}\quad 0&{}\quad -z&{}\quad -z&{}\quad 0&{}\quad 0\\ 0&{}\quad -1&{}\quad 0&{}\quad 1&{}\quad 0&{}\quad z&{}\quad z&{}\quad 0\\ -1&{}\quad 0&{}\quad -1&{}\quad 0&{}\quad 0&{}\quad 0&{}\quad -z &{}\quad -z\\ -z&{}\quad z&{}\quad 0&{}\quad 0&{}\quad 0&{}\quad 1&{}\quad 0&{}\quad 1\\ 0&{}\quad z&{}\quad -z&{}\quad 0&{}\quad -1&{}\quad 0&{}\quad 1&{}\quad 0\\ 0&{}\quad 0&{}\quad -z&{}\quad z&{}\quad 0&{}\quad -1&{}\quad 0&{}\quad 1\\ z&{}\quad 0&{}\quad 0&{}\quad z&{}\quad -1&{}\quad 0&{}\quad -1&{}\quad 0 \end{array}\right) . \end{aligned}$$
(9.1)
Using Theorem 1.1, we find
$$\begin{aligned} \Xi _\partial =\mathrm {pf}\left( \begin{array}{cccc} 0&{}\quad 1+z^2&{}\quad -z^2&{}\quad 1+z^2\\ -1-z^2&{}\quad 0&{}\quad 1+z^2&{}\quad -z^2\\ z^2&{}\quad -1-z^2&{}\quad 0&{}\quad 1+z^2\\ -1-z^2&{}\quad z^2&{}\quad -1-z^2&{}\quad 0 \end{array}\right) . \end{aligned}$$
(9.2)
Obviously, both formulas yield the same result:
$$\begin{aligned} \Xi _\partial =z^4+4z^2+2. \end{aligned}$$
(9.3)