
Andy Little wrote:
"Matt Calabrese" <rivorus@gmail.com> wrote
When you form a value from division of two quantities, it has units with an empty classification.
When you divide length by time you get another quantity. When you divide a length by a length you get a number. Its that simple.
...
The ratio of the circumference of two circles is a number. The ratio of two lengths is a number. The ratio of two temperatures is a number. the ratio of two masses is a number. Etc. No units involved there.
An empty classification is not the same as a lack of units. Resulting in a raw value needlessly gets rid of this abstraction.
No . it gets rid of an unnecessary abstraction. Use a number to represent a number. Simple.
I can't claim to have understood all of Matt's discussion about this and, as always, I am of two minds on this. Mathematically, I think Andy is entirely correct in what he says above. Once you take the ratio of two measurements of the same dimension (or quantity), you end up with a pure number that really can't be distinguished from other ratios or pure numbers. For example, notice that it is useful to feed pure numbers or ratios into nonlinear functions such as the exponential and logarithm functions (as well as trig functions). Such functions are pure mathematical functions that can only take pure unitless numbers as inputs and return unitless numbers as outputs. On the other hand, when coding, it would be nice to be able to protect against mixing radians and decibels inappropriately in the same formula, so assigning different types to them is an attractive idea. I have experimented with this, but have not found a satisfactory solution myself. Could you remind me what operations are permitted with an "empty classification"? What happens if you take the ratio of two values with the same empty classification? Are you allowed to feed it into the exponential function?