evanberkowitz / supervillain

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

Feature/blocked inline observables #138

Closed evanberkowitz closed 1 month ago

evanberkowitz commented 1 month ago

In #137 we suggested ways to block inline observables.

We chose to implement only the KeepEvery strategy, which is straightforward. [NB: actually, if the weights weren't all 1 the whole thing becomes a hellish mess.]

The .every strategy is certainly possible, but would essentially require reimplementing the blocking logic. It could be factored out of the Blocking class and called here. But, we did make the .every not use the blocking KeepEvery. The issue is that the autocorrelation times would differ before and after the .every call if the observables before weren't blocked but after they were. So that's a bit tricky to get right.