Sampling Triangulations and Calabi-Yau Threefolds with Autoregressive GNNs
For string theorists and computational geometers, dualGNN provides a practical method for uniform sampling of triangulations, which is crucial for studying Calabi-Yau threefolds, though the uniformity at h^{1,1}=128 is not fully validated.
The paper introduces dualGNN, an autoregressive GNN that samples fine regular triangulations of lattice polytopes uniformly, achieving consistency with uniform sampling for polygons with up to 40 points (KL divergence, collision counts, autocorrelation). It is applied to sample Calabi-Yau threefolds uniformly at h^{1,1}=86 and 128.
We introduce `dualGNN', an autoregressive message-passing GNN for sampling fine, regular triangulations of lattice polytopes. dualGNN operates on a generalization of the dual graph of a triangulation, with edges labeled by `signed circuits' -- combinatorial invariants from the theory of oriented matroids. We show that these circuits are necessary and sufficient to determine a triangulation's regularity from the graph, provided certain magnitude information is retained. The model is independent of the polytope's point count and invariant under its orientation-preserving symmetries ($\mathrm{SL}(d,\mathbb{Z}) \ltimes \mathbb{Z}^d$), and our masking procedure further guarantees that every rollout produces a fine triangulation (in 2D). On unseen polygons with $N_\mathrm{pts} \leq 40$, dualGNN is the only sampler we tested that is consistent with uniform sampling across all our diagnostics (KL divergence from uniformity, collision counts, and sample autocorrelation). The model is small ($\sim92$k parameters) and trains in $\sim7.5$ hours on a single consumer GPU. We apply dualGNN to string theory, sampling Calabi-Yau threefolds uniformly at $h^{1,1}=86$; we also sample CYs at $h^{1,1}=128$, observing no deviations from uniformity, but our diagnostics are weaker here. Code, training scripts, and pretrained models are available at https://github.com/natemacfadden/dualGNN (pip install dualgnn), and dualGNN is integrated into CYTools.