上半三角化

一般の行列は対角化できるとは限らない。 どんな複素行列でも適用できる強力な手法としてジョルダン標準形がある。 ジョルダン標準形の手前のステップとして、この上半三角化がある。

実の場合にはこれらの手法は適用できない。\(n \times n\) 行列の固有多項式の根が重複度も含めて \(n\) 個であることが重要であるためである。

定理

\(A \in M_n(\C)\) とする。このとき \(n \times n\) ユニタリー行列\(P\)が存在し、

\[P^*AP = \begin{bmatrix} \lambda_1 & & *\\ & \ddots \\ 0& & \lambda_n \end{bmatrix}\]

が成立する。ただし、\(\lambda_1, \ldots, \lambda_n\) は \(A\) の重複を含む固有値である。

このような行列を上半三角行列と呼び、上半三角行列と相似となる行列 \(P\) を与えることを上半三角化と呼ぶ。

証明

\(n\) に関する帰納法で示す。

\(n=1\) の場合は明らか。\(n-1\) で証明されていると仮定して \(n\) に関して示す。 \(A\) の固有値の1つを \(\lambda_1\)、対応する非零固有ベクトルを \(u_1\) とする。 \(u_1\) を含む正規直交基底をグラム・シュミットの直交化で構成し、それを \(u_1, \ldots, u_n\) と置く。 \(U = [u_1, \ldots, u_n]\) と置くと、\(U\) はユニタリー行列で、

\[AU = A [u_1, \ldots, u_n] = [Au_1, \ldots, Au_n] = [\lambda_1 u_1, Au_2, \ldots, Au_n] = [u_1, \ldots, u_n] \begin{bmatrix} \lambda_1 & * & \cdots & * \\ 0 & * & \cdots & * \\ \vdots & \vdots & & \vdots \\ 0 & * & \cdots & * \end{bmatrix}\]

この右辺を

\[U \begin{bmatrix} \lambda_1 & * & \cdots & * \\ 0 \\ \vdots & & A' \\ 0 \end{bmatrix}\]

と表す。

すると、\(A'\) は \((n-1)\times (n-1)\) 正方行列なので、帰納法の仮定より \((n-1)\times (n-1)\) ユニタリー行列で対角化可能である。すなわち

\[U'^* A' U' = \begin{bmatrix} \lambda_2 \\ & \ddots \\ && \lambda_n \end{bmatrix}\]

である。そこで、\(V \in M_n(\C)\) を

\[V = \begin{bmatrix} 1 & 0 & \cdots & 0 \\ 0 \\ \vdots & & U' \\ 0 \end{bmatrix}\]

と置くと、\(U'\) がユニタリーであることより \(V\) もユニタリーであり、

\[V^* \begin{bmatrix} \lambda_1 & * & \cdots & * \\ 0 \\ \vdots & & A' \\ 0 \end{bmatrix} V = \begin{bmatrix} 1 & 0 \\ 0 & U'^* \end{bmatrix} \begin{bmatrix} 1 & * \\ 0 & A' \end{bmatrix} \begin{bmatrix} 1 & 0 \\ 0 & U' \end{bmatrix} = \begin{bmatrix} 1 & * \\ 0 & U'^*A' \end{bmatrix} \begin{bmatrix} 1 & 0 \\ 0 & U' \end{bmatrix} = \begin{bmatrix} \lambda_1 & * \\ 0 & U'^*A'U' \end{bmatrix} = \begin{bmatrix} \lambda_1 &&& *\\ & \lambda_2 \\ && \ddots \\ 0 &&& \lambda_n \end{bmatrix}\]

となるため、

\[V^*U^*A U V = \begin{bmatrix} \lambda_1 &&& *\\ & \lambda_2 \\ && \ddots \\ 0 &&& \lambda_n \end{bmatrix}\]

が成立し、 \(P = UV\) と置くと \(P\) はユニタリーで上半三角化ができることがわかる。