# Measurements¶

Measurements.jl is a Julia package that allows you to define numbers with uncertainties, perform calculations involving them, and easily get the uncertainty of the result according to linear error propagation theory.

These are the main fetures of the package:

- Support for most mathematical operations available in Julia involving real and
complex numbers. All existing functions that accept
`AbstractFloat`

(and`Complex{AbstractFloat}`

) arguments and internally use already supported functions can in turn perform calculations involving numbers with uncertainties without being redefined. This greatly enhances the power of`Measurements.jl`

without effort for the users - Functional correlation between variables is correctly handled, so \(x - x = 0 \pm 0\), \(x/x = 1 \pm 0\), \(\tan(x) = \sin(x)/\cos(x)\), etc...
- Support for arbitrary precision numbers with uncertainties (though this may not be very useful for quantities that are intrinsically imprecise)
- Define arrays of measurements and perform calculations with them
- Propagate uncertainty for any function of real arguments (including functions
based on C/Fortran calls),
using
`@uncertain`

macro - Functions to get the derivative and the gradient of an expression with respect to one or more independent measurements
- Functions to calculate standard score and weighted mean
- Easy way to attach the uncertainty to a number using
`±`

sign

Further features are expected to come in the future, see the “How Can I Help?” section and the TODO list.

The `Measurements.jl`

package is licensed under the MIT “Expat” License. The
original author is Mosè Giordano.