A faster implementation of the pivot algorithm for self-avoiding walks
Tom Kennedy
Abstract
The pivot algorithm is a Markov Chain Monte Carlo algorithm for simulating the self-avoiding walk. At each iteration a pivot which produces a global change in the walk is proposed. If the resulting walk is self-avoiding, the new walk is accepted; otherwise, it is rejected. Past implementations of the algorithm required a time O(N) per accepted pivot, where N is the number of steps in the walk. We show how to implement the algorithm so that the time required per accepted pivot is O(Nq) with q<1. We estimate that q is less than 0.57 in two dimensions, and less than 0.85 in three dimensions. Corrections to the O(Nq) make an accurate estimate of q impossible. They also imply that the asymptotic behavior of O(Nq) cannot be seen for walk lengths which can be simulated. In simulations the effective q is around 0.7 in two dimensions and 0.9 in three dimensions. Comparisons with simulations that use the standard implementation of the pivot algorithm using a hash table indicate that our implementation is faster by as much as a factor of 80 in two dimensions and as much as a factor of 7 in three dimensions. Our method does not require the use of a hash table and should also be applicable to the pivot algorithm for off-lattice models.
Create a lesson
Related papers
Knots in Condensed Matters
Y. M. Cho
Bouchaud's model exhibits two different aging regimes in dimension one
Gerard Ben Arous, Jiri Cerny
Periodic diffraction patterns for 1D quasicrystals
Pawel Buczek, Lorenzo Sadun, Janusz Wolny
Adiabatic association of ultracold molecules via magnetic field tunable interactions
Krzysztof Goral, Thorsten Koehler, Simon A. Gardiner et al.
High-Temperature Atomic Superfluidity in Lattice Boson-Fermion Mixtures
F. Illuminati, A. Albus
Constructive Methods of Invariant Manifolds for Kinetic Problems
A. N. Gorban, I. V. Karlin, A. Yu. Zinovyev