Release Notes

Version 1.2.0 (2019.10.16)

  • Functions to perform straight-line regressions are included in modules type_a and type_b.
  • The regression functions in type_a act on sequences of numerical data in the conventional sense (i.e., only the values of data are used; if the data include uncertain number objects, the associated uncertainty is ignored). The residuals are evaluated and may contribute to the uncertainty of the results obtained, depending on the regression method.
  • The regression functions in type_b act on sequences of uncertain-numbers, propagating uncertainty into the results obtained. In most cases, the regression functions in this module are paired with a function of the same name in type_a. For example, type_a.line_fit() and type_b.line_fit() both perform an ordinary least-squares regression. The uncertain-numbers for the intercept and slope obtained from type_a.line_fit() are correlated and have uncertainties that depend on the fitting residuals. On the other hand, the intercept and slope obtained by type_b.line_fit() depend on the uncertain-number data supplied, and does not take account of the residuals.
  • The function type_a.merge() may be used to combine results obtained from type-A and type-B regressions performed on the same data.
  • A number of example calculations are included from Appendix H of the Guide to the expression of uncertainty in measurement (GUM).
  • A number of example calculations are included from the 3rd Edition (2012) of the EURACHEM/CITAC Guide: Quantifying Uncertainty in Analytical Measurement (CG4).
  • There are several examples of applying GTC to linear calibration problems, including the use of regression functions in type_a and type_b.

Version 1.1.0 (2019.05.30)

  • Mathematical functions in the core module (sin, sqrt, etc) can be applied to Python numbers as well as uncertain numbers (previously these functions raised an exception when applied to Python numbers).
  • There is a new array-like class to hold collections of uncertain numbers. UncertainArray is based on numpy.ndarray, which provides excellent support for manipulating stored data. Standard mathematical operations in the core module can be applied to UncertainArray objects.
  • A function reporting.sensitivity() calculates partial derivatives (sensitivity coefficients).

Version 1.0.0 (2018.11.16)

The initial release of the Python code version of the GUM Tree Calculator.

The source code was derived from the stand-alone GUM Tree Calculator version 0.9.11, which is available from the MSL web site . The new version has made some significant changes to the data structures used, with accompanying changes to the underlying algorithms.

The application programmer interface in GTC 1.0.0 remains very close to that provided in GTC 0.9.11, although not all functions in GTC 0.9.11 are available yet. It is our intention to provide the remainder in forthcoming releases.

The most significant change has been to the method of storing uncertain numbers. The archive module in GTC 0.9.11 was replaced in GTC 1.0.0 by the persistence module. So, archives created using GTC 0.9.11 are not interchangeable with GTC 1.0.0.