./wip/py-lsqfit, Utilities for nonlinear least-squares fits

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 4.8, Package name: py312-lsqfit-4.8, Maintainer: jihbed.research

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. It uses
automatic differentiation to compute gradients, greatly simplifying
the design of fit functions.


Required to run:
[math/gsl] [math/py-numpy] [devel/py-cython] [lang/python37]

Required to build:
[pkgtools/cwrappers]

Master sites:

RMD160: 9b6d5632c9d0eca045f5b144feee0d09b95567c2
Filesize: 1341.059 KB

Version history: (Expand)


CVS history: (Expand)


   2014-05-12 23:59:10 by Kamel Derouiche | Files touched by this commit (3)
Log message:
move new version 4.8

   2014-02-02 22:15:08 by Kamel Derouiche | Files touched by this commit (3)
Log message:

	Version 4.6.1 - 2014-02-02
===========================
Cleaning up some small bugs introduced with the new lsqfit.wavg. Also 
introduced an approximate but potentially much faster *fast* mode for it.

Version 4.6 - 2014-01-30
========================
The main change here is an upgrade to lsqfit.wavg.

- Somewhat incompatible change in lsqfit.wavg: When averaging arrays or dicts,
  wavg used to ignore correlations between different elements of the 
  array or dict. The new wavg takes account of all correlations between 
  different pieces of input data. wavg returns a GVar if averaging 
  a list of GVars, a numpy array of GVars if averaging a list of arrays
  of GVars, and a Bufferdict of GVars or arrays of GVars if averaging
  a list of dicts. In each case the return value has extra attributes:
  chi2, dof, Q, time, fit. The function itself also has these attributes, 
  coming from the last fit.

- gvar.mean(g) now returns g unchanged if g contains objects of type
  other than GVar. This is useful for writing functions that must work
  with either GVars or floats as arguments: gvar.mean can be used to 
  strip the sdev off of GVars where it isn't needed or wanted.

- New function gvar.asbufferdict(g) converts dictionary g to a 
  BufferDict unless it already is one, in which case it returns g.
  The keys in the final result can be restricted by adding a 
  a list of keys as a second argument: gvar.asbufferdict(g, keylist).
   2014-01-25 11:38:08 by Thomas Klausner | Files touched by this commit (171) | Package updated
Log message:
Mark packages as not ready for python-3.x where applicable;
either because they themselves are not ready or because a
dependency isn't. This is annotated by
PYTHON_VERSIONS_INCOMPATIBLE=  33 # not yet ported as of x.y.z
or
PYTHON_VERSIONS_INCOMPATIBLE=  33 # py-foo, py-bar
respectively, please use the same style for other packages,
and check during updates.

Use versioned_dependencies.mk where applicable.
Use REPLACE_PYTHON instead of handcoded alternatives, where applicable.
Reorder Makefile sections into standard order, where applicable.

Remove PYTHON_VERSIONS_INCLUDE_3X lines since that will be default
with the next commit.

Whitespace cleanups and other nits corrected, where necessary.
   2014-01-14 16:02:49 by Kamel Derouiche | Files touched by this commit (3)
Log message:

	Update 4.5.1 to 4.5.3:
	Version 4.5.3 - 2013-12-22
===========================

- Fixed bug in gvar._gvarcore that caused problems on win64 systems.

- GVar's __cinit__ has been changed to an __init__, which makes derivation
  from GVar possible. GVar also has new property: g.internaldata.
  This allows simplifies derivation from GVar --- see, for example,
  class WAvg in lsqfit._extras.py. Finally a cython declaration file,
  gvar.pxd, is installed for the benefit of other cython modules:
  cimport gvar gives the module access to the internal definitions of
  cython extension types GVar, svec and smat.

- lsqfit.wavg (weighted averages) now returns a variable
  of type WAvg which is a class derived from GVar (with all of
  its functionality) but with added attributes: chi2,
  dof, and Q which are the chi2, dof, Q from the wavg. In the past these were
  read off the function itself (eg, wavg.Q) but this is nonintuitive.
  Now ans = lsqfit.wavg(list_of_GVars) is a GVar with the extra
  attributes (ans.chi2, ans.dof, ans.Q). lsqfit.wavg still has attributes
  chi2, Q etc to help with legacy code. Also this is useful if the average
  is over a list of arrays or dictionaries (ie, a multidimensional random
  variable). In this case the individual GVars in the result have chi2s, etc
  as described above, while lsqfit.wavg has the chi2 for the entire set (ie,
  the sum of the chi2s for all the components).

Version 4.5.2 - 2013-09-26
==========================

- str(x) and repr(x) for GVar x both now return strings using the
  '2.31(10)' format rather than the older '2.31 +- 0.1'.
  The old format is still supported on input, but it will
  no longer appear in (default) printing. Use x.fmt(-1) to obtain the old
  format.

- Added gv.evalcorr(g) which calculates the correlation matrix of the
  GVars in g.

- gv.chi2 has a new option (fmt=True) that causes it to return a string
  (describing the chi**2) rather than the numerical value of chi**2.

- Operators > and < are now defined for gvar.GVars. This allows algorithms
  to order GVars, which is occasionally useful. The ordering is based upon
  the mean values. Operators >= and <= are still *not* defined, because of
  incompatibilities with == and !=, which look not just at mean values but
  also at all the dependencies. These incompatibilities suggest that one
  shouldn't define > and < either, except that there are times when it is
  quite useful to be able to order a numerical data type for algorithmic
  reasons. The setup here is a compromise (kludge?).

- Fixed very minor bug in lsqfit.nonlinear_fit.format().
   2013-08-31 22:23:39 by Kamel Derouiche | Files touched by this commit (4)
Log message:
Import py27-lsqfit-4.5.1 as wip/py-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. It uses
automatic differentiation to compute gradients, greatly simplifying
the design of fit functions.