This simulation demonstrates double dimer configurations on an Aztec diamond. Two independent dimer configurations are sampled and displayed simultaneously - one in black and one in red. The simulation uses random IID weights sampled from either a Bernoulli distribution or a log-normal distribution (exp(β × X) where X ~ N(0,1)) to generate tilings via the shuffling algorithm. The original python code was created by Sunil Chhita; this version is adapted for JS + WebAssembly. Visualization is done using D3.js.
The sampler works in your browser. Up to $n \sim 120$ it works in reasonable time, but for larger $n$ it may take a while.
I set the upper bound at $n=400$ to avoid freezing your browser.
Random Weights: Each edge weight $W_{ij}$ is sampled independently from one of three distributions:
Bernoulli: Takes value “Value 1” with probability “P(Value 1)” and value “Value 2” with probability $1 - P(\text{Value 1})$. The default values (1/2 and 3/2 with equal probability) create a mildly inhomogeneous environment.
Gaussian: $W_{ij} = e^{\beta X_{ij}}$ where $X_{ij} \sim N(0,1)$ are independent standard normal random variables. The parameter $\beta$ controls the variance of the log-weights.
Gamma: $W_{ij} = \text{Gamma}(\alpha, 1)$ for some of the edges (even rows, i.e., $i$ even), and $W_{ij} = 1$ for other edges (odd rows, i.e., $i$ odd). The shape parameter $\alpha$ controls the distribution of the gamma weights.
Weight Distribution Type:
Bernoulli Parameters:
Gaussian Parameters:Weights: exp(β × X) where X ~ N(0,1)
Note: Both domino tilings use the same weight matrix. They are independent samples from the same weighted distribution.
Copied!
Double Dimer Configuration: Black dimers show the first configuration, red dimers show the second configuration. Purple dimers are "double edges" that appear in both configurations. Use the checkbox above to show/hide double edges.
code
(note: parameters in the code might differ from the ones in
simulation results below)
Link to code
(This simulation is interactive, written in JavaScript, see the source code of this page at the link)
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