Visualise data the easy way, with sane defaults.
Note: This package is work in (extremely slow) progress! Stage: !
This package shall at one point provide you with the right tools to do the following:
- Import your data from almost everywhere.
- Easily perform scientific calculations with uncertainties and units.
- Visualise your work with error bars and fits.
- Optimally, this package should be able to do the labelling, including units, for you.
The unit system is a good point to start with, because it should have all of the following:
- understanding of your input: Use the units you like (imperial, metric, with prefixes).
- under–the–hood converter tools (do the calculations with SI units internally).
- unit simplification: should give you , not .
Most unit system implementations have the first two properties, but they lack the last one. A good test is to combine a ton of units and see if you get more of them back than the number of base units:
It is rather obvious that 1 means a dimensionless quantity (amount), whereas it is not obvious that the right hand side is dimensionless.
Esoteric units in the above formula:
This is (hopefully) enough to convince you that the unit simplification is one of the most important aspects of the implementation.
A measurement is a combination of a number (int
, float
, uncertainties.ufloat
) and a unit (Meter
, Kilogram
, Second
).
Maybe the implementation will contain an option for a prefix, so that nano
is not converted to 1e-9
and then multiplied with the number
but instead left unevaluated so that there is no risk of a loss of precision when multiplying / dividing numbers with prefixes.
Measurements are quite useless when we cannot perform calculations with them.