Closed evanberkowitz closed 1 month ago
As mentioned in #138, getting it right in .every
(and, in fact, getting the KeepEvery strategy correct when the weights aren't all 1) is a little tricky to ensure that the autocorrelation time is the same if we .continue_from
a decimated ensemble. I'll close this as wontfix, and consider it halfway accomplished. It's not really wontfix, but it is 'annoying to fix' which may amount to the same thing in the long run.
We have
Blocking
but there is a cost: the memory footprint grew by τ. We introduced blocking to capture those rare-but-important excursions of the worm into the far reaches of the lattice. If we just took.every
nth configuration / inline measurement we could lose them.We could accumulate them, however. Two places to consider are
Ensemble.every
currently just takes a stride. But it could take an optional default-()
list of things to block rather than sample. This strikes a balance between a full blocking and a pure decimation.generator.combining.KeepEvery
could take a similar list of inline observables to block, which would strike a good compromise between storage and not missing a measurement.