This code implements the Reduced-Rejection-Rate (RRR) Monte Carlo method for Ising spin models described in the paper "A method to reduce the rejection rate in Monte Carlo Markov Chains" by C. Baldassi, J. Stat. Mech. Theor. Exp., (2017) 3, 033301 doi:10.1088/1742-5468/aa5335 (arXiv).
It also provides:
- a standard Metropolis-Hastings sampler
- a generalized implementation of the BKL method described in the paper "A new algorithm for Monte Carlo simulation of Ising spin systems" by A.B. Bortz, M.H. Kalos and J.L. Lebowitz. The generalization consists in not requiring that the energy shifts are discrete.
- an implementation of the Waiting time method described in the paper "Faster Monte Carlo simulations at low temperatures. The waiting time method" by J. Dall and P. Sibani.
- an implementation of the "τ-Extremal Optimization" heuristic technique described in the paper "Optimization with Extremal Dynamics" by S. Boettcher and A. G. Percus.
The code is written in Julia, and tested against Julia
0.6 and current (at the time of writing)
Linux, OS X, and Windows.
To install the module, use Julia's package manager:
Dependencies will be installed automatically.