ALPSCore / CT-HYB

ALPS Hybridization Expansion Matrix Code
GNU General Public License v2.0
16 stars 13 forks source link

Unsure about update information in HDF5 output #10

Open fsohn opened 6 years ago

fsohn commented 6 years ago

Hi, recently I had some trouble understanding the information about the updates in the output HDF5 file, e.g. the number of attempts and acceptances of an update. For example, in

/simulation/results/1-pair_insertion_remover_accepted_scalar Group
/simulation/results/1-pair_insertion_remover_accepted_scalar/count Dataset {SCALAR}
/simulation/results/1-pair_insertion_remover_accepted_scalar/mean Group
/simulation/results/1-pair_insertion_remover_accepted_scalar/mean/error Dataset {SCALAR}
/simulation/results/1-pair_insertion_remover_accepted_scalar/mean/value Dataset {SCALAR}

I found an integer number in the 'count' dataset, which I expected to be the number of accepted updates of this type. However, the same number showed up in the 'count' dataset for attempted updates. So, I am not sure what it actually means because not every attempted update will be accepted. Furthermore, how exactly is the 'mean/value' (and the 'mean/error') obtained?

I assume, that a certain number of updates of different types is performed, where the number of attempts of a certain update is determined by an update rate, before the information is passed on to the ALPSCore library and the 'count' is increased by 1. The 'mean/value' then is the mean value of the 'count' times-accumulated data. Is that correct?

Could you implement a counter for the number of attempted, valid and accepted updates for each type of update?

shinaoka commented 6 years ago

Hi, all data below /simulation/results are not intended to be public to users. These data are sort of raw data before postparocess (basis rotation, normalization etc.) You can see how high the acceptance rates are in output messages instead.

Internally, we measure 0 for a rejected update and 1 for an accepted update by means of the accumulator of the ALPSCore libraries. "count" is the number of these measurements. "mean/value" is the mean value of this observable, which should be the actual acceptance. "mean/error" is the statistical error bar of this observable.