dimers.md
20.6 kB · markdown
Tile a design with dominoes: every filled cell covered once, every domino on two cells that share a side. The count is exact through Kasteleyn's determinant once the holes are signed, the obstruction is read off the code, and the Kronecker product splits every tiling into the part inside the blocks and the part that crosses.
The generator is lab/py/design-dimers; every number below is printed by one of its verbs.
The object
- Fix a base
base >= 2and a plane code, and letFbe the digits of the code: the cells(i, j)of thebase x basegrid whose bitbase*i + jis set. The code is read at its own base, so level 1 is the mask itself. - Level
nisD_n = {(sum_(l<n) base^l i_l, sum_(l<n) base^l j_l) : (i_l, j_l) in F}, then-th Kronecker power of the mask, inside theside x sidegrid withside = base^n; it hasfill^ncells. A cell is(r, c), rowr, columnc. D_nisfillcopies ofD_(n-1)placed atbase^(n-1) F, the big blocks, and alsofill^(n-1)copies ofFplaced atbase D_(n-1), the small blocks.- The cell graph joins two cells that share a side. A domino tiling of level
nis a perfect matching of its cell graph, andT(n)counts them. A cell is black whenr + cis even. - The signed count of the code is
s = sum_((i,j) in F) (-1)^(i+j). - The carpet's tile is
bang dim 2, base 3, code 495, the ring of 8 cells, withT(1) = 2. Its siblingbang dim 2, base 3, code 255drops a corner instead of the centre. The control isbang dim 2, code 15, whose levelnis the full2^n x 2^nsquare.
The colour imbalance
- Proved. The black-minus-white count of level
niss^nat odd base andfill^(n-1) sat even base. A cell ofD_nis(x, y)withx = sum base^l i_landy = sum base^l j_l. At odd base everybase^lis odd, sox + y = sum_l (i_l + j_l) mod 2; the sign(-1)^(x+y)is the product of the digit signs and the sum overD_n = F^nfactors ass^n. At even basebase^lis even forl >= 1, sox + y = i_0 + j_0 mod 2; the sign reads the lowest digit alone, and each lowest digit carriesfill^(n-1)cells. The verbimbalancechecks both laws against the coordinate count at every code of base 2 through level 6 and of base 3 through level 4, wrong 0 times. - Proved. A code with
s != 0tiles no level. A domino covers one black and one white cell, so a tiling forces a zero imbalance, and both laws vanish only ats = 0. An odd fill makessodd, so such a code never tiles. - The codes with
s = 0are those with as many black as white digits,C(base^2, floor(base^2/2)) - 1of the nonempty ones by Vandermonde's identity: 5 of 15 at base 2 and 125 of 511 at base 3 (imbalance).
Tileability climbs the levels
- Proved.
T(n) >= T(n-1)^fillandT(n) >= T(1)^(fill^(n-1)). A copy ofD_(n-1)insideD_nkeeps every edge it has on its own, so tiling each big block on its own tilesD_n, and the same holds for the small blocks. The levels a code tiles therefore form a rayn >= n0or are none;n0is the first tileable level. - Proved. When
n0is finite the growth constanttheta = lim log T(n) / fill^nexists and equalssup_n log T(n) / fill^n. Dividing the first inequality byfill^ngiveslog T(n) / fill^n >= log T(n-1) / fill^(n-1), so the sequence is nondecreasing fromn0on, and it is bounded bylog(4)/2because a tiling is fixed by the partner each black cell picks among at most 4 neighbours. Every computed level is a lower bound ontheta. - So the question splits in two: which codes tile at all, decided by
n0, and how fast the count grows, decided by what crosses the block boundaries.
The census of tileable codes
- A component of the cell graph of
Fis sealed when none of its cells can meet a cell of a neighbouring small block: no cell(i, base-1)with(i, 0)inFand no cell(i, 0)with(i, base-1)inF, these two checked only whenFhas two cells side by side in a row, and the same for columns whenFhas two cells one above the other. - Proved. A sealed component with nonzero signed count makes every level untileable. The cell across the right edge of the small block at
Xfrombase X + (i, base-1)isbase (X + (0,1)) + (i, 0), present only whenX + (0,1)is inD_(n-1)and(i, 0)is inF.D_(n-1)has two cells side by side only ifFdoes: such a pair lies in one small block, a pair ofF, or across two, a pair ofD_(n-2), and induction ends atD_1 = F. So each copy of a sealed component is a whole component ofD_n, its signed count+-that of the component, and a component with nonzero signed count has no perfect matching. - Proved, by the census. At base 2 the 5 codes with
s = 0(3, 5, 10, 12, 15) tile level 1. At base 3 the 125 codes withs = 0split into 97 that tile level 1, hence every level, and 28 in 5 orbits of the square's symmetries that tile no level, each by a sealed unbalanced component:12, 33, 66, 96, 99, 102, 105, 114, 129, 132, 135, 141, 156, 165, 177, 204, 225, 258, 264, 267, 270, 282, 300, 330, 354, 396, 417, 450. So at bases 2 and 3 a code tiles some level exactly whens = 0and it tiles level 1 (census). - Proved. The lemma holds for any code, so for
D_mread as a code at basebase^m, whose levelkisD_(km). A sealed unbalanced component ofD_mmakes every levelkmuntileable, and since the tileable levels form a ray, every level. - Proved, by the census. At base 4, of the 12869 codes with
s = 0, 5699 tile level 1 and 7170 in 945 orbits tile none of levels 1, 2 and 3; of these 7030 tile no level, 2253 by a sealed unbalanced component ofF, 4709 more by one ofD_2and 68 more by one ofD_3(census). - Proved. A run certificate. Suppose the small blocks never meet vertically:
Fhas no two cells one above the other, or no columnjwith(0, j)and(base-1, j)both inF. Then every component of every level lies in a horizontal run ofkside-by-side small blocks, glued along the rowsiwith(i, 0)and(i, base-1)inF. WriteA -> BwhenFminus the cells(i, 0),iinA, and(i, base-1),iinB, tiles, for setsA, Bof such rows. A run ofkblocks tiles exactly when a walk of lengthkleads from the empty set back to the empty set, the set at each step being the rows crossed between consecutive blocks. If no walk of positive length returns to the empty set, no level tiles. The same holds with rows and columns exchanged. - Proved, by the census. Of the other 140 base-4 codes, 72 in 10 orbits, among them
756with rows..#.,####,.#..,...., meet in one direction only and have no walk back, so they tile no level; as a check, the 2803 codes that meet in one direction only and tile level 1 all have one. At base 4, 7102 codes withs = 0therefore tile no level (census). - Verified. The last 68 base-4 codes, in 9 orbits,
9914, 9970, 11234, 11243, 11246, 12111, 12142, 12235, 14841up to symmetry, tile none of levels 1 to 4 and carry no sealed unbalanced component through level 4 (census). - Refuted, the law that level 1 decides: a code can tile late.
bang dim 2, base 5, code 19920882has rows.#..#,#####,#.###,#####,.#..#ands = 0. Level 1 has no tiling: the pendants(0,1), (0,4), (4,1), (4,4)force their dominoes onto(1,1), (1,4), (3,1), (3,4), then(1,0)must take(2,0), and(3,0)is left with no free neighbour. At level 2 the bottom pendant(4, j)of a small block meets the top pendant(0, j)of the block below, andT(2) = 252236412223488, by Kasteleyn's determinant and by the brute-force transfer count alike (census). - Verified.
censusprints nine late codes, each untileable at level 1, unsealed, and tileable at level 2: base 5 codes15571455, 19627890, 19757811, 19920882, 32709486, 32715747, 32715771, 32912238in 7 orbits, withT(2)from8208000to252236412223488, each matched by the brute-force count, and base 7 code136308971855667, fill 32, withT(2) = 141562531209631520359886210546943393792. - Verified, a seeded sample.
searchdraws dense codes from a fixed seed, each cell filled with probability0.7, keeps the distinct ones, and tries at level 3 the codes untileable at levels 1 and 2 withfill^3 <= 16000whose level-2 deficiency falls belowfilltimes the level-1 deficiency. At base 5, 1500000 draws give 173638 distinct codes withs = 0, 83744 untileable at level 1, 62111 of those without a sealed component at level 1, 27 that tile first at level 2 in 13 orbits, and none that tiles first at level 3 among the 37957 tried. Every code within Hamming distance 4 of the 15 late base-5 orbits, the 13 found and 2 more from the codes above, gives 100824 orbits, 16 of them late, and none of the 14914 orbits tried at level 3 under the same size cap tiles there. At base 6, 300000 draws give 20668 distinct untileable codes without a sealed component at level 1, no late one, and none of the 10287 tried at level 3 tiles there; at base 7, 100000 draws give 6420 such codes and 2 late codes in 2 orbits. - Conjecture. No code tiles first at level 3 or later:
n0is 1, 2 or infinite. - Conjecture. At even base level 1 decides: no code tiles first at level 2 or later. At base 4 it is proved for all but the 68 open codes, which are untileable through level 4, and it holds on the base-6 sample.
- So the codes that tile no level include those with
s != 0and those with a sealed unbalanced component at some level; at bases 2 and 3 these are all of them, at base 4 they and the run certificate settle all but at most the 68 open codes, and from base 5 on level 1 does not settle the question.
Kasteleyn on a design
- The weighting: a vertical edge
(r, c)(r+1, c)gets the sign(-1)^c, and a horizontal edge(r, c)(r, c+1)gets(-1)^hwithhthe number of empty cells(r', c)of theside x sidegrid below it,r' > r; any box holding the set gives the same sign products, since changing the box flips every horizontal edge between one pair of columns and a cycle crosses each pair of columns an even number of times.Kis the black-by-white matrix of these signs, zero off the edges. - Proved. For every set of cells of the square grid with as many black as white cells,
T = abs(det K). The column signs alone are Kasteleyn's alternate-column weighting of the full grid, under which a cycle of length2kenclosinglgrid points has sign product(-1)^(1+k+l)(Kenyon 2009, section 3.3, Lemma 1). The path that leaves an empty cell(r0, c)half a step to the right and then runs straight up between columnscandc+1crosses exactly the horizontal edges(r, c)(r, c+1)withr < r0, and a cycle crosses it an odd number of times exactly when it encloses that cell; so the extra signs multiply a cycle's product by(-1)to the number of empty cells inside, and the product becomes(-1)^(1+k+m)withmthe filled cells inside. In the superposition of two tilings the cells inside each cycle are tiled among themselves, somis even, every cycle has product(-1)^(1+k), and every term ofdet Kcarries the same sign (Kenyon 2009, section 3.4, Theorem 2; Kuperberg 1998, Theorem 3). - The correction is load-bearing: holes of odd area break the column signs alone, and every carpet hole has odd area
9^m. The column signs alone giveabs(det K) = 0on the carpet at levels 1 and 2. On 300 random cell sets of side 2 to 7, each cell filled with probability0.8, 64 of which tile, the corrected determinant and the matching test agree with a brute-force transfer count at all 300, the column signs alone at 291 (count, its control line). - Determinants are exact integers from PARI's
matdet; a level of 4096 cells, a2048 x 2048matrix, takes about 15 s.
The counts
| level | cells | carpet, code 495 | sibling, code 255 |
|---|---|---|---|
| 1 | 8 | 2 | 4 |
| 2 | 64 | 6724 | 1291616 |
| 3 | 512 | 3862920381083436011392889139781518336 | 1565113733863335194512818740595861896518010511818752 |
| 4 | 4096 | 10247586265502482333...42029316805289312256, 316 digits | 98391239678669891170...03660377644046745600, 414 digits |
- Verified. The table is printed by
count, Kasteleyn's determinant at every level and the brute-force transfer count at levels 1 and 2. Level 5, 32768 cells and a16384 x 16384determinant, is not computed. - Verified. The control
bang dim 2, code 15gives2, 36, 12988816, 2444888770250892795802079170816at levels 1 to 4, the2^n x 2^nterms of A004003, and at levels 5 and 6, 126 and 511 digits, it matches Kasteleyn's productprod_(j,k <= side/2) (4 cos^2(pi j/(side+1)) + 4 cos^2(pi k/(side+1)))(Kenyon 2009, section 4.1, which prints the full product overj, k <= side; restated here over the half) rounded from PARI at a precision past the digit count (count). - Proved.
bang dim 2, base 3, code 63, the top two rows, hasT(n) = F(3^n + 1)^(2^(n-1))withFthe Fibonacci numbers. Its rows are the integers with base-3 digits in{0, 1}, which come in2^(n-1)pairs3m, 3m+1separated by an empty row, and its columns are all3^n; so levelnis2^(n-1)disjoint2 x 3^nstrips, and a2 x Nstrip hasF(N+1)tilings. Solog T(n) / 6^n = 2^(n-1) log F(3^n + 1) / 6^n, andlog F(N+1) / N -> log(phi)withphithe golden ratio gives the growth constanttheta = log(phi)/2.countmatches the formula at levels 1 to 4. - Conjecture. The odd part of the carpet's count is a square at every level:
T(n) = 2^a q^2witha = 1, 2, 10, 128andq = 1, 41, 61419729604189833and a 139-digitqat level 4 (count). The sibling's odd part is not a square at levels 2, 3 and 4, and the control's is,2^(2^(n-1))times an odd square.
What crosses
- A tiling of
D_ndoes not factor over the big blocks: some dominoes cross from one copy ofD_(n-1)to the next. Weight each edge between two big blocks byxand writeP_n(x) = sum_k N_k x^kfor the weighted determinant, soN_kcounts the tilings with exactlykcrossing dominoes,N_0 = T(n-1)^fillcounts those that respect the blocks andP_n(1) = T(n). The sign argument runs tiling by tiling, sodet K(x)is the common sign timessum_M x^(k(M))as a polynomial,k(M)the crossing dominoes of the tilingM;crossevaluatesdet Katx = 0, 1, ..., E,Ethe number of crossing edges, and interpolates in PARI. - Proved. At level
n >= 2of a code that tiles some level, the number of dominoes crossing between big blocks is even. Somefill^mis even, sofillis, and each big block hasfill^(n-1)cells, an even number; the cells of a block left by the crossing dominoes are tiled inside it, so each block holds an even number of crossing ends. Side-by-side blocks sit at digitsaof opposite parity, so each crossing domino has exactly one end in a block whose digit has even parity, and the count is a sum of even numbers. At level 1 the blocks are single cells and the count is the number of dominoes.crossfindsN_k = 0at every oddkandN_k > 0at every evenkup to the maximum, for the carpet and its sibling at levels 2 and 3 and for the control at levels 2, 3 and 4. - Verified. On the carpet at level 2,
P_2(x) = ((x^2 + 2)^4 + x^8)^2:N_k = 256, 1024, 1792, 1792, 1152, 512, 160, 32, 4atk = 0, 2, ..., 16, out of 24 crossing edges, andT(2) = (3^4 + 1)^2 = 82^2. At level 3,P_3(x)is2^10times the square of an integer polynomial, with up to 64 of the 72 crossing edges used (cross). - Verified. The tilings that respect the blocks are a vanishing share. On the carpet,
T(n)/N_0 = 26.265625at level 2 and924472.759617at level 3, rounded; a tiling crosses on average5.463415of 24 edges at level 2 and20.830336of 72 at level 3, a share of the crossing edges rising from0.227642to0.289310. On the sibling, with 20 and 40 crossing edges, the ratios are19.708496and202.059174and the shares0.239655and0.222924, andP_nis not a constant times a square (cross). - Respecting the small blocks as well leaves
T(1)^(fill^(n-1))tilings,2^64againstT(3) = 3862920381083436011392889139781518336on the carpet.
The growth constant
- Proved.
theta <= lim_n (1/(4 fill^n)) sum_v log d_v, the sum over the cells of levelnandd_vthe degree. Hadamard's inequality boundsabs(det K)by the product of the row norms,prod_(black) sqrt(d), and by the product of the column norms,prod_(white) sqrt(d), and the two bounds multiply toT(n)^2 <= prod_v sqrt(d_v). The degree of a cell is 4 less its exposed sides. A side of a cellbase X + ais exposed when it faces an empty cell inside the mask, or, whenasits on that edge of the mask, whenXis exposed on the same side or the cell on the opposite edge, same row or column, is empty;growthruns that 16-state recursion, and the bound converges: each digit acts on the exposure asE -> (E and m) or cfor masksm, cfixed by the digit, an idempotent map, so every state reached has a self-loop, the 16-state chain is aperiodic and its distribution, hence the bound, converges. The printed limits agree to 13 digits at levels 60 and 400. - Verified. The brackets, lower end the level-4 value of
log T(n) / fill^nrounded down and upper end the Hadamard limit rounded up: carpet0.177084 <= theta <= 0.286093, sibling0.232728 <= theta <= 0.296173(growth). - Proved. Two exact constants. A code whose small blocks never meet, because
Fhas no two cells side by side in a row or no rowiwith(i, 0)and(i, base-1)both inF, and the same for columns, hasT(n) = T(1)^(fill^(n-1))andtheta = log T(1) / fill;bang dim 2, base 3, code 27, a2 x 2square in the corner, giveslog(2)/4 = 0.173286...(growthchecksT(n) = 2^(4^(n-1))through level 3). Code 63 givestheta = log(phi)/2 = 0.240605...from its strips,phithe golden ratio. The control's constant is Kasteleyn'sG/pi = 0.291560...,GCatalan's constant (Kenyon 2009, section 4.1), which its printed levels approach from below. - Conjecture. The increment
log T(n)/fill^n - log T(n-1)/fill^(n-1)decays at a ratio tending toc/fill,cthe most cells two side-by-side blocks share along an edge of the mask: 3 of 8 on the carpet, 2 of 8 on the sibling, 2 of 4 on the control, 2 of 6 on code 63. The printed ratios are0.5254, 0.4676on the carpet,0.2226, 0.2405on the sibling,0.6306, 0.5443, 0.5183, 0.5085on the control and0.3032, 0.3332on code 63 (growth). - Conjecture. The carpet's constant lies between its two geometric-tail closures,
0.184611at ratio3/8and0.188101at the last printed ratio. Closing the series the same way from the last level puts the control at0.291510and0.291669aroundG/pi = 0.2915609...and code 63 at0.240606and0.240605againstlog(phi)/2 = 0.2406059...; the sibling closes at0.233559and0.233518(growth).
Known elsewhere
- Kasteleyn counts the dimer coverings of the rectangle by Pfaffians (Kasteleyn 1961); the per-cell constant
G/piand the sign lemma used above are read here in Kenyon 2009, sections 3.3, 3.4 and 4.1, and the flat-weighting theorem in Kuperberg 1998, Theorem 3. - On the Sierpinski gasket, whose copies meet at three outmost vertices, four counts indexed by which outmost vertices are covered close under a recursion, and the entropy is exactly
ln(2)/3per site (Chang and Chen 2008, Theorem III.2); self-similar graphs glued at two or three vertices are counted by explicit recursions (Teufl and Wagner 2009), and close-packed dimers on finitely ramified square-lattice fractals have their entropies computed numerically from exact recursions (Marcetic, Elezovic-Hadzic and Zivic 2020). - The carpet is infinitely ramified: two big blocks of level
nmeet along3^(n-1)edges where the gasket's copies meet at one vertex, so the gasket's recursion on a few boundary counts has no direct analogue, and the sources read here count no domino tiling of it.
Open
- A code that tiles first at level 3, or a proof that
n0is 1, 2 or infinite. - A proof that level 1 decides at even base.
- A decision procedure for
n0read off the code, past the sealed and run certificates; at base 4 the 68 open codes are its first test. - The carpet's constant: an upper bound that closes on
0.177084, a transfer operator on the3^(n-1)crossing edges, or level 5 in exact arithmetic. - Why the carpet's odd part is a square, and the closed form behind
P_2(x) = ((x^2 + 2)^4 + x^8)^2.