# How to block diagonalize a real skew-symmetric matrix of 3*3

Suppose $$t = [t_1,t_2,t_3]^T\in \mathbb R^3,t \neq 0$$. Then define $$t^{\land} = \begin{bmatrix} 0 & -t_3 & t_2 \\ t_3 & 0 & -t_1\\ -t_2 & t_1 & 0\end{bmatrix}, Z= \begin{bmatrix} 0 & 1 \\ -1 & 0\end{bmatrix}.$$ According to exponential map, there exist a corresponding rotation matrix $$R = \exp(t^{\land})$$ if $$t^{\land}$$ can be block diagonalized, that is $$t^{\land} = U\begin{bmatrix} aZ & 0 \\ 0 & 0\end{bmatrix}U^T,a>0$$ then we get $$R = \exp(t^{\land})=U\begin{bmatrix}\cos(\|t\|_2)&\sin(\|t\|_2) & 0\\ -\sin(\|t\|_2)&\cos(\|t\|_2)&0 \\ 0 & 0 &1\end{bmatrix}U^T,a=\|t\|_2$$.

(refer to R.Hartley & A.Zisserman Multiple View Geometry in Computer Vision page 583 to 584.) So how to do block diagonalization in 3*3 case? And what is $$U$$ like?

• Extend $w=t/\|t\|_2$ to an orthonormal basis $\{u,v,w\}$. Then take $U=\pmatrix{u,v,w}$. Dec 7, 2018 at 9:40
• @user1551 hello, i apply your thread(see following post of mine) while leads to a contradiction, can you help me out? Dec 7, 2018 at 15:37
• I didn't noticed that you need $a>0$. If you want to enforce this constraint and you find that with your chosen $u,v$ the cross product $v\times u$ is $-w$ rather than $w$, you may simply interchange $u$ and $v$. Alternatively, replace $v$ by $-v$. Dec 7, 2018 at 16:39
• @user1551 But $det(U) = -1$ once I interchange $u \text{ and } v$ or negate $v$. Is it reasonable for an orthonormal matrix? Dec 8, 2018 at 2:11
• Why not? Your question doesn't require that $\det(U)=1$. Anyway, since it sets $Z$ to $\pmatrix{0&1\\ -1&0}$ rather than $\pmatrix{0&-1\\ 1&0}$, the determinant of $U$ has to be $-1$: when $u$ is orthogonal to $t$, the effect of $t\times u$ in the tangential direction is an anticlockwise rotation of $u$ about the directed axis $t$. However, $Z=\pmatrix{0&1\\ -1&0}$ represents a clockwise rotation. So, in the change-of-basis matrix $U$, you must incorporate a reflection to preserve the sign, meaning that $\det(U)$ has to be $-1$. Dec 8, 2018 at 6:07

## 1 Answer

Update

let $$w=t/\|t\|$$, then we take three orthonormal basis which form a orthonormal matrix $$U = [u,v,w]$$.Therefore \begin{align} Udiag(aZ,0)U^T&=[u,v,w]\begin{bmatrix} 0 & a & 0 \\ -a & 0 & 0 \\ 0 & 0 & 0\end{bmatrix}\begin{bmatrix} u^T \\ v^T \\ w^T \end{bmatrix} \\ &=a(uv^T-vu^T) \\ &=a\begin{bmatrix} 0 & u_1v_2-u_2v_1 & u_1v_3-u_3v_1 \\ u_2v_1-u_1v_2 & 0 & u_2v_3-u_3v_2 \\ u_3v_1-u_1v_3 & u_3v_2-u_2v_3 & 0\end{bmatrix} \\ &=a(v \times u)^{\land}\end{align} So above derivation leads to $$t^{\land} = a(v \times u)^{\land}$$that is $$t = a*(-w) = \|t\|(-w)$$ but it contradicts with $$t = \|t\|w$$, who can help?