Identifying clusters on a discrete periodic lattice via machine learning

Published: 24-05-2019| Version 1 | DOI: 10.17632/w7rcv4tbtn.1
Everest Law


Given the ubiquity of lattice models in physics, it is imperative for researchers to possess robust methods for quantifying clusters on the lattice — whether they be Ising spins or clumps of molecules. Inspired by biophysical studies, we present Python code for handling clusters on a 2D periodic lattice. Properties of individual clusters, such as their area, can be obtained with a few function calls. Our code invokes an unsupervised machine learning method called hierarchical clustering, which is simultaneously effective for the present problem and simple enough for non-experts to grasp qualitatively. Moreover, our code transparently merges clusters neighboring each other across periodic boundaries using breadth-first search (BFS), an algorithm well-documented in computer science pedagogy. The fact that our code is written in Python – instead of proprietary languages – further enhances its value for reproducible science.