We review Sweeny's algorithm for Monte Carlo simulations of the random cluster model. Straightforward implementations suffer from the problem of computational critical slowing down, where the computational effort per edge operation scales with a power of the system size. By using a tailored dynamic connectivity algorithm we are able to perform all operations with a poly-logarithmic computational effort. This approach is shown to be efficient in keeping online connectivity information and is of use for a number of applications also beyond cluster-update simulations, for instance in monitoring droplet shape transitions. As the handling of the relevant data structures is non-trivial, we provide a Python module with a full implementation for future reference.
Bibliographical noteThis is published in an open access journal. This paper was given at the 25th IUPAP Conference on Computational Physics, CCP 2013; Moscow; Russian Federation; 20 August 2013 through 24 August 2013
Content from this work may be used under the terms of the Creative Commons Attribution
3.0 licence. Any further distribution of this work must maintain attribution to the author(s)
and the title of the work, journal citation and DOI.
Published under licence by IOP Publishing Ltd
- Monte Carlo methods
- Computational effort
- Connectivity algorithms
- Connectivity information
- Critical slowing down
- Droplet shape
- Edge operation
- Random-cluster model