Group Abstract Group Abstract

Message Boards Message Boards

0
|
19.2K Views
|
10 Replies
|
3 Total Likes
View groups...
Share
Share this post:

Radians as Dimensionless Unit?

POSTED BY: Eric Hudson
10 Replies

First of all, thanks very much for the code - this essentially solves my problem (I don't like that it doesn't yell at me if I try to "drop" units that shouldn't be dropped, but the original function doesn't do that either so I'll just have to add that functionality). It's both obvious in retrospect (which is good, since it is easy to explain to students!) but also very clever, so thank you for that!

In case there are any non-mathematica experts who are as confused by how it could work as I was, I think you must have changed your notation part way through (or I am still confused). To make it work I had to rewrite it as:

qmr[q_, unit_] := QuantityMagnitude[q/Quantity[1, unit]]

Is there a better/more standard way of doing this with your args__ argument?

As for the reference, thank you. I had read a longer (earlier) paper by the same authors (the one I referenced) where it seems that they were making a slightly different case - that radians are the natural (coherent) unit that should be treated as dimensionless (and that Hz should be treated as cycles/second and not 1/s). But I was wrong in my belief that this opinion was anywhere near unanimous - I'm sorry about that.

So thanks again, Eric

POSTED BY: Eric Hudson

Besides the interesting discussion about radians considered or not as dimensionless units (just read about why they shouldn't be dimensionless [1]), you can have your own simple QuantityMagnitude that effectively normalizes radians:

quantityMagnitudeRadians[q_, unit_] := QuantityMagnitude[q/Quantity[1, unit]]

This would work for all these cases:

In[64]:= quantityMagnitudeRadians[5, "Radians"]
Out[64]= 5

In[59]:= quantityMagnitudeRadians[Quantity[4, "Radians"], "Radians"]
Out[59]= 4

In[60]:= quantityMagnitudeRadians[Quantity[4, 1/"Seconds"], "Radians"/"Seconds"]
Out[60]= 4

In[61]:= quantityMagnitudeRadians[Quantity[4, "AngularDegrees"], "Radians"]
Out[61]= \[Pi]/45

In[62]:= quantityMagnitudeRadians[Quantity[4, 1/"Seconds"], "Radians"/"Seconds"]
Out[62]= 4

In[63]:= quantityMagnitudeRadians[Quantity[4, "AngularDegrees"/"Seconds"], "Radians"/"Seconds"]
Out[63]= \[Pi]/45

[1] https://iopscience.iop.org/article/10.1088/1681-7575/ab27d7

Posted 6 years ago

I too am interested in hearing from others. I'm not an expert in metrology by any measure. I've simply had to work with units in practice. From what I've read, there is still a bit of discussion going on about the most appropriate treatment of the angle measures (2D/3D) and the SI derived unit of Hertz. In my personal case, I see what I would call circular arguments (eg, radians has the unit-like symbol rad, but it is dimensionless being equivalent to m m^-1). If it is dimensionless, why does it have a unit?

In the case of Hz, this SI derived unit is defined to be equivalent to s^-1, but radian/sec is also defined to be equivalent to s^-1. That seems to be an ambiguity. Also, if I'm counting the rate that some event is occurring, I normally think that using Hz or s^-1 are acceptable ways of describing that rate. That rate may have no connection to a rotational/wave process. So, it would seem inappropriate to apply an angular measure.

Interesting discussion. My guess is that WL had to make some practical design decisions about computational use of units/quantities. The best practice that I've found is to be consistent with handling units/quantities. And, using units/quantities is not the most efficient (wrt, execution time) way to perform a every computation. I hope someone from WRI can provide some additional information.

POSTED BY: David G
POSTED BY: Eric Hudson

In my humble opinion (I have not thouth a lot about this), radians are a unit for measuring angles, just like degrees. They are independent of the units for length (metres, feet etc) and time (seconds, years etc), but they depend on an arbitrary choice of angular dimension, which could be done continuosly. Hertz means cycles per second, rather than radians per second. Cycles are more reasonably dimensionless because they are a matter of counting discrete objects, for which there is an obvious, privileged choice of unit. I am interested in hearing more informed opinions on this.

POSTED BY: Gianluca Gorni
POSTED BY: Eric Hudson
Posted 6 years ago
POSTED BY: David G

Thanks for the quick response. I probably should have given a better example. This works:

QuantityMagnitude[Quantity[1, "AngularDegrees"/"Seconds"], 
 "Radians"/"Seconds"]

but this doesn't:

QuantityMagnitude[Quantity[1, 1/"Seconds"], "Radians"/"Seconds"]

Either way, the point is that you should be able to convert a dimensionless quantity to a quantity with units of Radians, because Radians are unitless (they are defined as the ratio of two lengths)

POSTED BY: Eric Hudson

QuantityMagnitude acts on Quantity objects:

In[1761]:= QuantityMagnitude[Quantity[5, "AngularDegrees"], "Radians"]

Out[1761]= \[Pi]/36

I have never tried NDSolve with quantities.

POSTED BY: Gianluca Gorni
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard