# Properties of the difference of two rotation matrices

Let $R_{1},R_{2}\in{SO}(3)$, be two rotation matrices. It must be due my ignorance but how can I calculate the rank of the difference of these two rotation matrices, i.e. $\mbox{rank}(R_{2}-R_{1})$?. When I do numerical computations (using matlab), I always find that it is equal to 2, but I'm not completely sure. I found a way (at least I think) to show that the determinant of $R_{2}-R_{1}$ is always zero, which implies that it is rank deficient. But then this still implies that the rank can be equal to 1. In order to prove that the determinant is zero I did the following. Since $R_{1}$ and $R_{2}$ are rotation matrices they can be written as, $$R_{1}=\begin{bmatrix}n_{1}&s_{1}&a_{1}\end{bmatrix}\\ R_{2}=\begin{bmatrix}n_{2}&s_{2}&a_{2}\end{bmatrix}$$ where $n_{1}$, $s_{1}$, $a_{1}$ and $n_{2}$, $s_{2}$, $a_{2}$ are their respective columns which are mutually orthogonal and of unit length for $R_{1}$ and $R_{2}$, respectively. The determinant can be calculated using the scalar triple product, and other properties of cross product (e.g. distributivity, etc.) $$\det(R_{2}-R_{1})=\left(n_{2}-n_{1}\right)\cdot\left[\left(s_{2}- s_{1}\right)\times\left(a_{2}-a_{1}\right)\right]$$ $$\det(R_{2}-R_{1})=\left(n_{2}-n_{1}\right)\cdot\left[\left(s_{2}-s_{1}\right)\times{a}_{2}-\left(s_{2}-s_{1}\right)\times{a}_{1}\right]$$ $$\det(R_{2}-R_{1})=\left(n_{2}-n_{1}\right)\cdot\left[-a_{2}\times\left(s_{2}-s_{1}\right)+a_{1}\times\left(s_{2}-s_{1}\right)\right]$$ $$\det(R_{2}-R_{1})=\left(n_{2}-n_{1}\right)\cdot\left[-a_{2}\times{s}_{2}+a_{2}\times{s}_{1}+a_{1}\times{s}_{2}-a_{1}\times{s}_{1}\right]$$ $$\det(R_{2}-R_{1})=\left(n_{2}-n_{1}\right)\cdot\left[n_{2}+a_{2}\times{s}_{1}+a_{1}\times{s}_{2}+n_{1}\right]$$ $$\det(R_{2}-R_{1})=n_{2}\cdot{n}_{2}-n_{1}\cdot{n}_{2}+n_{2}\cdot(a_{2}\times{s}_{1})-n_{1}\cdot(a_{2}\times{s}_{1})+n_{2}\cdot(a_{1}\times{s}_{2})-n_{1}\cdot(a_{1}\times{s}_{2})+n_{2}\cdot{n}_{1}-n_{1}\cdot{n}_{1}$$ $$\det(R_{2}-R_{1})=n_{2}\cdot{n}_{2}-n_{1}\cdot{n}_{2}+s_{1}\cdot(n_{2}\times{a}_{2})-a_{2}\cdot(s_{1}\times{n}_{1})+a_{1}\cdot(s_{2}\times{n}_{2})-s_{2}\cdot(n_{1}\times{a}_{1})+n_{2}\cdot{n}_{1}-n_{1}\cdot{n}_{1}$$ $$\det(R_{2}-R_{1})=n_{2}\cdot{n}_{2}-n_{1}\cdot{n}_{2}-s_{1}\cdot{s}_{2}+a_{2}\cdot{a}_{1}-a_{1}\cdot{a}_{2}+s_{2}\cdot{s}_{1}+n_{2}\cdot{n}_{1}-n_{1}\cdot{n}_{1}$$ $$\det(R_{2}-R_{1})=0$$

So, how can I calculate $\mbox{rank}(R_{2}-R_{1})$, and also is it possible to find its null space as well, i.e. $\ker(R_{2}-R_{1})$? Thanks a lot.

Best regards,

-

To determine the rank of $R_1-R_2$ you must determine the dimension of the kernel, that is the space of vectors $v$ for which $(R_1-R_2)v=0$. Now you can rewrite that equation as $R_1v=R_2v$, and since rotations are invertible, this is equivalent to $R_2^{-1}R_1v=v$. However, $R_2^{.-1}R_1$ is again a rotation, and for rotations in $SO(3)$, there's always a one-dimensional subspace of vectors that are not changed (the rotation axis). Therefore the rank of $R_1-R_2$ is $3-1=2$.
Of course there's one exception: If $R_1=R_2$, then the rank of $R_1-R_2$ is obviously $0$. This corresponds to $R_2^{-1}R_1=I$, the identity matrix, which of course does not change any vector.
Rewriting $(A-B)v=0$ as $B^{-1}Av=v$ really makes short work of the problem :) Nice observation! –  rschwieb Jun 18 '13 at 19:56