# uncertainties Release 3.2.1

calculations with values with uncertainties, error propagation

Keywords
error, propagation, uncertainties, uncertainty, calculations, standard, deviation, derivatives, partial, differentiation, autodiff, autodifferentiation, error-propagation
BSD-3-Clause
Install
``` pip install uncertainties==3.2.1 ```

# uncertainties

The `uncertainties` package allows calculations with values that have uncertaintes, such as (2 +/- 0.1)*2 = 4 +/- 0.2. `uncertainties` takes the pain and complexity out of error propagation and calculations of values with uncertainties. For more information, see https://uncertainties.readthedocs.io/

## Basic examples

```>>> from uncertainties import ufloat
>>> x = ufloat(2, 0.25)
>>> x
2.0+/-0.25

>>> square = x**2
>>> square
4.0+/-1.0
>>> square.nominal_value
4.0
>>> square.std_dev  # Standard deviation
1.0

>>> square - x*x
0.0  # Exactly 0: correlations taken into account

>>> from uncertainties.umath import sin, cos  # and many more.
>>> sin(1+x**2)
-0.95892427466313845+/-0.2836621854632263

>>> print (2*x+1000).derivatives[x]  # Automatic calculation of derivatives
2.0

>>> from uncertainties import unumpy  # Array manipulation
>>> varr = unumpy.uarray([1, 2], [0.1, 0.2])
>>> print(varr)
[1.0+/-0.1 2.0+/-0.2]
>>> print(varr.mean())
1.50+/-0.11
>>> print(unumpy.cos(varr))
[0.540302305868+/-0.0841470984808 -0.416146836547+/-0.181859485365]```

## Main features

• Transparent calculations with uncertainties: Liittle or no modification of existing code is needed to convert calculations of floats to calculations of values with uncertainties.
• Correlations between expressions are correctly taken into account. Thus, `x-x` is exactly zero.
• Most mathematical operations are supported, including most functions from the standard math module (sin,...). Comparison operators (`>`, `==`, etc.) are supported too.
• Many fast operations on arrays and matrices of numbers with uncertainties are supported.
• Extensive support for printing numbers with uncertainties (including LaTeX support and pretty-printing).
• Most uncertainty calculations are performed analytically.
• This module also gives access to the derivatives of any mathematical expression (they are used by error propagation theory, and are thus automatically calculated by this module).

## Installation or upgrade

To install uncertainties, use:

```pip install uncertainties
```

To upgrade from an older version, use:

```pip install --upgrade uncertainties
```

Further details are in the on-line documentation.

## Git branches

The GitHub `master` branch is the latest development version, and is intended to be a stable pre-release version. It will be experimental, but should pass all tests.. Tagged releases will be available on GitHub, and correspond to the releases to PyPI. The GitHub `gh-pages` branch will contain a stable test version of the documentation that can be viewed at https://lmfit.github.io/uncertainties/. Other Github branches should be treated as unstable and in-progress development branches.