Analysis¶
The following provides a brief overview for the most common analysis required for each type of Monte Carlo calculation. The guides in Tutorials provide a step-by-step guide to analysing HANDE calculations and explain the reasoning behind the required analysis parameters.
HANDE includes a variety of scripts and utilities in the tools
subdirectory. However,
these only provide a simple, command-line interface. A comprehensive python module,
pyhande, drives all the analysis. pyhande is extremely powerful for dealing
with complex analysis, data-driven investigation or bulk data analysis.
FCIQMC and CCMC¶
QMC calculations print out data from a block of iterations (a ‘report loop’), the length of which is controlled by the mc_cycles input option. Care should be taken analysing this data and, in particular, producing accurate estimates of the errors in the means of the energy estimators. Almost all data is averaged over the report loop (see output for further details).
Note that no data is lost when quantities are summed over report loops, as the correlation length in the data is substantially longer than the length of the report loop (typically 10-20 iterations).
As the particle distribution at one iteration is not independent from the distribution at the previous iteration, estimators at each iteration are not independent. This correlation in the data needs to be taken into account when estimating standard errors. A simple and effective way of doing this is to use a blocking analysis [Flyvbjerg89].
The reblock_hande.py
script (in the tools
subdirectory) does this. Run
$ reblock_hande.py --help
to see the available options. Estimates for the shift and projected energy are typically obtained using
$ reblock_hande.py --start N out
respectively, where N
is the iteration from which data should be blocked (i.e.
after the calculation has equilibrated) and out
is the file to which the
calculation output was saved.
Note that reblock_hande.py can accept multiple output files for the case when
a calculation is restarted. More complicated analysis can be performed in python by
using the pyhande
library — reblock_hande.py
simply provides a convenient
interface for the most common analysis tasks.
Canonical Total Energy MC¶
The configurations and resulting estimates in a canonical total energy
calculation are statistically independent and therefore no blocking analysis is
required. The analyse_canonical.py
script is available in tools/dmqmc/
which
performs the appropriate averaging and standard error analysis on the output file
using the pyhande suite.
DMQMC¶
No blocking analysis is required for the error analysis of DMQMC calculations
as estimates are averaged over statistically independent runs. The
finite_temp_analysis.py
script in tools/dmqmc
can be used to perform a
standard error analysis of the Monte Carlo data for a number of different observables.