evanberkowitz / supervillain

MCMC for modified Villain constructions
https://supervillain.readthedocs.io/
Other
0 stars 0 forks source link

Ultralocal Generators #123

Closed evanberkowitz closed 6 months ago

evanberkowitz commented 7 months ago

We have a number of generators which do coordinated updates, like the Villain NeighborhoodUpdate, which offers changes to $\phi$ on a site and the 4 adjacent $n$ simultaneously. But these could be decoupled. In fact,

Initial tests (by setting interval_phi and interval_n in NeighborhoodUpdate) suggests that decoupling these updates yields much greater acceptance rates. When W=1 these ought to be ergodic in combination.

In the worldline case we can similarly decouple the update of v from the surrounding m variables.

The Worldline worm algorithm doesn't offer $v$ updates, so having an update that changes $v$ would be beneficial---currently the only way to update $v$ is through the PlaquetteUpdate, which the plaquette $v$ and its boundary $m$s at once.

The first two Villain and the Worldline are 'ultralocal' in the sense that they are not coordinated updates. However, the latter 2 require checkerboarding. As long as we are writing checkerboarded (to take advantage of the numpy-level loops rather than the python loops) we can add the exact and holonomy Villain generators relatively easily.