Block diagonalization of an orthogonal matrix

160 Views Asked by At

Consider an orthogonal matrix $A\in \mathbb{R}^{3\times 3}$. Find an orthogonal matrix $T\in O(3)$ s.t. \begin{equation} T^\top A T=\begin{pmatrix}1&0&0\\0&\cos\theta&-\sin\theta\\0&\sin\theta&\cos\theta\end{pmatrix} \end{equation} My attempt is not very enlightening, I have basically simply considered a brute-force method: We calculate the angle $\theta$ through the formula $\cos\theta=\frac{1}{2}\cdot(tr(A)-1)$ and then create a system of equations. Unfortunately, this system has 9 equations excluding the condition that $T$ is orthogonal. I am sure there is an easy way to do it (I have a hunch that it has something to do with the eigenvector of the eigenvalue 1, but I don't know what).

I would really appreciate your help!

1

There are 1 best solutions below

3
On BEST ANSWER

Fact: orthgonal real $3\times 3$ matrices always have (at least) one eigenvalue equal to $1$ or equal to $-1$. (thanks to @Christoph for the correction)

You should choose the columns of $T=\begin{pmatrix}v_1 &v_2&v_3\end{pmatrix}$ such that:

  • $v_1$ is a (normalized) eigenvector of $A$ with eigenvalue $1$.
  • $T$ is orthogonal (other than that, $v_2,v_3$ are arbitrary)

Then:

  • $v_1$ being an eigenvector tells you that $T^TAT$ is of the form $$\begin{pmatrix}1&0&0\\0&*&*\\0&*&*\end{pmatrix}$$.
  • Furthermore you know that $T^TAT$ is orthogonal, which means that the $2\times 2$ lower right matrix is orthogonal too. And you know that all $2\times 2$ orthogonal matrices can be written with $\cos$ and $\sin$ as you did.
  • Also: in order to determine $\theta$, you dont need to actually do the matrix multiplications $T^TAT$. Instead your trick using $trace(A)$ works nicely (though you will need a tiny additional trick to get the sign of $\theta$ correct).