How to use Schur's decomposition on more than two commuting matrices? If we have more than two square matrices $A$, $B$, $C$,... commute, how can we prove that there exits a unitary matrix $U$ such that  $U$ * $A$ $U$,  $U$ * $B$ $U$, $U$ * $C$ $U$,.... are upper triangular matrices?
Following from Schur's decomposition for two commuting matrices, it works.But for more than two,I tried to prove it by induction but could'nt reach it.
 A: The point lies in the proof of Schur decomposition. Let $A^{(1)}, A^{(2)}, \cdots, A^{(k)}$ be $k$ square matrices which mutually commute with one another. Let the set of eigenvalues of $A^{(j)}$ be $\{\lambda^{(j)}_1, \cdots, \lambda^{(j)}_{n_j}\}$. Also let the eigenspace of $A^{(j)}$ corresponding to eigenvalue $\lambda^{(j)}_{s}$ be denote by $V^{(j)}_s$.
Now if $v\in V^{(1)}_j$ for some $j\leq n_1$, then since $A^{(1)}, A^{(2)}$ commute, we have $A^{(1)}A^{(2)}v=A^{(2)}A^{(1)}v=\lambda^{(1)}_jA^{(2)}v$. So $A^{(2)}v\in V^{(1)}_j$ too, meaning $A^{(2)}$ leaves $V_j^{(1)}$ invariant. As a result $V_{m_1}^{(1)}\cap V_{m_2}^{(2)}$ is not only invariant under both $A^{(1)}, A^{(2)}$, but both matrices act on $V_{m_1}^{(1)}\cap V_{m_2}^{(2)}$ diagonally. Similarly one can decompose $V$ into:
$$
V=\bigoplus_{m_1, \cdots, m_k} \left(\bigcap_{i=1}^k V^{(i)}_{m_i}\right)
$$
where $m_j\leq n_j$ in the above sum. You can see that all $A^{(i)}$ leave $U_{m_1, \cdots, m_k}:=\bigcap_{i=1}^k V^{(i)}_{m_i}$ invariant and act on it diagonally. Now choose an orthonormal basis $Z_{m_1, \cdots, m_k}$ for $U_{m_1, \cdots, m_k}$. This gives you a unitary matrix $T$ such that $A^{(i)}=T^*F^{(i)}T$ with $F^{(i)}$ upper-triangular.
