This is intended as an example to demonstrate the use of overloading in object
oriented programming. This was written as a Jupyter notebook (aka IPython) in
Python 3. To run in Python 2, simply rename the variables that have unicode
names, and replace truediv
with div
.
While there are several nice Python libraries that support uncertainty (for
example, the powerful
uncertainties package and the
related units and uncertainties package
pint), they usually use standard error
combination rules. For a beginning physics class, often ‘maximum error’
combination is used. Here, instead of using a standard deviation based error and
using combination rules based on uncorrelated statistical distributions, we
assume a simple maximum error and simply add errors.
To implement this, let’s build a Python class and use overloading to implement
algebraic operations.
[Read More]