evanberkowitz / supervillain

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

Fix erroneous derivation + corresponding code #109

Closed evanberkowitz closed 8 months ago

evanberkowitz commented 8 months ago

98 described a bug in InternalEnergyDensitySquared.

This provides the fix. One thing that @alcherman noticed was that the discrepancy seemed volume-dependent. To speed things up we did simulations with a 2x2 lattice, κ=0.5, W=1. Both Villain (100000 NeighborhoodUpdates) and Worldline (10000 sequential Plaquette and WrappingUpdates). Computed the autocorrelation times, decorrelated, and did 1000 bootstrap resamplings. That should be enough to guarantee gaussian statistics.

Before the fix we see an obvious incontrovertible difference in the InternalEnergyDensitySquared observable.

Screenshot 2024-01-24 at 19 36 17

With this fix they now agree (and indeed, it is the Worldline that changed, not the Villain!)

Screenshot 2024-01-24 at 19 34 04

Now running the 5x5 lattice used as an example in #98, we get something definitely compatible:

Screenshot 2024-01-24 at 19 45 15

This closes #98.