Transparent calculations with uncertainties on the quantities involved (aka "error propagation") ; calculation of derivatives
Project description
uncertainties allows calculation such as (0.2 +- 0.01)**2 = 0.04 +- 0.004 to be performed transparently.
Correlations between expressions are correctly taken into account (x-x is exactly zero, for instance).
Basic examples:
# Mathematical operations: x = uncertainties.Number_with_uncert((0.20, 0.01)) # x = 0.20+-0.01 x = uncertainties.Number_with_uncert("0.20(1)") # Other representation print x**2 # Prints "0.04+-0.004" print math.sin(x**2) # Prints "0.0399...+-0.00399..." # Access to the value at the origin, and to the uncertainty: s = x**2 print s # Prints "0.04+-0.004" print s.origin_value # Prints "0.04" print s.std_dev() # Prints "0.004..." print s.derivatives[x] # Partial derivative: prints "0.4" (= 2*0.20) print s - x*x # Exactly zero: correlations taken into account
Almost all mathematical operations are supported, including most functions from the standard math module and functions from the third-party numpy module (fast operations on arrays and matrices). There is no restriction on the complexity of the expressions, or on the number of variables involved.
Another possible use of this module is the calculation of partial derivatives of mathematical functions.
More examples and additional information can be obtained with pydoc uncertainties after installation.
Please send feature requests, bug reports, or feedback to the author.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.