Triangular Lattice Dimer Sampler     misc

Leonid Petrov


Simulation Info

Triangular Lattice Dimer Sampler     misc

Leonid Petrov

About / Help

What is this?

This simulator generates random dimer coverings (perfect matchings) on the triangular lattice using Glauber dynamics (Markov Chain Monte Carlo).

The triangular lattice is non-bipartite (cannot be 2-colored), unlike the square lattice (domino tilings) or hexagonal lattice (lozenge tilings). CFTP (Coupling From The Past) is not directly applicable due to lack of monotone coupling.

How to use

Drawing tools:

  • Pan: Click and drag to move the view. Scroll to zoom in/out.
  • Draw: Click or drag on lattice vertices to add them to your region
  • Erase: Click or drag to remove vertices from your region
  • Lasso Fill/Erase: Click to place polygon vertices. Close the loop by clicking near the start, pressing Enter, or Cmd/Ctrl+click (adds final vertex then closes).
  • Make Coverable: Attempts to add vertices to enable a perfect matching

Presets: Parallelogram, Triangle

View options:

  • Show grid: Display the underlying triangular lattice
  • Show vertices: Display lattice points in the region
  • Show boundary: Highlight the boundary of the region
  • Color by orientation: Color dimers by their direction (3 colors for 3 edge orientations)
  • Dimer width: Adjust the thickness of dimer lines

Double dimer model

Enable Double dimer to superimpose two independent dimer configurations (blue and red). Each configuration evolves via its own independent Glauber dynamics.

The superposition of two perfect matchings decomposes into disjoint alternating cycles (loops that alternate between the two configurations). Double edges (where both configurations agree) appear as cycles of length 2.

Use Min loop to filter and display only cycles of at least the specified length, hiding double edges and short loops to reveal the large-scale loop structure.

Local moves (Kenyon-Rémila)

The simulator uses lozenge moves (3 types), triangle moves (2 types), and butterfly moves (3 types):

Lozenge moves (4-cycle): Each lozenge is a parallelogram of 4 vertices. If two opposite edges are covered by dimers, flip to cover the other two.

  • Type 0 (up-right): (n,j) → (n+1,j) → (n+1,j+1) → (n,j+1)
  • Type 1 (up): (n,j) → (n,j+1) → (n-1,j+2) → (n-1,j+1)
  • Type 2 (up-left): (n,j) → (n-1,j+1) → (n-2,j+1) → (n-1,j)

Triangle moves (6-cycle): Each triangle has 6 boundary edges covered by 3 dimers. Rotate the 3 dimers to the other alternating pattern.

  • Type 0 (up-left): (n,j) → (n+2,j) → (n,j+2)
  • Type 1 (down-right): (n,j) → (n+2,j) → (n+2,j-2)

Butterfly moves (8-cycle): Each butterfly has 8 boundary edges covered by 4 dimers. Rotate the 4 dimers to the other alternating pattern.

  • Type 0: (1,0)-(2,0)-(3,-1)-(3,0)-(3,1)-(2,1)-(1,2)-(1,1)
  • Type 1: (0,0)-(-1,1)-(-2,2)-(-2,1)-(-3,1)-(-3,0)-(-2,0)-(-1,0)
  • Type 2: (0,0)-(1,0)-(2,0)-(1,1)-(1,2)-(0,2)-(-1,2)-(0,1)

Move selection: Each step picks a random vertex, then selects one of 8 move types uniformly at random: lozenge (3/8), triangle (2/8), butterfly (3/8). The move is attempted anchored at that vertex and accepted via Metropolis-Hastings when using periodic weights.

See Kenyon & Rémila (1996) for ergodicity proofs.

Note on topological sectors: For domains with holes or periodic boundary conditions, the configuration space splits into disjoint sectors, which Glauber cannot mix between.

Acknowledgements

Thanks to Alexei Borodin for discussions.

References


Presets
Size:
Simulation
Speed /s
Drawing Tools
View
Dimer width
Periodic Edge Weights
k: l:
Draw a region or use a preset to begin

code

(note: parameters in the code might differ from the ones in simulation results below)

Dear colleagues:
Feel free to use code (unless otherwise specified next to the corresponding link), data, and visualizations to illustrate your research in talks and papers, with attribution (CC BY-SA 4.0). Some images are available in very high resolution upon request. I can also produce other simulations upon request - email me at lenia.petrov@gmail.com
This material is based upon work supported by the National Science Foundation under Grant DMS-2153869