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. It requires Julia
To install the package, use Julia's package manager: from the Julia REPL, type
] to enter the Pkg REPL mode and run:
(v1.3) pkg> add RRRMC
Or, equivalently, via the Pkg API:
julia> import Pkg; Pkg.add("RRRMC")
Dependencies will be installed automatically.