This module contains tools for least-squares fits, as functions
of time t
, of simulation (or other statistical) data for 2-point and
3-point correlators of the form:
Gab(t) = <b(t) a(0)> Gavb(t,T) = <b(T) V(t) a(0)>
Each correlator is modeled using Corr2
for 2-point correlators, or
Corr3
for 3-point correlators in terms of amplitudes for each source
a
, sink b
, and vertex V
, and the energies associated with each
intermediate state. The amplitudes and energies are adjusted in the
least-squares fit to reproduce the data; they are specified in a shared prior
(typically a dictionary).
An object of type CorrFitter
describes a collection of correlators and is
used to fit multiple models to data simultaneously. Any number of
correlators may be described and fit by a single CorrFitter
object.
CorrFitter
objects can also be used to to extract the appropriate fit
data from Dataset
objects.
This module has been used extensively for analyzing results from lattice QCD
simulations. Documentation for this module can be found by looking at
doc/html/index.html
or <https://corrfitter.readthedocs.io>. The .py
files in directory examples/
also illustrate how to use corrfitter; see
examples/README
for more information.
Information on how to install the library is in the file INSTALLATION. To test the module try 'make tests'.
This module requires the lsqfit
and gvar
Python packages.
Background information on the some of the fitting strategies used by
corrfitter
can be found by doing a web searches for "hep-lat/0110175",
"arXiv:1111.1363", and :arXiv:1406.2279" (appendix). These are papers by
G.P. Lepage and collaborators whose published versions are:
G.P. Lepage et al, Nucl.Phys.Proc.Suppl. 106 (2002) 12-20;
K. Hornbostel et al, Phys.Rev. D85 (2012) 031504; and
C.M. Bouchard et al, Phys.Rev. D90 (2014) 054506.
corrfitter
version numbers have the form major.minor.patch
where
incompatible changes are signaled by incrementing the major
version
number, the minor
number signals new features, and the patch
number
signals bug fixes.