Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Given the $3\times3$ rotation matrices $A$ and $B$, find the rotation matrix $X$ that satisfies $$AX=XB.$$

share|cite|improve this question

Well, this is equivalent to $A = XBX^{-1}$, so it's only possible if $A$ and $B$ are equivalent. If they are, you can solve this by diagonalizing in $\mathbb{C}$ and finding both base changes $T$, $S$. Then: $A = T^{-1}DT = T^{-1}SBS^{-1}T$ if $B = S^{-1}DS$. And $X = T^{-1}S$.

Edit: This only gives a unitary $X$. Maybe this can be fixed.

share|cite|improve this answer
How can we impose the requirement that $X$ is a rotation matrix with your approach? – hardmath Oct 3 '12 at 15:52
I think you can't! – But you know that $X$ is unitary at least. I have to admit I missed that and realised it just after posting, hoping noone would notice. : - D – k.stm Oct 3 '12 at 15:53
I think it can be fixed. The phrase 3D rotation matrix surely implies real arithmetic. A 3D rotation has an axis fixed by the rotation, and this is unique up to scaling/orientation. So treat $A$ and $B$ as orthogonally similar with $X$ mapping the axis of one to the other. – hardmath Oct 4 '12 at 16:22

If $A,B$ are 3x3 real matrices representing rotations ("3D rotation matrices"), the following are equivalent:

(1) $tr(A) = tr(B)$

(2) There exists real orthogonal $X$ such that $A = XBX^{-1}$.

(3) There exists rotation matrix $X$ such that $A = XBX^{-1}$.

Since rotation matrices are those orthogonal matrices with determinant 1, it's evident that (3) implies (2), and by replacing $X$ by $-X$ if necessary, also (2) implies (3).

Since similar matrices have equal traces, (2) implies (1). It remains only to show (1) implies (2), which we will do in a constructive fashion.

Setting aside the trivial case of zero rotation (identity matrix), every rotation in three dimensions is characterized by an axis of points fixed by the rotation and an angle by which points rotate around that axis. In the case of a special orthogonal linear transformation (rotation represented by a 3x3 matrix), the axis passes through the origin and may be identified by a unit vector $u$ that generates it. If we adopt a convention that positive angles of rotation are counterclockwise about the axis pointed in direction $u$, then changing the sign of the angle is equivalent to changing instead the vector $u$ into $-u$ (and keeping the same angle as before).

As the Wikipedia article points out, if rotation matrix $A$ has angle of rotation $\theta$ about an axis, then the trace of $A$ is $1 + 2 \cos \theta$. For example, by our convention the matrix which represents counterclockwise rotation by $\theta$ about the positive x-axis is:

$$R_x(\theta) = \begin{pmatrix} 1 & 0 & 0 \\ 0 & \cos \theta & -\sin \theta \\ 0 & \sin \theta & \cos \theta \end{pmatrix} $$

and the trace is the sum of diagonal entries.

If $A$ is a rotation matrix with $tr(A) = 1 + 2 \cos \theta$, let $u$ be a unit vector that generates the axis of rotation, i.e. $Au = u$. Extend that to an orthonormal basis $\{u,v,w\}$ for $\mathbb{R}^3$, and obtain an orthogonal matrix $P$ using these basis vectors as columns. Then similar rotation matrix $P^{-1} A P$ is either $R_x(\theta)$ or $R_x(-\theta)$ in the notation above. If the latter, replace $w$ by $-w$, so that:

$$R_x(\theta) = P^{-1} A P$$

Do the same with rotation matrix $B$ also having $tr(B) = 1 + 2 \cos \theta$:

$$R_x(\theta) = Q^{-1} B Q$$

Now $X = P Q^{-1}$ satisfies (2), so proving that (1) implies (2) as desired.

share|cite|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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