Given a $3D$ rotation matrix $R$ in a basis $B$. Can we consider $R$ as being unique in $B$? Is there any other $3D$ rotation matrix $R'$ representing the same $3D$ rotation in $B$? How could I prove that?

Note: I do not consider the rotation matrix $R'$ with inverted axis and angle as being the same as $R$.

  • $\begingroup$ The two-by-two case is not too difficult to show. Higher-dimensional cases hinge on factoring rotation matrices as products of modified versions of the identity, where the cosines and sines of angles are in the appropriate places... $\endgroup$ – J. M. isn't a mathematician Feb 3 '12 at 8:49
  • 1
    $\begingroup$ A rotation is a particular linear transformation. Given a basis (is that what you mean by the world frame?), the matrix for that particular transformation in that basis is uniquely defined, i.e. the mapping from linear transformations of ${\mathbb R}^n$ to $n \times n$ matrices over $\mathbb R$ is one-to-one and onto. $\endgroup$ – Robert Israel Feb 3 '12 at 9:03
  • $\begingroup$ Doesn't change much. You know what Euler angles are? If you're not fond of those, how about pitch-roll-yaw? $\endgroup$ – J. M. isn't a mathematician Feb 3 '12 at 9:26
  • $\begingroup$ Yes I know Euler angles. I am writing conversions between rotation matrices, quaternion, axis-angles and Euler angles. I want to ensure that for one 3D rotation, I compute ALL Euler angles solutions. But first step is to check that for a specific rotation in 3D, there is one and only one associated matrix R in B. PS: I don't see any difference between pitch-roll-yaw and Euler angles actually;) PS2: I will handle gimbal lock related solutions later. $\endgroup$ – Korchkidu Feb 3 '12 at 12:05
  • 1
    $\begingroup$ Actually the rotation matrix $R'$ for the negated axis and angle (that you don't consider the same as $R$) is in fact the exact same matrix as the original $R$. So the matrix representation is even more unique than the axis-angle or quaternion representation. $\endgroup$ – Christian Rau Feb 3 '12 at 18:19

Let's assume the matrix $R$ for a given rotation is not unique and there exists another matrix $Q\neq R$ which performs the exact same rotation. This means

$\forall \mathbf{v}\in\mathbb{R}^n:\quad Q\mathbf{v}=R\mathbf{v}$

and thus

$\forall \mathbf{v}\in\mathbb{R}^n:\quad (Q-R)\mathbf{v}=\mathbf{0}$

This means, that the null-space of $M=(Q-R)$ (the sub-space of all vectors whose image is the zero-vector) has to consist of the whole $\mathbb{R}^n$ (and therefore has a dimension of $n$, of course). The rank-nullity-theorem now states, that the rank of $M$ is the difference of its dimension and the dimension of its null-space, in this case $0$. But then again, only the zero matrix has a rank of $0$.

This means the above equation only holds for $(Q-R)=O$ (with $O$ being the $n\times n$ zero matrix), which in turn implies $Q=R$. This contradicts the assumption. So each rotation (in fact any linear transformation) in $\mathbb{R}^n$ corresponds to a unique $n\times n$ matrix (for a given base $B$, of course). Moreover each orthogonal matrix $R\in\mathbb{R}^{n\times n}$ with $\det R=1$ represents a unique rotation in $\mathbb{R}^n$ (again for a given base $B$ of $\mathbb{R}^n$).

In fact the matrix representation is even more unique than the axis-angle or quaternion representation (not to speak of the ambiguities of Euler angles), since because of the periodicity of the $\sin$ and $\cos$ used in the matrix representation you don't have the angle ambiguity, because $R(\theta)=R(\theta+2\pi k)$. And you don't even have the ambuigity of negated axis and angle (or negated quaternion) being the same rotation (which you especially outruled in your question), because their matrix represntations are in fact the same.

| cite | improve this answer | |
  • $\begingroup$ Thanks for the answer @Christian Rau. What do you use to state "which in turn only holds for (Q-R)=O"? Do you use any particular properties of R^n for that? $\endgroup$ – Korchkidu Feb 3 '12 at 19:06
  • $\begingroup$ @Korchkidu Well, in fact it's more intuition, since it has to hold for all $\mathbf{v}\in\mathbb{R}^n$, for each and every matrix $M\neq O$ you can always find a $\mathbf{v}$ for which $M\mathbf{v}\neq\mathbf{0}$, but I'm sure there is also some theorem or prove out there for this. $\endgroup$ – Christian Rau Feb 3 '12 at 19:17
  • $\begingroup$ @Korchkidu Ok, updated my answer. $\endgroup$ – Christian Rau Feb 3 '12 at 19:35
  • 5
    $\begingroup$ The easy proof is, if $(Q-R)v = 0$ for all $v$, then in particular it is true for the standard basis vectors $v = e_i$. But $(Q-R)e_i$ is the $i$th column of $(Q-R)$. So all the columns of $(Q-R)$ are zero. $\endgroup$ – user856 Feb 3 '12 at 21:51

I think it is important to state that, althouth the rotation matrix $\mathbf{R}$ is unique for all vectors $\mathbf{v}$, for a given tuple of vectors, $\bar{\mathbf{v_A}}$ and $\mathbf{v_A}$, an infinite number of rotation matrixes $\mathbf{R}_i$ can be found that satisfies:

$ \mathbf{v_A} =\mathbf{R}_i \bar{\mathbf{v_A}} $

being $\mathbf{v_A}$ the position vector of a certain point, $A$, in the 3D space in a global frame, $\bar{\mathbf{v_A}}$ the position vector of the same point, $A$ in a local frame, and $\mathbf{R}_i$ the rotation matrix between both reference systems.

This statement is fundamental if the requirement is to obtain that rotation matrix from the tuple of arrays as it would lead to an infinity number of solutions if not considered.

For calculating $\mathbf{R}_i$ an overdetermined system of equations (with at least three tuples of arrays) must resolved using, for example, least squared methods to finally obtain that unique rotation matrix.

| cite | improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.