# Are units of angle really dimensionless?

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:

1. The sum and difference of two quantities with the same dimension has the same physical meaning as both quantities separately.
2. Quantities with the same dimension are meaningfully comparable to each other, and not meaningfully comparable (directly) to quantities with different dimensions.
3. 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?

• – Qmechanic Apr 28 '16 at 17:45
• If you want to include degrees into a dimensions analyser, the only consistent way is to assign to the degree symbol $°$ the numeric value $\pi/180\approx0.01745$. It sounds weird at first, but it works! – Emilio Pisanty Apr 30 '16 at 15:21
• I'm just a student, but I would say maybe have degrees as a dimension, but keep radians dimensionless? Degrees aren't directly m/m afaik, and there are things that come to mind when thinking about radians as dimensioned Specifically in an oscillating spring, where velocity (meters / sec) = - w (rad/sec) A(meters) sin(wt). If radians is a unit there, this equation doesn't make sense. However, it does need to be radians / sec, not degrees / sec, to work correctly - having degrees as a unit would prevent misuse of this equation. – daboross May 2 '16 at 4:04
• Also, while SI defines an angle, in radians, as the ration of a length to a length, what isn't made clear/obvious is that those lengths (particularly for a geometric angle) are at right angles to each other (continuously!), and so are themselves independent dimensions, which contradicts the dimensional expectation (you can't cancel out independent dimensions). Likewise Energy will be mass times area per square second. The issue is the dimensional analysis of Length. – Philip Oakley May 2 '16 at 18:42
• This reminds me of programming arguments about what should be a type and what shouldn't. ("Not all strings are compatible, so we should create Address and PhoneNumber and ... types") – user253751 Apr 11 '17 at 0:18

The answers are no and no. Being dimensionless or having the same dimension is a necessary condition for quantities to be "compatible", it is not a sufficient one. What one is trying to avoid is called category error. There is analogous situation in computer programming: one wishes to avoid putting values of some data type into places reserved for a different data type. But while having the same dimension is certainly required for values to belong to the same "data type", there is no reason why they can not be demarcated by many other categories in addition to that.

Newton meter is a unit of both torque and energy, and joules per kelvin of both entropy and heat capacity, but adding them is typically problematic. The same goes for adding proverbial apples and oranges measured in "dimensionless units" of counting numbers. Actually, the last example shows that the demarcation of categories depends on a context, if one only cares about apples and oranges as objects it might be ok to add them. Dimension is so prominent in physics because it is rarely meaningful to mix quantities of different dimensions, and there is a nice calculus (dimensional analysis) for keeping track of it. But it also makes sense to introduce additional categories to demarcate values of quantities like torque and energy, even if there may not be as nice a calculus for them.

In fact, radians and steradians were in a class of their own as "supplementary units" of SI until 1995. That year the International Bureau on Weights and Measures (BIPM) decided that "ambiguous status of the supplementary units compromises the internal coherence of the SI", and reclassified them as "dimensionless derived units, the names and symbols of which may, but need not, be used in expressions for other SI derived units, as is convenient", thus eliminating the class of supplementary units. The desire to maintain a general rule that arguments of transcendental functions must be dimensionless might have played a role, but this shows that dimensional status is to a degree decided by convention rather than by fact. In the same vein, ampere was introduced as a new base unit into MKS system only in 1901, and incorporated into SI even later. As the name suggests, MKS originally made do with just meters, kilograms, and seconds as base units, this required fractional powers of meters and kilograms in the derived units of electric current however.

As @dmckee pointed out energy and torque can be distinguished as scalars and pseudo-scalars, meaning that under the orientation reversing transformations like reflections, the former keep their value while the latter switch sign. This brings up another categorization of quantities that plays a big role in physics, by transformation rules under coordinate changes. Among vectors there are "true" vectors (like velocity), covectors (like momentum), and pseudo-vectors (like angular momentum), in fact all tensor quantities are categorized by representations of orthogonal (in relativity Lorentz) group. This also comes with a nice calculus describing how tensor types combine under various operations (dot product, tensor product, wedge product, contractions, etc.). One reason for rewriting Maxwell's electrodynamics in terms of differential forms is to keep track of them. This becomes important when say the background metric is not Euclidean, because the identification of vectors and covectors depends on it. Different tensor types tend to have different dimensions anyway, but there are exceptions and the categorizations are clearly independent.

But even tensor type may not be enough. Before Joule's measurements of the mechanical equivalent of heat in 1840s the quantity of heat (measured in calories) and mechanical energy (measured in derived units) had two different dimensions. But even today one may wish to keep them in separate categories when studying a system where mechanical and thermal energy are approximately separately conserved, the same applies to Einstein's mass energy. This means that categorical boundaries are not set in stone, they may be erected or taken down both for practical expediency or due to a physical discovery.

Many historical peculiarities in the choice and development of units and unit systems are described in Klein's book The Science of Measurement.

• this makes sense, but begs the question for my particular case of whether conflating category and dimension is harmless for angle, since I'm effectively disregarding when substituting into transcendental functions by allowing them to accept "angle units". – Nicolas Holthaus Apr 27 '16 at 1:28
• Well, Joules are scalar Newton-meters, and Torque units are pseudo-vector Newton-meters, so you can differentiate them by their tensor character. – dmckee --- ex-moderator kitten Apr 27 '16 at 2:21
• @arivero Not all dimensionless quantities have to be compatible, and not all category distinctions have to be by dimension. Numbers of electrons and photons are both clearly dimensionless, but we may still wish to keep them in separate categories. – Conifold Apr 27 '16 at 2:53
• The second question is " don't they actually have dimension, or at least the properties of dimension?" and you are giving it a qualified "yes", not a "no", if "categories" are substituded for "dimension" – anna v Apr 27 '16 at 4:18
• @Bernhard That's not true. Imagine you start at point $A$, walk a distance $r$ in a straight line, and then walk in a circle around point $A$. What's the distance you've walked? Radius plus circumference. – Will Vousden Apr 27 '16 at 9:36

Whenever I think about this problem I go back to one of Joel Spolsky's articles, "Making Wrong Code Look Wrong", which talks about Hungarian notation. Not only the useless kind of Hungarian notation, where variables are named in a way that describes their types (f_pos for a float, d_pos for a double, etc.) - this is "Systems Hungarian" in the article - but the original, practical kind, "Apps Hungarian", where the name of a variable reflects what kind of physical quantity it represents. x_pos and y_pos for horizontal and vertical position, for example. Or in an example that might be more relevant to your case, circ_length and rad_length for circumference and radius, respectively.

In Apps Hungarian, if you ever found yourself writing circ_length + rad_length, you would suspect that something was wrong because you shouldn't be adding circumference and radius. Even though they're dimensionally consistent, they're not compatible in some sense. You'd want to rewrite it as something like this:

circ_length + circ_from_rad(rad_length)


Unit systems are a (somewhat limited) physical equivalent of Apps Hungarian. We use different units to denote different variables that are not compatible and shouldn't be added together.

This might seem like a weird perspective on units at first. After all, it seems intuitively obvious that length and time are different in some way that, say, height and width aren't. But then relativity came along, and we learned that length and time actually are compatible, you just need to do the right conversion.

prime_t, prime_x = prime_from_normal(normal_t, normal_x)


or in other words,

$$\begin{pmatrix}ct' \\ x'\end{pmatrix} = \begin{pmatrix}\gamma & -\beta\gamma \\ -\beta\gamma & \gamma\end{pmatrix}\begin{pmatrix}ct \\ x\end{pmatrix}$$

Then quantum mechanics came along and we learned that energy and frequency are also kind of the same thing.

energy = energy_from_freq(frequency)


$$E = \hbar\omega$$

And then quantum gravity came along and somebody invented Planck units, and that goes all the way down the rabbit hole to the point where everything is just a number, and you can freely add masses and charges and forces.

Stay away from quantum gravity.

Anyway, if it's so easy to reduce the number of distinct units by showing how they can all be converted into each other, you can also reverse the process. You'd treat the unit systems we have as reduced versions of more complicated systems that distinguish between quantities we normally think of as being the same. Height and width, for example. You could have "height-meter" and "width-meter" as effectively separate units. Or, in your case, "circumference-meter" and "radius-meter", in which case you'd define $$1\ \mathrm{rad} = \frac{1\ \text{circumference-meter}}{1\ \text{radius-meter}}$$ In your system, this is not going to be the same as $\frac{1\ \text{height-meter}}{1\ \text{width-meter}}$. You can make it the same by turning all these units into meters, in which case you'd recover the metric system, but then you lose the extra contextual information provided by your unit system.

Here's a practical example: slope $m$ is defined as height over (horizontal) length, $\Delta y/\Delta x$, which means the units of slope are $$[m] = \frac{\text{height-meter}}{\text{length-meter}}$$ On the other hand, angle $\alpha$ is defined as circumference over radius, $$[\alpha] = \frac{\text{circumference-meter}}{\text{radius-meter}}$$ The relationship between these two is $$m = \tan\alpha$$ so in this augmented unit system, you know that the tangent takes in units of $\frac{\text{circumference-meter}}{\text{radius-meter}}$ and gives a result in units of $\frac{\text{height-meter}}{\text{length-meter}}$.

However, there is a problem. What if you're doing a calculation involving the transverse and recessional velocities of a star? (Perpendicular and parallel to your line of sight, respectively.) In that case, you still use the tangent function, but you might get a result in units of $\frac{\text{length-meter}}{\text{height-meter}}$. Strictly speaking, this probably means you should have a separate function that would produce this kind of output. In practice, you can take it too far. Giving everything separate units is often more trouble than it's worth.

So you'll have to strike a balance between the two extremes. Many people agree that having angles designated by a unit to preserve the contextual information that they are angles (not something else) is useful. You can meaningfully use that information with trig functions: a function like $\tan$ has to take as input an angle, or a "circular" ratio of lengths (circumference to radius or such), and give as output a "rectangular" ratio of lengths (height to width or vice-versa or some such thing). The radian might be a "fake" unit, sure, but in a way it's no more fake than a unit of velocity, or angular momentum, and it is useful information to maintain.

• This is IMO absolutely the best answer provided thus far. I would make a similar argument for an implicit "cycles" unit in the numerator of "Hertz": $\mathrm{Hz} \equiv \mathrm{cyc\over s} \neq \mathrm{1\over s}$. Even though formally dimensionless, it is highly clarifying as to the difference between $h$ and $\hbar$—see, e.g., my answer here. – hBy2Py Apr 27 '16 at 3:20
• I agree with @Brian, but you got my +1 just for "Stay away from quantum gravity." :-) – Mark Hurd Apr 27 '16 at 8:36
• Another example, though one outside physics, is the units of chemical rate constants. For the reaction $\mathrm A \stackrel{k_1}{\longrightarrow} \mathrm B$, with rate equation $R_1 = k_1\left[A\right]$, $k_1$ is usually stated as carrying units of $1 \over\mathrm s$. In reality, though, it's something like $\mathrm{mol~B\over L}\div\left(\mathrm{mol~A\over L}\cdot \mathrm s\right)$. Cumbersome to track, but potentially useful in analysis of complex mechanisms. – hBy2Py Apr 27 '16 at 11:00
• Pretty sure that if want to find how much wire is in one of these p-wholesale.com/upimg/21/833a2/paint-mixers-710.jpg you'll be adding radii to circumferences at some point. – Pete Kirkham Apr 27 '16 at 19:21
• Excellent and enlightening answer! Best Answer in my book. – electronpusher Mar 31 '17 at 1:02

Here is an entertaining mathematical answer. (Or at least, I find it entertaining, anyway.)

Let us take seriously the idea that we can treat radians as a unit, and proceed from there. This means that when we write an expression like $$\sin \theta$$, the argument $$\theta$$ must have units of radians, whereas the result (I'll assume) is just a number without any units. Or to put it another, way, the expression $$\sin^{-1} x$$ has units of radians.

Now, since we can write $$\sin\theta$$ as $$\frac{i}{2}(e^{-i\theta}-e^{i\theta})$$, that means the argument to $$e^\theta$$ must also have units of radians. Or, to put it another way, any expression of the form $$\ln x$$ has units of radians, since the logarithm is the inverse of the exponential.

However, we can quickly get into trouble here, since the integral of the logarithm is given by $$\int \ln x \,dx = x\ln x - x + C.$$ Assuming $$x$$ is a dimensionless number, the term $$x\ln x$$ has units of radians, but the $$x$$ term is dimensionless. So we've reached an inconsistency of the kind you were looking for, where a quantity in radians is added to a dimensionless quantity, and we never even had to include any physics at all.

This is not necessarily an unsolvable problem. benrg has a nice answer, in which he points out that you can write the solution to the above integral as $$x\ln(x/e) + C = x\ln x - x\ln e + C$$, with the point being that $$\ln e$$ is a constant with the value 1 but units of radians, so the units of the expression are radians overall. This seems to be consistent and I rather like it.

All this might be worth thinking about a bit more some time, on a rainy afternoon when there's nothing else to do. My point here was to show that it isn't straightforward to treat radians as a unit, even in the world of pure maths. benrg shows that it might nevertheless be possible to do it consistently, which I find interesting.

• This is actually the most convincing argument, especially as to why not to treat angles as units even if you accept that it is not formally correct. That or just ignore the existence of calculus and complex numbers like a good computer engineer :p – Nicolas Holthaus Apr 30 '16 at 11:17
• I also appreciate that you falsified the hypothesis, which is kind of what I was hoping one of the physics answers would do. – Nicolas Holthaus Apr 30 '16 at 11:20
• While the radian is one possible base-unit, it can easily be argued that its not the best, and that perhaps the cycle, revolution, or rotation could be just as valid as the base unit, or even the right angle (4 per rev). Interstingly, one right angle is alrady named. It's i. Complex numbers are already two dimensional! – Philip Oakley May 2 '16 at 17:23
• If logarithms have units then there is no "natural" logarithm. Nor are there really logarithms to different bases: the choice of units replaces the choice of base. The correct integral is $\int \log x \, \mathrm dx = x \log (x/e) + C$ (which works to any base in the standard unitless approach too). Can this all be made consistent? I don't know. But all you've done in your answer is start from inconsistent assumptions and derive a contradiction; that has no bearing on whether a consistent approach exists. – benrg Jul 13 '16 at 1:53
• @benrg interesting, I had to think a bit to see where the $1/e$ came from in your formula. Is there not value in deriving a contradiction from inconsistent premises? How else would one know they were inconsistent? I intended to be even-handed at the end of my post in saying there might be some other way to do it that might work, and if you think you can do it along the lines of what you describe then please go ahead and post it somewhere, I'd be interested to read it. – Nathaniel Jul 13 '16 at 2:46

You can't add dimensionless quantities willy-nilly for the simple fact that a particular dimensionless quantity represents a particular physical thing. Using the examples you gave, you can't add m/m to kg/kg because they represent different quantities; one is an angle and one is a partial mass content.

This can even go for dimensional quantities though. So you have a truck, which being a 3D object has a length, height and width. These are all measured in units of length such as meters, but they don't represent the same value. If I wanted to know how long five trucks are end to end, I couldn't use the width or height because those values aren't relevant to what I'm measuring or calculating - even though they are the same type of unit, I.e. of the same dimension.

So more so than just checking that the equation is dimensionally consistent or even unit consistent, for your library to make sure that dimensional manipulations really make sense it would have to know what the values actually represent and factor that in.

Think of it this way: is dozen dimensionless?

radians (1), degrees (0.017), and gradians (0.0157) are all like dozen (12).

Convention says that degree is for angles, and dozen is for eggs. No one goes around saying 562 degrees m/s/s, just like no one says 0.82 dozen m/s/s. They say 9.8 m/s/s. But they totally could. There's no fundamental mathematical or physical reason at play, just convention for communication purposes.

In other words, just treat 90 degrees as you would if you were given 1.8 dozen.

1. On the one hand, it's "just" a scalar quantity. If you multiply a length by it, you get a length. If you multiply a mass by it, you get a mass. (FYI, lest you think otherwise, the famed circumference/radius ratio can show up in some unexpected places.)
2. On the other hand, 3 dozen plus 4 units is not 7 dozen; you need to account for the difference somewhere.

Exactly how or where you do this is up to you. Just know that the difference is not one of dimension but rather magnitude.

I answered another unit based question very much related to this. In it, I pointed out that units are not a fundamental concept in the underpinnings of the universe. They are a concept which people have found helpful for relating the real world to mathematical equations we use to describe the world. Thus, their primary purpose is to be useful.

In mathematics, it's clear that radians are actually unit less ratios, which makes degrees actually a scalar of $\frac{\pi}{180}$. However, in many engineering disciplines, it is more useful to treat them as units in their own right, and only "drop" them when necessary, such as for us in a pre-existing sin or cos function.

Boost, arguably the premiere C++ library in existence, has a units system in it, Boost.Units. Boost.Units defines angular units which are not dimensionless. In fact, they define a planar_angle dimensionality, describing radians and degrees, and a solid_angle dimensionality, describing steradians. They are distinct dimensionalities in Boost.Units, even though in mathematics they are both ratios, so you are in good company for thinking about angles as not quite dimensionless quantities.

If I've understood your question correctly, you're looking for a case in physics where angles are added to any dimensionless but non-angular quantity. I don't think this happens too often, but it's possible.

For example, consider a gauge transformation of QED. The electron field transforms as $$\psi \to e^{ie\theta(x)} \psi$$ so $$\theta(x)$$ is an angle. But the electromagnetic field transforms as $$A_\mu \to A_\mu + \partial_\mu \theta(x)$$ so we are adding an angle to a nonangular quantity.

On a deeper level, the reason that you don't often see angles added to non-angles is because angles are only defined up to multiples of $$2\pi$$, while most non-angular quantities aren't. So you can't add an angle to a physical dimensionless quantity with a definite value. My above example only works because of gauge symmetry: $$A_\mu$$'s exact value is not physical, so it allows some degree of redefinition.

• I think that, seeing your answer, I'm more confused about whether there are legitimate cases where adding angles to non-angles is disallowed (like the rad + sr example), and if so why that doesn't imply dimensionality. – Nicolas Holthaus Apr 27 '16 at 1:23
• @knzhou You're wrong, $A_\mu$ isn't a dimensionless quantity, it has the right dimension, 1/L. – user20250 Apr 27 '16 at 1:23
• @Schlomo Yes, and $\partial_\mu$ has dimension 1/L. My point is that you can add $A_\mu$ and $\partial_\mu \theta$ even though the latter quantity has dimension "angle"/L according to the OP. – knzhou Apr 27 '16 at 1:25
• oh, that makes sense, my bad, I removed the downvote :) it wasn't as clear as it could've been, though – user20250 Apr 27 '16 at 1:27
• @knzhou the smartest ever made :) I guess I hadn't fully conceptualized that there were categories that weren't defined by dimension, and I think knowing that kind of clears things up. – Nicolas Holthaus Apr 27 '16 at 1:37

I personally think that one should not confuse an angle, say $\alpha$, and the ratio between $\ell$ the arc length of a circle and its radius $r$, at least from the outset. As far as fundamental concepts are concerned, angles need a new type of "thing" to be talked about; they are neither a length nor a time interval for example.

Moreover, from a geometrical point of view an angle is defined by the values of its sine and cosine, period. In that respect, the "angular dimension" could be conceptually thought as being a portion of a circle.

The fact that when someone looks at a circle close enough, i.e. for small angles, then an arc length is well approximated by a straight segment then gives a relationship of the kind $$\sin \alpha \approx \frac{\ell}{R}$$ The number (and not the unit) that will appear on the right hand side will be a fraction of the number $2\pi$. Now, if we name $\alpha_{tot}$ the total angle spanned by a circle and say that the above approximation is fine if e.g. $\alpha = \alpha_{tot}/{10^6}$, then we get that

$$\sin \frac{\alpha_{tot}}{10^6} \approx \frac{2\pi}{10^6}$$

It is then a matter of choice, I think, to decide that the natural unit for angles is that of radians so that $\alpha_{tot} = 2\pi \: rad$. Because of the above equality however this leads to important consequences:

• Radians have to be dimensionless
• The sine and cosine functions are the only functions in a calculator that care about the unit
• The equation $\ell = \alpha R$ is only valid if $\alpha$ is expressed in radians. So, in a way, it is not a complete equation in the dimensional sense because it becomes false if one expresses the angle unit in degrees for instance.

I'm not up to the task of rebuilding geometry from the ground up, but my intuition is that this is sensible and it can be done consistently. It seems to be true that logarithms (or inverse trig functions) take you into a different (transcendental) numerical realm, and exponentials (or trig functions) take you back, and adding quantities from different realms doesn't work. That's exactly the situation in which units are useful.

Calling it "angle" is not general enough, because it also applies to the logs of real numbers. The number of bits of information in a system is the base-2 logarithm of the number of equiprobable states, and "bit" is often used as a unit for that. Likewise, "nat" is used for the base-e logarithm. If this is all consistent, then "nat" and "radian" are the same unit.

If the logarithm has dimension, then it no longer has a base: the choice of unit replaces the choice of base. The baseless logarithm satisfies $\frac{\mathrm d}{\mathrm dx} \log x = ə/x$ and $\int \log x \, \mathrm dx = x\log x - əx + C$, where $ə = \log e = \lim_{n\to\infty}n\log(1+1/n) = 1\,\text{rad}$. Note that these equations also hold for ordinary logarithms to any base, even though they never mention the base—just like any other dimensionally correct equation. The factors of ə may look odd, but I think that's just a lack of familiarity. No one bats an eye when $\pi$ or $c$ shows up all over the place.

Arc length probably shouldn't be just $r\theta$, because that has dimensions of $\text{length}\cdot\text{angle}$. Of course you could write $r\theta/ə$, but I think a nicer approach is to generalize to arbitrary Gaussian curvature $k$. The dimensionless formula is then $r\theta\,\text{sinc}\;r\sqrt{k}$, or, for a solid angle $\Omega$ on a $d$-sphere, $\Omega(r\,\text{sinc}\;r\sqrt{k})^d$. This works without modification if you give $k$ dimensions of $(\text{angle}/\text{length})^2$, which seems sensible, and the dimension of the result is then $\text{length}^d$ without the need for any extra factors.

Euler's formula becomes $\exp iə\tau = 1$. (Or $\exp iə\pi = -1$, but as long as we're reconstructing mathematics we may as well institute some other reforms.)

Given that you often see "bit", "nat", "rad", "deg" etc. as ad hoc units, it's odd that it has never been formalized (to my knowledge). Of course, mathematicians have never cared for units. But physicists love them.

• Well, there have been attempts to formalize units. The SI has seen some debate on this, and the use of these "dimensionless" units are formalized in a few standards, albeit in a somewhat inconsistent fashion. I like the way of thinking expressed in this answer. – qman Feb 14 '19 at 0:17
• I don't think I'd seen this answer before. I like this probably better than my own answer - it gets a +1 from me. – Nathaniel Feb 15 '19 at 4:35

Here is a pragmatic answer from someone who has actually written comprehensive unit libraries many times in many languages (everywhere from Mathematica to Simulink to Excel) for many purposes over many years. So both of these bullet points are based on my personal experience:

• If you're making a general-purpose unit library intended for lots of people doing lots of things, I suggest that you should NOT make angles a unit, because there are lots of "gotchas", where typically you need to multiply or divide some random quantity by "radians" in a context where doing so makes no intuitive sense, and it will become a point of confusion and frustration for your users.
• If you are making a unit library for a particular application where angles or solid angles come up frequently, where the physics formulas are relatively simple and narrow-domain, and where only you or your close colleagues are using the code, then I DO recommend making angles a unit, because the extra error-checking benefit outweighs the occasional confusing "gotcha". (The "gotchas" will be limited in number, and you'll be in a position to learn when to expect them and to intervene.)
• I'm definitely more on the second bullet side of the fence. One of the biggest issues is the lack of a good reference document that carefully goes through the points of concern and the problems of [for example] the mathematical abstractions (complex numbers and exponential notion, etc). It's still a +1 though! – Philip Oakley Aug 20 '18 at 21:04
• This seems to be the only answer that actually respects the fact that the question is about writing a software library. I'd like to express my gratitude to you for actually answering the question. – DanielSank Feb 15 '19 at 6:25

Think in terms of coordinate transforms as a generalization of unit conversions.

When converting between units, you are doing a very simple coordinate transform on the, single, corresponding physical dimension:

Multiplication*.

When adding two angles, you are really dealing with, for example, a polar coordinate system. The underlying territory (physics) remains the same but the map changes when you try to add two angles together. The new map is still a two dimensional one with Cartesian grids, but it is a warp of the old map -- like a Mercator Projection of Earth. All of the concerns about the dimensionality of expressions like "tan(angle)" are then hidden in the coordinate transforms which are, themselves, dealt with as a generalization of units conversions.

With polar coordinates there is, in addition, a new twist in that one of the dimensions is finite -- it wraps around. That means the map is actually a cylinder of infinite length but finite circumference. Modulo arithmetic then becomes key to the notion of commensurability.

As for vector quantities like "height-meter" and "length-meter" -- they involve vector operations. Dimensional analysis can be applied to vector quantities and their operations just as it can be to scalar operations.

*Converting between temperatures is multiplication with an offset but it is still a coordinate transform on a single dimension.

• For whatever reason my mind doesn't really work this way. Ironically, I actually wrote my initial unit conversion library as a way to wrap my head around how I could generalize coordinate conversion problems (primarily geospatial). – Nicolas Holthaus Apr 28 '16 at 19:46
• Well then you are, ironically, closer to solving the problem than you think. How were you doing your geospatial coordinate conversions? What conversions were you doing? – James Bowery Apr 28 '16 at 22:06
• Really cool way to think about the issue. It explains easily, and thoroughly why angles (in radians) are different from energy (in $N\cdot m$), and different from torque (in $N\times m$). It all down to the coordinates and their transformations... This answer should get a lot more upvotes imho. – cmaster - reinstate monica Dec 21 '18 at 18:21

Thing is that the very concept of "dimensions" is unphysical in general, it's a human construct that was invented to allow people to do computations when not being able to compare different quantities for whatever reason (insufficient knowledge, wanting to use incompatible units in the same equation etc.). In reality, everything really is dimensionless, because what would it mean for some physical quantity to be fundamentally dimensional? Could you do an experiment to demonstrate this? Obviously not, so the notion of dimensions is unfalsifiable, it's just a convention that we stick to (when we don't use natural units).

So, an angle is indeed dimensionless, but fundamentally so are lengths, time intervals, masses temperatures etc. etc. Now, as pointed out in the other answers, adding up an angle to some dimensionless quantity won't always make sense, but then the same thing can be said about lengths, time intervals, masses etc. While you can use natural units by putting $\hbar = c = G = 1$ and discard any notion of dimensions, it still won't make sense in general to add up some random expressions for physical quantities.

But how come dimension analysis can work if the whole notion of dimensions is bogus? The reason is that it can appear from a bona fide scaling argument. One should consider that with the constants $\hbar$, $c$, and $G$ available no dimensional argument can be set up, as you can always convert from one dimension to any other using these constants. So, dimensional analysis always has to come with some additional ad hoc rule depending on the problem at hand to not use one or more of these constants.

What does it mean to impose a rule that bars you from using $c$ to convert lengths into time intervals and vice versa when doing dimensional analysis? You could say that this means that relativistic effects can be ignored. But that means that when using natural units we could rescale time intervals relative to lengths by introducing a dimensionless scaling constant $c$ which appears exactly where we normally put the speed of light in equations and then consider the scaling limit where $c$ is sent to infinity. This is then how should re-interpret dimensional analysis.

Now scaling arguments are of course not limited to lengths, time intervals etc., you can come up with scaling arguments that involve angles, e.g. when doing calculations in the limit of small angles. But otherwise, when angles are not small, there is no obvious scaling limit one is working at, therefore the notion of assigning a dimension to an angle is as unnatural as not using $c = 1$ units in special relativity.

• "it's a human construct that was invented to allow people to do computations when not being able to compare different quantities for whatever reason" - This is exactly what I was trying to do. To me the more clear answer was that we're not very precise with what dimensions really are, and don't apply the rules consistently. To a layman, dimensional analysis seems like the perfect problem for a computer, since it seems 100% rule based and easily defined. Which it is, except when its not. – Nicolas Holthaus Apr 28 '16 at 21:26
• The idea of a 'dimension' (with or without a name) is that there is an orthogonality, or independence, between two measures. It has been convenient that most of the SI Dimensions (SI is meant to be non-relatavistic) are of single dimensional spaces (Mass,Time, mole, Temperature, Current, luminous intensity), however Length is three dimensions all squezed into one SI Dimension and there the fun begins! If we believe in orthogonality, and hence independence of measurements, then that means that dimensions become a reality - we just need to name them correctly!. – Philip Oakley May 2 '16 at 16:04

The Dimensions of Angle depend on one's viewpoint and purpose (of using dimensions).

Likewies the Units (and implicitly scale) of angle also depend on the local customs and practices that support those viewpoints and purposes.

Personally, I want Angles to be a dimension, particularly for error detection and correction in scientific and engineering calculations. There are compptational tools that do include dimensional checking and prediction, such as MathCAD, Mathematica (add-on), Maple, etc. but they are not as common as they could be.

Those that use basic (pure numbers) numeric calculation tools often don't see the problem, so the arguments get heated.

Likewise, historically, when pencil and paper prevailed, the determination of Units and Dimensions was independent of the arithmatic so similar issues occurred. The ability to include Unit scaling and Dimensions in the symbolic calculations was never taken up.

For mathematicians, it is normally important to achieve a level of abstraction in the applicability of the mathematical theories. They have a generic concept 'length', which others then confuse with the every day notions of Length as measure by a ruler (or equivalent).

It should be noted that Length is not actually a dimension. Rather it is a metric of the 3D space. If Length was just a 1D (real) space, then there would be no Angle problem, as there would be no 6-degrees of freedom issue for bodies within the Length space (the second 3 degrees are the angles!).

Complexification could be an issue (for a 1D Length space), but one would have to ask "Where does that orthogonal imaginary dimension reside?".

On the presumption that the disambiguation of result reporting and computation did become re-allowed (in SI) via "supplementary Dimensions", then it would greatly reduce the number of errors in engineering and science, and improve the computation tools thet start to use them.

In a few places there would need to be extra 'education' such that Torque becomes defined as Newton metres per radian, and hence distinct from Work (Newton metres). Bad habits take a long time to unlearn!

There is a good review article on the issues around getting the SI ready for the automation age at http://iopscience.iop.org/0026-1394/47/6/R01/ [stacks.iop.org/Met/47/R41].

There is another paper by Hall on the needs of software systems"Software Support for Physical Quantities" (was http://mst.irl.cri.nz/Portals/5/enzcon.pdf, available at https://www.researchgate.net/publication/236673054_Software_support_for_physical_quantities)

I have also made proposals to Mathcad, but the document is not currently visible https://www.ptcusercommunity.com/docs/DOC-1501

• Great points. Up until I actually attempted to program it, I had no idea that there was such a problem automating SI. The first linked article should be a must read for anyone who doesn't understand why I (or others) were confused by this. – Nicolas Holthaus May 2 '16 at 14:11

No.

Beside the already mentioned examples here some real problems with different dimensionless quantities and why they cannot be mixed. :(

Starting with angle velocity units:

• Hertz (Hz) for frequency $f$ measured in periods per seconds (which is equivalent to $\frac{2 \cdot \pi}{s}$)

or

• Angular frequency $\omega$ measured in $\frac{rad}{s}$

You can choose freely if you calculate the photon energy with $hf$ or with $\hbar \omega$. If you peruse books, you will find out to your dismay that many books using frequency values do not mention if they mean angular frequency or normal frequency (especially theoretical works about optics and vibrations in general).

It gets even worse with the steradiant:
The Gaussian unit system thought it was a great idea to eradicate the inverse factor $4 \cdot \pi$ in Coulomb's law. The problem is that the factor must occur if you are integrating charges over a closed solid angle, so erasing the factor means that the Gaussian system sets the complete solid angle, a full sphere equivalent to 1. This causes endless pain if you try to handle luminosity equations in the Gaussian system. The other problem is that SI and Gaussian units cannot be easily converted. In Gaussian units polynomic equations retain the factor 1 while the SI units need to adjust the equations to $(4 \cdot \pi)^n$.

• Remember Hz (Hertz) just means 'per second'. There is no implicit, nor explicit expectation of what is to be on the top line. Further, it's already acknowledged by bipm (the keepers of SI) that this is a Safety Issue, and they they have to create additional units for the radio active rate measurements bipm.org/en/publications/si-brochure/section2-2-2.html – Philip Oakley May 2 '16 at 15:27
• @PhilipOakley The document you are citing says explicitly " The SI unit of frequency is given as the hertz, implying the unit cycles per second", so I have no idea why you are claming it just "means 'per second'. " – Thorsten S. May 2 '16 at 21:10
• It's that magic word "implying", i.e. it (the standard) doesn't actually say that, just that it's a common practice presumption. As others have noted, angular (radian) frequency is in Hertz, just as rotation frequency (which you/the document quotes), except for the missing 2.pi factor. – Philip Oakley May 2 '16 at 22:42

Dimensionless is not a dimension, but rather the lack of it. Your made-up rule #1 would not be violated because it applies only to quantities that have dimensions. If you also want to handle quantities that lack dimension, then you will have to know what were the dimensions, before they "cancelled out." For example: if you have a quantity that has l/l and another that has m/m, then you know they are not "compatible" even though ( after their dimensions cancel) they appear to be. If you can't get the prior history, then simply "flag" the result as, "result may not be valid because dimensionless quantities are involved."

As far as angles are concerned, they do have dimensions (degrees, radians, steradians). There should be no problem adding (or subtracting) angles with the same dimension. So, as long as a dimension is "attached" to each quantity, there should be no problem "handling" it.

• I found your first two sentences helpful for my understanding. The rest is interesting, but probably easier said than done. If you get a formula from literature or wikipedia, I'm not sure that all the information about the derivation/past state will come with it, and many dimensionless units may have been mixed together into one constant value, and it could be difficult/impossible to separate back into it's component dimensionless values/units. The warning is an interesting idea, but I think the percentage of false-positives might render it unhelpful. Also... – Nicolas Holthaus May 4 '16 at 20:18
• ... I'm not sure there's a consensus that degrees/radians/steradians are dimensions, and not just unit conversions. I agree (obviously given the question) that angles are intuitively dimensions, but mathematically they're not unless you redefine all of your transcendental functions. As an actual point of fact, I do "handle" degrees/radians/steradians by saying that those are the dimensions, but that decision does have some undesirable side effects. – Nicolas Holthaus May 4 '16 at 20:22

The question of whether we use radians or degrees to quantify an angle is not a question of dimensions, it is a question of which definition we use for an an angle.

You can see this answer for a longer explanation. But basically, think for a moment about matter density. This may have dimensions of $\frac{\text{kg}}{\text{m}^3}$ or $\frac{\text{lb}}{\text{cm}^3}$ (or many other options). But these dimensions don't change the fact that matter density is always defined as $\frac{\text{mass of matter}}{\text{volume of matter}}$. Alternatively, we could have defined matter density to be $\frac{\text{mass of matter}}{5\times(\text{volume of matter})}$. This would have been just as useful and would contain the same information as the more standard definition, but it would mean that we would need to carry around with us all these $5$s in our formulas. It is much more natural to just use $1$s instead of $5$s in our definitions. There is no good reason to have a $5$ or any other number. (NOTE: mathematically, this alternative definition could give numerical quantities for matter density which are identical to the standard definition if we use other dimensions, but for the sake of this explanation you can see this as just a mathematical curiosity, or accident).

With angles, there actually are good reason to have multiple definitions. The basic reason for this is that there is a very natural and "special" angle that is very useful - the angle of a full rotation around a circle. (In contrast, there is no natural "special" matter density, besides the matter density of vacuum...). Thus, the first good definition of an angle will involve only $1$s: $\text{angle}=\frac{\text{circle arc length}}{\text{circle radius length}}$. This definition is good because then we don't need to carry around with us any extra annoying factors when we use functions such as $\sin$ (unless we redefine these functions accordingly, but this will lead to an endless chain of carrying around annoying numbers in other functions). The drawback of this definition is that the special angle, that of a full rotation around a circle, turns out to be an ugly irrational number with a never-terminating decimal expansion: $6.28318530718...$. The second good definition solves this problem by defining the angle (approximately) as $\text{angle}=\frac{\text{circle arc length}}{\text{circle radius length}}\times{57.29577951308}$. This makes the special angle be $360$, which is very nice because it is an integer, and also some other important angles turn out to be integers (the straight angle, the right angle). But on the other hand, this definition is very unnatural and incompatible with our definitions of other functions (such as $\sin$). (this answer demonstrates this incompatibility)