I know mathematically the answer to this question is yes, and it's very obvious to see that the dimensions of a ratio cancel out, leaving behind a mathematically dimensionless quantity.
However, I've been writing a c++ dimensional analysis library (the specifics of which are out of scope), which has me thinking about the problem because I decided to handle angle units as dimensioned quantities, which seemed natural to enable the unit conversion with degrees. The overall purpose of the library is to disallow operations that don't make sense because they violate the rules of dimensional analysis, e.g. adding a length quantity to an area quantity, and thus provide some built-in sanity checking to the computation.
Treating radians as units made sense because of some of the properties that dimensioned quantities seemed to me to have:
- The sum and difference of two quantities with the same dimension has the same physical meaning as both quantities separately.
- Quantities with the same dimension are meaningfully comparable to each other, and not meaningfully comparable (directly) to quantities with different dimensions.
- Dimensions may have different units which are a scalar multiple of each other (sometimes with a datum shift).
If angle is treated as a dimension, my 3 made up properties are satisfied, and everything "makes sense" to me. I can't help thinking that the fact that radians are a ratio of lengths (SI defines them as m/m) is actually critically important, even though the length is cancelled out.
For example, though radians and steradians are both dimensionless, it would be a logical error to take their sum. I also can't see how a ratio of something like (kg / kg) could be described as an "angle". This seems to imply to me that not all dimensionless units are compatible, which seems analogous to how units with different dimensions are not compatible.
And if not all dimensionless units are compatible, then the dimensionless "dimension" would violate made-up property #1 and cause me a lot of confusion.
However, treating radians as having dimension also has a lot of issues, because now your trig functions have to be written in terms of
cos(angleUnit) = dimensionlessUnit even though they are analytic functions (although I'm not convinced that's bad). Small-angle assumptions in this scheme would be defined as performing implicit unit conversions, which is logical given our trig function definitions but incompatible with how many functions are defined, especially since many authors neglect to mention they are making those assumptions.
So I guess my question is: are all dimensionless quantities, but specifically angle quantities, really compatible with all other dimensionless quantities? And if not, don't they actually have dimension, or at least the properties of dimension?