Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Parallel Tempering #25

@evanberkowitz

Description

@evanberkowitz

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions