# Measurements¶

## Introduction¶

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.

### Features List¶

- 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.

## License¶

The `Measurements.jl`

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