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
(andComplex{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 ofMeasurements.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.