TY - JOUR
T1 - A faster implementation of the pivot algorithm for self-avoiding walks
AU - Kennedy, Tom
N1 - Funding Information:
The author would like to thank Alan Sokal and the referee for many useful comments. This work was supported by the National Science Foundation (DMS-9970608).
PY - 2002
Y1 - 2002
N2 - 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.
AB - 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.
KW - Pivot algorithm
KW - Polymer
KW - Self-avoiding walk
UR - http://www.scopus.com/inward/record.url?scp=0141560572&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=0141560572&partnerID=8YFLogxK
U2 - 10.1023/A:1013750203191
DO - 10.1023/A:1013750203191
M3 - Article
AN - SCOPUS:0141560572
SN - 0022-4715
VL - 106
SP - 407
EP - 429
JO - Journal of Statistical Physics
JF - Journal of Statistical Physics
IS - 3-4
ER -