forked from sympy/sympy
-
Notifications
You must be signed in to change notification settings - Fork 0
Unit systems
Harold edited this page Nov 22, 2013
·
10 revisions
Note: this page is still in progress: the core of the module is still not finished, but it's a good time to begin to gather new ideas for the following. See the discussion on google groups.
Some articles speaking about the mathematical formulation of unit/dimension systems:
- [Page52] C. H. Page, Classes of units in the SI. Am. J. of Phys. 20, 1 (1952): 1
- [Page78] C. H. Page, Units and Dimensions in Physics. Am. J. of Phys. 46, 1 (1978): 78.
- [deBoer79] J. de Boer, Group properties of quantities and units Am. J. of Phys. 47, 9 (1979): 818.
Here follow several proposition to improve the unit module.
- Implement Buckingham Π theorem: find all adimensional quantities with n quantities and N base units.
- Add name to unit.
- Units with offset (like °C).
- Logarithmic units (dB, pH, bytes, etc.) : one has to take care to allow log in different basis (cf [deBoer1979]).
- Verify that function arg are dimensionless (there is care to take with angles, cf the papers above).
- After an operation, search if the resulting units is the power or the multiple of an unit of the current system.
- Extend to time system? (like hour/minutes/seconds) calendars?
- Add prefixed units in two ways: either give a list of prefixes and all units of the system will have these prefixes, or give a dict as (unit): (list of prefixes) to associates only some prefixes.
- When a quantity can be expressed in a simpler way with a "bigger" unit, do conversion; e.g 1200 m → 1.2 km. Add a global option to disable this automatic conversion (and other conversion).
- Define sympy printing for the different objects (use the package siunitx for LaTeX).