Magnetism Simulations: Three Months in Monte Carlo
bit-player.org
bit-player.org
If I'm not mistaken the author made a mistake in assuming that it's okay not modifying the spins in the first pass and then doing the update in the second pass, which would cause the system to approach a strange equilibrium with that flips between two states.
For example, if you set the simulation temperature to well below that of the critical temperature of the system, a robust algorithm should eventually cause all of the spins align (to take the same sign).
Also, and if I'm not mistaken, the author may have misunderstood that these simulations show the evolution of a system over time -- I think they are meant to show the possible states that a system can be in under a set of conditions, trying to rationalise whether or not it's sensible that spins should or shouldn't is perhaps not quite the right approach.
The robustness of these algorithms are usually tested by carefully collecting many samples, and at different temperatures, and use them to estimate known properties of the systems. If an algorithm fails to estimate those quantities reasonably, then there is a good chance that it's not correctly implemented.
If you're interested in this topic, one paper that I can immediately remember and is easy to read is this: https://arxiv.org/pdf/cond-mat/9703179.pdf. The section on Wolff algorithm, in particular, should solve the "mystery" of the simultaneous update. Here is a demo I have played with a few years ago that has the Wolff algorithm correctly implemented: https://mattbierbaum.github.io/ising.js (make sure you change sweep skip to an odd number for simulations at lower temperatures).
They mention in the book that simultaneous updates with a checkboard are in fact OK. One just has to make the checkboard out of large squares of spins instead of the single spins the author of this article uses, and occasionally move the squares around to prevent boundary effects.
Agree! I remember that reference by heart exactly for that reason! :)
> They mention in the book that simultaneous updates with a checkboard are in fact OK.
Yes, the algorithms discussed in the reference were designed to do exactly that. However, and using the Wolff algorithm as an example, in a perfectly checkerboard at low temperature, a cluster would still not grow beyond beyond its confinement. So the initial iterations actually gets reduced to the single-flip Metropolis algorithm under these conditions, but would eventually break most of them and start updating large clusters every iteration. The only time where one would see only two states alternating is at when the simulation temperature approaches 0, where the cluster always covers the entire lattice.
The post explicitly mentions this kind of ‘blinking’ artifact and how it’s problematic…
The sentence you quoted is there to give context so I could give the example and the rest of the information. In retrospect, I probably should have used a quote. I apologise if you feel offended.
> The name, of course, is an allusion to the famous casino, a prodigious producer and consumer of randomness. Nicholas Metropolis claimed credit for coming up with the term. In a 1987 retrospective he wrote: ...
Here is the 1987 retrospective by N. Metropolis (6 pages):
Edit: I glimpsed at it... it's long and full of details, plus the simulations run in the archived version!
This is exactly the kind of problems that the D-Wave quantum computers are designed to run, and in fact simulations of physical systems are one place where we've been able to demonstrate solid progress, e.g. https://science.sciencemag.org/content/361/6398/162 and several other papers.
I'd highly encourage anyone interested in the Ising Hamiltonian and its uses for optimization problems to check out what we're doing and sign up for D-Wave Leap at www.dwavesys.com - we have demos, an in-browser IDE, Jupyter notebooks, a comprehensive Python SDK with excellent docs, and we'll give you free QPU time to run your problems in realtime on a quantum annealer.
However, without further improvement, HMC’s performance is similar to the ‘obvious’ algorithms and poor compared to the Swendsen-Wang or Wolff cluster algorithms or the worm algorithm of Prokof’ev and Svistunov near criticality.
Sibling comment seems like it already covers the rest.