# Why do infinitesimal rotations commute but finite rotations do not?

1. ### MuIotaTau

82
In K&K's Intro to Mechanics, they kick off the topic of rotation by trying to turn rotations into vector quantities in analogy with position vectors. It's quickly shown, however, that rotations do not commute, making them rather poor vectors. They then show, however, that infinitesimal rotations do commute.

The mathematical reasons for this make sense to me, but I'm not sure why finite rotations shouldn't commute. After all, we can construct a finite rotation by summing an infinite number of infinitesimal rotations, all of which commute, so why do finite rotations lose this property? Does this have any relationship with exact and inexact differentials?

2. ### Andy Resnick

5,751
There are likely several explanations. Mine is that rotation is a nonlinear transformation and infinitesimal rotations are the linear approximation.

3. ### MuIotaTau

82
So then angular velocity commutes only approximately? It makes sense, I just want to make sure I'm getting the gist of it.

4. ### voko

Angular velocity is a real vector. Of all the real vector operations typically defined, all except the cross product are commutative; the cross product is anti-commutative, and that is true for all real vectors, not just angular velocity, and that is true exactly, not approximately.

I am sure you know all that, so you must be talking about something else. Define carefully what you are talking about.

### Staff: Mentor

The issue isn't angular velocity so much as it is rotation. Angular velocity ω is a vector in the sense that it can be multiplied by a scalar and in the sense that the angular velocities add as vectors. However, unlike translational velocity where ∫vdt describes the change in position, you cannot use ∫ωdt to describe the change in orientation. The orientation of some object in three dimensional is not a vector in the sense of "vector" as used in physics. It is instead a rotation matrix. Given two rotation matrices A and B, A*B ≠ B*A in general. Matrix multiplication doesn't commute.

For example, a rotation about the x axis by 90 degrees followed by a rotation about the z axis by 90 degrees results in a very different orientation than rotating about z by 90 degrees and then rotating about x by 90 degrees. However, if you make those angles small, the difference between rotating about x followed by rotating about z versus rotating about z versus rotating about x becomes smaller and smaller. The difference between A*B and B*A approaches zero much more quickly than do the rotation angles as the rotation angles approach zero. A*B = B*A (matrix multiplication does commute) in the limit of infinitesimal rotations.

6. ### dauto

The commutation of two infinitesimal rotations is an infinitesimal of a higher order. When calculating the addition of angular velocities that infinitesimal of higher order will be in the numerator and will vanish faster than the numerator, so the addition of angular velocity commutes even though the addition of rotations doesn't.

7. ### MuIotaTau

82
I'm sorry if I'm being unclear, I'm sick and tired so I'm a bit foggy. Let me try to lay out what I meant more clearly.

We often model very small quantities as being infinitesimal even though they aren't necessarily actually infinitesimal, so far as we can tell. For instance, we can model very small translational motions as infinitesimals displacements. We can then, for instance, divide this displacement by the infinitesimal time interval over which it takes place, giving us the velocity vector. This is essentially just scaling the infinitesimal displacement vector ##\mathrm{d} \vec{r}## by an infinitesimal scalar ##\frac{1}{\mathrm{d} t}##, giving us ##\vec{v}##. So in some sense, we've approximated small motions by infinitesimals, but the approximation is of no consequence with regards to commutativity of translations because both finite and infinitesimal translations commute. In other words, whether we approximate them as infinitesimals or treat them as finite, they commute.

With rotations, however, this is different. We can carry out the same process of approximating the rotation as infinitesimal and scaling by the infinitesimal time interval over which it takes place, giving us the angular velocity vector. My confusion stems from the fact that, unlike with translational motion, infinitesimal rotations commute, while finite rotations do not. So if rotations can only be approximately described as infinitesimal, then it's only in an approximate sense that they commute, right? And because angular velocity is just a scalar multiple of infinitesimal rotations, then angular velocity, too, must only approximately commute, right?

In other words, are there measurable higher order deviations from our linear approximation of rotations, or is angular velocity exactly a vector? (Or is my confusion just a result of me being too sick to think clearly? ;) )

This definitely makes things somewhat more clear, but I guess I'm just not able to make a clear distinction between what we can and cannot represent as a vector. Is rotation unique in this way?

8. ### voko

Any rotation can be represented as a vector. This is something known as Chasles' theorem. Angular velocity is naturally a vector in this case.

9. ### AlephZero

7,298
Part of the confusion may be because if you define "rotation" for a general n-dimensional space, it turns out that 2 and 3 dimensions (and also 4) are special cases.

But if you are
you might not want to go here! http://en.wikipedia.org/wiki/Special_orthogonal_group

10. ### voko

One possible explanation is via Rodrigues' rotation formula.

I will rewrite the equation given in the article in terms of vector ##\boldsymbol r##, the displacement: $$\boldsymbol r_{\text{rot}} = \boldsymbol r \cos \theta + \left( \boldsymbol k \times \boldsymbol r \right) \sin \theta + \boldsymbol k \left( \boldsymbol k \cdot \boldsymbol r \right) \left(1 - \cos \theta \right)$$ Here, ## \boldsymbol k ## is the unit vector that represents the direction of the rotation axis, ## \theta ## is the rotation angle, ## \boldsymbol r ## is the vector before rotation, and ## \boldsymbol r_{\text{rot}} ## is the vector after rotation. Then $$\boldsymbol r_{\text{rot}} - \boldsymbol r = \boldsymbol r \left( \cos \theta - 1 \right) + \left( \boldsymbol k \times \boldsymbol r \right) \sin \theta + \boldsymbol k \left( \boldsymbol k \cdot \boldsymbol r \right) \left(1 - \cos \theta \right)$$ When ## \theta ## is small, this simplifies (radically) to $$\boldsymbol r_{\text{rot}} - \boldsymbol r \approx \boldsymbol r \left( 1 - 1 \right) + \left( \boldsymbol k \times \boldsymbol r \right) \theta + \boldsymbol k \left( \boldsymbol k \cdot \boldsymbol r \right) \left(1 - 1 \right) = \Delta t \left( \boldsymbol \omega \times \boldsymbol r \right)$$ where ## \boldsymbol \omega = {\theta \over \Delta t} \boldsymbol k ## is angular velocity. So $${\boldsymbol r_{\text{rot}} - \boldsymbol r \over \Delta t} \approx \boldsymbol v = \boldsymbol \omega \times \boldsymbol r$$ where ## \boldsymbol v ## is velocity.

In case the simplification above seems unjustified, observe that ## \theta ## is a function of time (increment) ## \Delta t ##, so letting ## f(\Delta t) = \cos \theta(\Delta t) - 1 ## we have Taylor's expansion $$f(\Delta t) = f(0) + f'(0) \Delta t + f''(0) {\Delta t^2 \over 2} + ...$$ Because we are going to divide that by ## \Delta t ## and then let ## \Delta t \to 0 ##, all the terms except the first two will come to zero. But ## f(0) = \cos \theta(0) - 1 = \cos 0 - 1 = 0 ##, and ## f'(0) = -\left( \sin \theta(0) \right) \theta'(0) = -\left( \sin 0 \right) \theta'(0) = 0 ##. So the terms with ## (\cos \theta - 1) ## vanish. Similarly, ## \sin \theta ## can be shown to yield ## \theta'(0) ##, which is simply the magnitude of angular velocity as expected. So the result is exact.

### Staff: Mentor

It's important to distinguish between rotation (orientation) and rotation rate (angular velocity). Think of them as the rotational analogs of position and velocity. They are different concepts. (For the mathematically minded, rotation is a member of the Lie group ##SO(3)## while angular velocity is a member of the Lie algebra ##\mathfrak{so}(3)##.)

There are a number of schemes by which rotation in three dimensional space can be represented by a set of three numbers, but none of these schemes constitute a vector. Vector addition is commutative. Rotations in three space don't commute. Pick up a book, rotate it by 90 degrees about axis A, then rotate by 90 degrees about some other axis, call it axis B. You will get a very different orientation if you reverse the order of the operations (rotate about B by 90 degrees, then about A by 90 degrees).

12. ### Stephen Tashi

4,273
Is it? The fact that something can be represented as two operations doesn't necessarily imply the thing is a vector.

13. ### voko

There is a contradiction only if you insist that consecutive rotations must be represented by addition. I do not think there is any reason to postulate that. It is easy to see that vectorial addition is a poor choice for consecutive rotations, and not even because "rotations don't commute". Take two "identity" rotations ## 2 \pi \boldsymbol i ## and ## 2 \pi \boldsymbol j ## (the direction of the vector is the axis of rotation, the magnitude is the angle in radians). Each leaves the object in its original orientation, so they certainly do commute. Yet their sum is ## 2 \pi \boldsymbol i + 2 \pi \boldsymbol j = 2 \pi (\boldsymbol i + \boldsymbol j) = 2 \sqrt 2 \pi \boldsymbol u##, where ##\boldsymbol u = (\boldsymbol i + \boldsymbol j) / \sqrt 2 ## is a unit vector, meaning the object is rotated, which is obviously wrong.

But, as I said, we do not have insist that consecutive rotations must be represented by addition, even though we would obviously like to have that.

Note there is no contradiction with the definition of the vector space. We require that for vector space ##X##, we must have ##\forall a, b \in X \to a + b \in X##. While ##a + b## is not necessarily the result of two consecutive rotations ##a## and ##b##, it is some possible rotation.

### Staff: Mentor

There's a lot more to vectors than closure of the group operation for vectors. A vector space V over a field F has two binary operations subject to a small number of constraints. I'll call those operators  and ♢ instead of + and * just to avoid implying the normal connotations with "addition" and "multiplication". These operations are closed: ##a\,\Box\,b \in V## for all a,b in V and ##s\,\Diamond\,a \in V## for all s in F, a in V. As noted above, that's not all there is to what it means for V to be a vector space. In particular, V is a vector space over F if
1.  is commutative: ##a\,\Box\,b = b\,\Box\,a##.
2.  is associative: ##a\,\Box\,(b\,\Box\,c) = (a\,\Box\,b)\,\Box\,c##.
3.  has an identity element ##e##: ##a\,\Box\,e = a##.
4. Every element in V has an inverse with respect to : ##a\,\Box\,a^{-1} = e##.
5. ♢ is associative with field multiplication: ##s\,\Diamond\,(t\,\Diamond\,a) = (s\cdot t)\,\Diamond\,a##.
6. ♢ distributes over : ##s\,\Diamond\,(a\,\Box\,b) = (s\,\Diamond\,a)\,\Box\,(s\,\Diamond\,b)##
7. ♢ distributes over field addition: ##(s+t)\,\Diamond\,a = (s\,\Diamond\,a)\,\Box\,(y\,\Diamond\,a)##
8. The field's multiplicative identity is an identity for ♢: ##1\,\Diamond\,a = a##.

Rotation in three space does not commute and scalar multiplication does not commute over a composition of rotations. (Properties 1 and 6). Rotation is not a "vector".

15. ### voko

3D rotations and 3D vectors can be mapped 1:1. The addition and multiplication operations in the 3D vector space induce addition and multiplication operations in the rotation space. With those induced operations, rotations are vectors. It works like this: for any two rotations, there are two vectors, and the sum of those vectors is a vector that corresponds to some rotation. Unless you define the operations in the rotation space in some other way, you cannot prove that rotation is not a vector.

I believe your definition of addition of rotations is the rotation that corresponds to the result of the addend rotations done one after another. Then you can trivially prove that rotations with that operation is not a vector space. They are the SO(3) group that you mentioned, which is not isomorphic with the 3D vector space. I am not debating this.

I do say, however, that rotations can be represented by vectors usefully, and the Rodrigues formula I mentioned previously is an example of that. Addition of such vectors, however, is meaningless physically.

16. ### Stephen Tashi

4,273
If a physical object "is" a vector, then don't we want it to remain the same physical object under a linear transformation of coordinates?

If a thing can be represented with coordinates that are an n-tuple of numbers, one can define n-tuples of numbers to be a vector space in the usual manner. Is this an argument that anything that can be so coordinatized is a vector? If so, why are pseudo-vectors needed in physics?

### Staff: Mentor

No, they can't. There's the 3D analog of the 2D wrapping function that gets in the way. It's a one to many mapping, not one to one.

My main objection to your post #8 is the word "as": "Any rotation can be represented as a vector." You should have used "by" instead: "Any rotation can be represented by a vector." That merely means that rotations in three space can be represented by three parameters.

There are lots of ways to parameterize rotations in three space using only three parameters: Euler angles, Rodrigues parameters, modified Rodrigues parameters, single axis rotation, etc. The last of these is what I think you are writing about. Given some vector ##v## in ##{\mathbb{R}}^3## and some representation of ##SO(3)##, there's an exponential map that maps vectors in ##{\mathbb{R}}^3## into that representation of ##SO(3)## (i.e., ##\operatorname{expmap}: {\mathbb{R}}^3 \to SO(3)##). For example, using the special orthogonal matrices to represent ##SO(3)##, the operation ##\exp(\operatorname{Sk}(v))## works quite nicely, where ##\exp## is the matrix exponential and ##\operatorname{Sk}(v)## is the skew symmetric cross product matrix generated by ##v##.

Last edited: Feb 24, 2014
18. ### voko

I am not sure what you mean by that. Is that that adding ##2 \pi## to any rotation angle is essentially a no-operation?

You are correct in saying that by "represented as/by a vector" I meant "represented by three numbers" in general and a single axis rotation in particular, where the vector-ish representation has a geometrical meaning as well.

### Staff: Mentor

Basically, yes. You said that "3D rotations and 3D vectors can be mapped 1:1." (Post #15). That's simply not true. The mapping from 3D rotations to vectors is one to many, not one to one.

There's a difference between "as a vector" and "by a vector", at least to me. The former implies all the baggage that goes along with vectors. In particular, commutativity of vector addition and distributivity of scalar multiplication don't hold for rotations in RN (rotations in 2D space excepted). The latter merely means I can take advantage of Euler's rotation theorem to describe a rotation in three space. (Note well: That N parameters are needed to describe a rotation in N dimensional space only applies to rotation in three dimensional space. Only one parameter is needed to describe a rotation in two dimensional space, six are needed to describe a rotation in four dimensional space, and in general N*(N-1)/2 are needed to describe a rotation in N-dimensional space.)

20. ### voko

I do not see why this needs to be the case. Rotations about a fixed axis, or 2D rotations, can be mapped to real numbers 1:1, at least formally. You admit that as well. Hence rotations in 3D can be mapped to 3D vectors 1:1. I do not think we are required to map rotations to vectors modulo ##2 \pi ##. To avoid confusion, I again mean the mapping with the rotation group structure induced by that of the 3D vector space, not the SO(3) structure.

I think I have explained by now that what I mean involves mapping between the two sets that does not preserve the SO(3) structure and I do not think we disagree in any significant way on any detail of that. But I find your distinction between "by" and "as", as well as the reference to the "vectorial baggage" puzzling. Vectors do not have any intrinsic SO(3) baggage, hence I do not see why a mapping that does not preserve that is somehow less vectorial than one that would.

Know someone interested in this topic? Share a link to this question via email, Google+, Twitter, or Facebook
Draft saved Draft deleted