lsqfit
------
These packages facilitate least-squares fitting of noisy data by
multi-dimensional, nonlinear functions of arbitrarily many parameters. The
central package is :mod:`lsqfit` which provides the fitting capability.
:mod:`lsqfit` makes heavy use of package :mod:`gvar`, which provides tools
for the analysis of error propagation, and also for the creation of
complicated multi-dimensional gaussian distributions. :mod:`lsqfit`
supports Bayesian priors for the fit parameters, with arbitrarily
complicated multidimensional gaussian distributions. An tutorial on fitting
is included in the documentation; documentation is in the doc/ subdirectory
(see doc/html/index.html for the html version or doc/lsqfit.pdf for a pdf
version).

This code has been used on a laptop to fit functions of tens-to-thousands
of parameters to tens-to-thousands of pieces of data. The use of
dictionaries (rather than arrays) to represent fit data facilitates
simultaneous fits to multiple types of data. Fit-function parameters can
also be represented as dictionaries, usually leading to much more
intelligible code.

These packages use the Gnu Scientific Library (GSL) to do the fitting,
numpy for efficient array arithmetic, and cython to compile efficient code
that interfaces between Python and the C-based GSL. The fitter uses
automatic differentiation to compute gradients, which greatly simplifies
the design of fitting functions.

Information on how to install the components is in the INSTALLATION file. 

To test the libraries try 'make tests'. (Some tests involve random
numbers and so may occasionally --- less than 1 in 100 runs --- fail due to
rare multi-sigma fluctuations; rerun the tests if they do fail.) Some
examples are give in the examples/ subdirectory.

# Created by G. Peter Lepage (Cornell University) 2008
# Copyright (c) 2008-2013 G. Peter Lepage
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# any later version (see <http://www.gnu.org/licenses/>).
# 
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
