Suppose that the rotation matrix is defined as $\mathbf{R}$. Then in order to rotate a vector and a matrix, the following expressions are, respectively, used

$\mathbf{u'}=\mathbf{R} \mathbf{u}$


$\mathbf{U'}=\mathbf{R} \mathbf{U} \mathbf{R}^T$,

where $\mathbf{u}$ and $\mathbf{U}$ are, respectively, an arbitrary vector and an arbitrary matrix.

For me, the first one is obvious since you simply multiply the rotation matrix by the vector (for example a point coordinate in 3D) and obtain the rotated vector (rotated point coordinate in 3D). However, the second one is not clear for me and why the rotation should be multiplied from both sides and how this expression is derived.

P.S. The matrix $\mathbf{U}$ can be interpreted as a stretch matrix in 3D.

  • $\begingroup$ If you have a linear algebra textbook on hand, you might find it instructive to read about changes of basis. The matrix $R$, in this context, can be nicely thought of as a change-of-basis matrix. $\endgroup$ Jan 4, 2019 at 13:49
  • 1
    $\begingroup$ The expression $RU$ also is a kind of "rotation of $U$," namely, it takes whatever transformation $U$ was going to perform and composes that with a subsequent rotation represented by $R.$ But this is actually giving us a new transformation within the old coordinate system, not rewriting the old transformation in a new coordinate system as we would get from $RUR^T.$ $\endgroup$
    – David K
    Jan 4, 2019 at 19:40
  • $\begingroup$ When you say "$U$ is a matrix", it makes a difference whether $U$ is merely a set of points (in which case $RU$ is already the "rotation of $U$"), or itself a transformation matrix (as in this case). Can you please edit your title/body to be more clear? $\endgroup$
    – smci
    Jan 5, 2019 at 6:05
  • $\begingroup$ @smci Look at the P.S. note. I have mentioned that U is a stretch matrix. not a set of points. $\endgroup$
    – KratosMath
    Jan 5, 2019 at 9:04
  • $\begingroup$ Yes that's more clear now $\endgroup$
    – smci
    Jan 5, 2019 at 9:22

4 Answers 4


Here the matrix $U$ is considered not as a bunch of column vectors, but as a (matrix of the) linear map $F\colon {\Bbb R}^n\to {\Bbb R}^n$ $$ y=F(x)=Ux. $$ What happens if we rotate both $y$ and $x$ by $R$? We get (since $R^TR=I$ for rotations) $$ y=Ux\quad\Rightarrow\quad Ry=RUx\quad\Rightarrow\quad Ry=\underbrace{RUR^T}_{U'}Rx\quad\Rightarrow\quad y'=U'x'. $$ Thus the matrix $U'=RUR^T$ corresponds to the same linear map $F$ in the new coordinates after rotation ($x'\mapsto y'$).

In general, for any change of the basis $x'=Sx$, $y'=Sy$ the corresponding change of the matrix $U$ is $$ Sy=\underbrace{SUS^{-1}}_{U'}Sx\quad\Rightarrow\quad y'=U'x'. $$ It means that the class of all similar matrices $\{SUS^{-1}\colon S\text{ invertible}\}$ is exactly the class of all matrices that describe the same linear map in different bases.

  • $\begingroup$ It's more or less the same thing, but if U is symmetric, you can also look at it as a bilinear form, $U(x,y) = x^\top U y$. Then if we rotate $x$ and $y$ by $R$, we get $$x^\top R^\top U' R y = x^\top U y$$ So $R^\top U' R = U$ and $U' = R U R^\top$. $\endgroup$
    – Kitegi
    Jan 6, 2019 at 16:05

Using your example where $U$ is a stretch matrix in 3D, if you want to "rotate" this matrix, you essentially want this stretch action to occur in a different direction / axis. Suppose you have some shape aligned to this new axis. You want to know what the $U'$ is that stretches the shape parallel to this axis. To do this, you use $R^T$ to rotate everything back to the original orientation. Then you do the original stretch transformation $U$. Then you rotate this back using $R$. So $U'=RUR^T$.

enter image description here

  • $\begingroup$ Thanks for your answer. But could you please give me a clearer example. I understood your point. However, I couldn't understand your example. $\endgroup$
    – KratosMath
    Jan 4, 2019 at 13:44
  • $\begingroup$ @MsenRezaee I added a picture to help illustrate the point. It is in 2D rather than 3D, but it should be simple to see how this generalises $\endgroup$
    – John Doe
    Jan 4, 2019 at 16:06

One thing that may be instructive is to recall that every matrix can be represented as the linear combination of a series of dyadic/outer products between two vectors, $U = \sum_i a_i \otimes b_i = \sum_i a_i b_i^T$ where $a_i$ and $b_i$ are a sequence of column vectors.

When changing the basis of the matrix, we are in effect applying the vector rule for changing bases to both sequences of vectors:

$$U’ = \sum_i a_i’ \otimes b_i’ = \sum_i Ra_i (Rb_i)^T = \sum_iRa_ib_i^T R^T = RUR^T$$

Hope this helps!

  • 2
    $\begingroup$ This is not language I'm familiar with, but wouldn't $ab^T$ always be rank $1$, so only rank $1$ matrices can be represented this way? $\endgroup$ Jan 4, 2019 at 13:38
  • 2
    $\begingroup$ @Callus I guess it was meant that any matrix could be represented as a span of dyadic matrices. $\endgroup$
    – A.Γ.
    Jan 4, 2019 at 13:45
  • $\begingroup$ Correct, thank you for spotting that @Callus and @A.Γ.! Will update answer shortly. $\endgroup$ Jan 4, 2019 at 13:48

The columns of $\mathbf{U}$ tell you what happens to the coordinate vectors $\hat{e}_1,\hat{e}_2,\hat{e}_3$. For example, if the first column is $[a,b,c]^T$, then $\mathbf{U}\hat{e}_1 = a\hat{e}_1 + b\hat{e}_2 + c\hat{e}_3$.

The matrix $\mathbf{U}'$ is the matrix that behaves the same way on the rotated coordinate basis $\hat{f}_i = \mathbf{R}\hat{e}_i$. This is because $\mathbf{R}^T = \mathbf{R}^{-1}$ so for example $$\begin{align*} \mathbf{U}'\hat{f}_1 &= \mathbf{R}\mathbf{U}\mathbf{R}^T\mathbf{R}\hat{e}_1 \\\ &= \mathbf{R}\left(\mathbf{U}\hat{e}_1\right) \\\ &= \mathbf{R}(a\hat{e}_1 + b\hat{e}_2 + c\hat{e}_3) \\\ &= a\mathbf{R}\hat{e}_1 + b\mathbf{R}\hat{e}_2 + c\mathbf{R}\hat{e}_3 \\\ &= a\hat{f}_1 + b\hat{f}_2 + c\hat{f}_3 \end{align*} $$


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .