-
Notifications
You must be signed in to change notification settings - Fork 5
Description
Talking with Alexei Bazavov he pointed me to two possible techniques of interest. The first is parallel tempering (first paper)
The idea is that you start two (or more) separate ensembles with different actions (for example, introducing a staggered mass, or with a different temperature, or a different U...) that I'll call A and B.
You separately evolve ensemble A according to action A and ensemble B according to action B. Then, at some point, you proposing exchanging the field configurations.
You imagine that you start with action S_A(phi_A) + S_B(phi_B) and Metropolis accept-reject the exchange according to the new action S_A(phi_B) + S_B(phi_A). You can do this with multiple ensembles, rather than just 2.
This could be implemented via MPI: the two (or more) streams are trivially parallelizable except for a once-in-a-while swap step. (Alexei points out that it's easier to MPI communicate action parameters than field configurations).
Swapping with a staggered mass ensemble (for example) would formally remove ergodicity problems. Changing T could help overcome tunneling difficulties for first-order phase transitions. However, there can be a bad overlap problem---if the two actions like field configurations that are too different you'll hardly accept.