定義 行列 \(A \in M_n(\bk)\) に対し、
\[U^{-1}AU = \begin{bmatrix} \lambda_1 & 0 & \cdots & 0 \\ 0 & \lambda_2 & & \vdots \\ \vdots & & \ddots & 0\\ 0 & \cdots & 0 & \lambda_n \end{bmatrix}\]となるような適当な \(U \in \mathrm{GL}(n, \bk)\) を選ぶことを対角化と呼び、このような \(U\) が存在するような \(A\) を対角化可能であると呼ぶ。 また、このとき \(A\) は \(U\) によって対角化される、と呼ぶ。
\(A \mapsto U^{-1}AU\) を相似変換と呼ぶ。固有値は相似変換によって不変であるため、対角化された行列の対角成分は行列 \(A\) の固有値である。
\(A \in M_n(\bk)\) が対角化可能であることは次と同値である。
右固有ベクトルでも左固有ベクトルでもこれは成立する。 固有ベクトルからなる基底が存在する場合は、\(U\) をこのベクトルを並べて構成した行列とすればよい。 逆に \(U\) によって対角化されるときは、\(U\) を \(n\) 個の縦ベクトルから構成されているとみなすと、その \(n\) 個の縦ベクトルが固有ベクトルからなる基底となる。
対角化は実行列の問題なのか複素行列の問題なのか、が重要である。
実行列では対角化不可能で、複素行列を用いれば対角化可能な実行列が存在する。例えば回転行列がそれである。
定理
直交行列や対称行列、ユニタリー行列やエルミート行列は次のような対角化、もしくは対角化に近い標準化が可能である。
定理
\(A \in M_n(\C)\) がエルミート行列である場合、\(A\) はユニタリー行列によって対角化可能である。
定理
\(A \in M_n(\R)\) が実対称行列である場合、\(A\) は実直交行列によって対角化可能である。
定理
\(A \in M_n(\C)\) がユニタリー行列である場合、\(A\) はユニタリー行列によって対角化可能である。
定理
\(A \in M_n(\R)\) が実直交行列である場合、\(A\) は実直交行列によって次の形に変換可能である。
\[\begin{bmatrix} 1 \\ & \ddots \\ & & 1 \\ & & & -1 \\ & & & & \ddots \\ & & & & & -1 \\ & & & & & & R_{\theta_1} \\ & & & & & & & \ddots \\ & & & & & & & & R_{\theta_r} \end{bmatrix}\]ただし、\(R_\theta\) は次のような \(2\times 2\) 行列であり、 \(1, \ldots, 1, -1, \ldots, -1, \cos \theta_1 \pm i \sin \theta_1, \ldots, \cos \theta_r \pm i \sin \theta_r\) は \(A\) の重複も含めた固有値である。
\[R_\theta = \begin{bmatrix} \cos \theta & -\sin \theta \\ \sin \theta & \cos \theta \end{bmatrix}\]対角化された行列に現われる対角成分はその行列の固有値であるため、これらの定理に関しては以下の事実も重要である。
定理
\(A \in M_n(\C)\) の固有値 \(\lambda_1, \ldots, \lambda_n\) が全て相異なるとする。 すると、\(\det(\lambda_iI - A)=0\) より \(\dim \ker (\lambda_iI - A) \geq 1\) であるので零でないベクトル \(u_i \in \ker (\lambda_iI - A)\) を \(i=1, \ldots, n\) に対して取ることができる。
この \((u_i)_{i=1}^n\) は固有ベクトルからなる基底である。
∵ \((\lambda_i I - A)u_i = 0\) より \(A u_i = \lambda_i u\) なので、\(u_i\) は零でない固有ベクトルであることがすぐわかる。次に基底であることを示すために独立性を示す (基底の性質より独立性から生成性は示される)。
\(\alpha_1 u_1 + \cdots + \alpha_n u_n = 0\) とする。両辺に \((\lambda_2 I - A) \cdots (\lambda_n I - A)\) を左からかけることを考える。 まず \((\lambda_2 I - A) \cdots (\lambda_n I - A) u_i\) を考える。 すると、\((\lambda_j I - A)u_i = (\lambda_j - \lambda_i)u_i\) であるので、
\[(\lambda_2 I - A) \cdots (\lambda_n I - A) u_i = (\lambda_2 - \lambda_i) \cdots (\lambda_n - \lambda_i)u_i\]となる。すると、\(i \not = 1\) ならばこれは零ベクトルとなる。よって、
\[(\lambda_2 I - A) \cdots (\lambda_n I - A) [\alpha_1 u_1 + \cdots + \alpha_n u_n] = (\lambda_2 - \lambda_1) \cdots (\lambda_n - \lambda_1) \alpha_1 u_1 = 0\]が得られる。\(\lambda_1, \ldots, \lambda_n\) は相異なるので、 \((\lambda_2 - \lambda_1) \cdots (\lambda_n - \lambda_1) \not = 0\) であり、\(u_i\) は非零ベクトルなので、\(\alpha_1 = 0\) である。 同様にして \(\alpha_2 = \cdots = \alpha_n = 0\) も得られ、独立性がわかる。
実行列の場合も同様である。\(\ker (\lambda_iI - A)\) が実ベクトル空間の範囲で意味を持つのは \(\lambda_i\) が実である場合なので、固有値が実であるという条件が追加で必要となる。
\(A\) がエルミート行列、つまり\(A = A^*\)のとき、\(A\) の固有値は実であることを示す。
\(\lambda \in \C\) を \(A\) の固有値、\(u\)を対応する0でない固有ベクトルとすると \(A u = \lambda u\) である。 すると、
\[\lambda \|u\|^2 = \lambda (u, u) = (\lambda u, u) = (Au, u) = (u, A^*u) = (u, Au) = (u, \lambda u) = \bar{\lambda}(u, u) = \bar{\lambda} \|u\|^2\]\(\|u\| \not = 0\) より \(\lambda = \bar{\lambda}\)、つまり \(\lambda\) は実数である。
\(A\) が実対称の場合も同様である。
\(A\) がユニタリー行列、つまり \(A^* A = A A^* = I\) のとき、\(A\) の固有値の絶対値が1であることを示す。
\(\lambda \in \C\) を \(A\) の固有値、\(u\)を対応する0でない固有ベクトルとすると \(A u = \lambda u\) である。すると、
\[\abs{\lambda}^2 \|u\| = \|\lambda u\|^2 = \|Au\|^2 = (Au, Au) = (u, A^* Au) = (u, u) = \|u\|^2\]\(\|u\| \not = 0\) より \(\abs{\lambda} = 1\)である。実直交の場合も同様である。
まずは次を示す。
定理 \(A \in M_n(\C)\) が正規、つまり \(A A^* = A^*A\) であるとき、\(A\) はユニタリー行列で対角化できる。
エルミート行列およびユニタリー行列は明らかに正規なので、これらの対角化可能性が証明できる。
証明 \(n\) に関する帰納法で示す。\(n = 1\) の場合は自明。 そこで、\(n-1\)で成立するとして、\(n\) で成立することを示す。
\(A\) の固有値と、対応する固有ベクトルを一つとり、\(\lambda_1, u_1\)とする。 \(u_1 / \|u_1\|\)を改めて \(u_1\) と置くと、ノルムは1である。 すると、グラム・シュミットの直交化を用い、\(u_1\) を含む正規直交基底 \(u_1, \ldots, u_n\) を取ることができる。 さらにこれは基底なので、\(A u_j \ (j=2, \ldots, n)\) に対して、\(Au_j = \sum_{k=1}^n \alpha_{jk} u_k\) となる \(\alpha_{jk} \ (j=2, \ldots, n, k=1,\ldots n)\) を取ることができる。
すると、\(U := [u_1, \ldots, u_n]\) と置くと、\(U\) はユニタリー行列であり、
\[AU = [Au_1, \ldots, Au_n] = [\lambda u_1, \sum_{k=1}^n \alpha_{k,2} u_k, \ldots, \sum_{k=1}^n \alpha_{k,n} u_k] = [u_1, \ldots, u_n] \begin{bmatrix} \lambda_1 & \alpha_{1,2} & \cdots & \alpha_{1, n} \\ 0 & \alpha_{2,2} & \cdots & \alpha_{2,n} \\ \vdots & \vdots & & \vdots \\ 0 & \alpha_{n,2} & \cdots & \alpha_{n, n} \\ \end{bmatrix} = U \begin{bmatrix} \lambda_1 & \alpha_{1,2} & \cdots & \alpha_{1, n} \\ 0 & \alpha_{2,2} & \cdots & \alpha_{2,n} \\ \vdots & \vdots & & \vdots \\ 0 & \alpha_{n,2} & \cdots & \alpha_{n, n} \\ \end{bmatrix}\]ここで、\(A' \in M_{n-1}(\C), b \in \C^{n-1}\) を
\[A' = \begin{bmatrix} \alpha_{2,2} & \cdots & \alpha_{2,n} \\ \vdots & & \vdots \\ \alpha_{n,2} & \cdots & \alpha_{n, n} \\ \end{bmatrix}, b = \begin{bmatrix} \bar{\alpha}_{2,1} \\ \vdots \\ \bar{\alpha}_{n,1}\\ \end{bmatrix}\]と置くと、
\[U^* A U = \begin{bmatrix} \lambda_1 & b^* \\ 0 & A' \end{bmatrix}\]となる。すると、
\[\begin{aligned} U^* A A^* U & = (U^* A U) (U^* A U)^* = \begin{bmatrix} \lambda_1 & b^* \\ 0 & A' \end{bmatrix} \begin{bmatrix} \bar{\lambda}_1 & 0 \\ b & A'^* \end{bmatrix} = \begin{bmatrix} \abs{\lambda_1}^2 + b^*b & b^* A'^* \\ A'b & A'A'^* \end{bmatrix} \\ U^* A^* A U & = (U^* A^* U) (U^* A U)^* = \begin{bmatrix} \lambda_1 & 0 \\ b & A'^* \end{bmatrix} \begin{bmatrix} \lambda_1 & b^* \\ 0 & A' \end{bmatrix} = \begin{bmatrix} \abs{\lambda_1}^2 & 0 \\ \lambda_1 b + A'b & b b^* + A'^*A' \end{bmatrix} \end{aligned}\]この2つは等しいので、
\[\begin{aligned} \abs{\lambda_1}^2 & = \abs{\lambda_1}^2 + \|b\|^2, \\ b^*A'^* & = 0, \\ A'b &= \lambda_1 b + A'b, \\ A'A'^* & = bb^* + A'^*A' \end{aligned}\]が成立する。最初の等式より、\(\|b\|^2 = 0\)、すなわち \(b = 0\) が得られ、これと4番目の等式より \(A'A'^* = A'^*A'\) が得られる。すなわち \(A'\) は \((n-1)\times(n-1)\) 正規行列である。
よって帰納法の仮定より、\(A'\) はユニタリー行列で対角化可能である。すなわち \(\exists U' \in U(n,\C)\) s.t.
\[U'^*A'U' = \begin{bmatrix} \lambda_2 \\ & \ddots \\ && \lambda_n \end{bmatrix}\]である。ただし、\(\lambda_2, \ldots, \lambda_n\) は \(A'\) の固有値である。そこで、 \(V \in M_n(\C)\) を
\[V = \begin{bmatrix} 1 & 0 & \cdots & 0 \\ 0 \\ \vdots & & U' \\ 0 \end{bmatrix}\]と置くと、\(V\) はユニタリー行列であり、\(b = 0\) も考えると、
\[V^*U^* A U V = \begin{bmatrix} 1 & 0 \\ 0 & U'^* \end{bmatrix} \begin{bmatrix} \lambda_1 & 0 \\ 0 & A' \end{bmatrix} \begin{bmatrix} 1 & 0 \\ 0 & U' \end{bmatrix} = \begin{bmatrix} \lambda_1 & 0 \\ 0 & U'^*A' U' \end{bmatrix} = \begin{bmatrix} \lambda_1 \\ & \lambda_2 \\ & & \ddots \\ & & & \lambda_n \end{bmatrix}\]すると、\(A\) は \(U V\) で対角化可能であることがわかる。\(U, V\) はともにユニタリー行列なのでその積もユニタリーである。よって \(n\) の場合に示された。□
実対称行列の対角化および実直交行列の標準化は次の定理より得られる。
定理 \(A \in M_n(\R)\) が正規、すなわち \(\t A A = A \t A\) であるとき、\(A\) は実直交行列で次の行列に相似である。
\[\begin{bmatrix} \lambda_1 \\ & \ddots \\ & & \lambda_r \\ & & & a_1 & -b_1 \\ & & & b_1 & a_1 \\ & & & & & \ddots \\ & & & & & & a_s & -b_s \\ & & & & & & b_s & a_s \end{bmatrix}\]ただし、\(\lambda_i \ (i=1, \ldots, r), a_j, b_j \ (j=1,\ldots,s)\)は全て実で、 \(\lambda_1, \ldots, \lambda_r, a_1 \pm i b_1, \ldots, a_s \pm ib_s\) は重複を含めた \(A\) の固有値である。
実対称行列の固有値は上で示した通りすべて実なので、複素固有値の部分がなくなり対角化できる。 実直交行列の場合固有値の絶対値は1なので、実固有値は \(\pm 1\)、複素固有値は \(\cos \theta + i \sin \theta\) の形をしているので上の定理の形となる。
証明には次の補題が必要となる。
補題 \(A \in M_n(\C)\) が正規で、\(A u = \lambda u\)のとき、\(A^*u = \bar{\lambda} u\) が成立する。
補題の証明
\[\|A^* u - \bar{\lambda}u\|^2 = (A^* u - \bar{\lambda}u, A^* u - \bar{\lambda}u) = (A^*u, A^*u) - (A^*u, \bar{\lambda}u) - (\bar{\lambda}u, A^*u) + (\bar{\lambda}u, \bar{\lambda}u) \cdots (*)\]ここで
\[\begin{aligned} (A^*u, A^*u) &= (u, AA^*u) = (u, A^*Au) = (Au, Au) = (\lambda u, \lambda u) = \abs{\lambda}^2 (u, u) \\ (A^*u, \bar{\lambda} u) &= \lambda (A^*u, u) = \lambda (u, Au) = \lambda (u, \lambda u) = \lambda \bar{\lambda}(u, u) = \abs{\lambda}^2 (u, u) \\ (\bar{\lambda} u, A^*u) &= \bar{\lambda} (u, A^*u) = \bar{\lambda} (Au, u) = \bar{\lambda} (\lambda u, u) = \bar{\lambda} \lambda (u, u) = \abs{\lambda}^2 (u, u) \\ (\bar{\lambda} u, \bar{\lambda} u) &= \bar{\lambda} \lambda (u, u) = \abs{\lambda}^2 (u, u) \end{aligned}\]であるので、\((*)\) の右辺は0となる。つまり \(A^*u = \bar{\lambda} u\) が成り立つ。□
定理の証明
複素の場合と同様 \(n\) に関する帰納法で示すが、より手順が複雑となる。 \(n=0, 1\) の場合は自明なので、\(n-1, n-2\) の場合を仮定して \(n\) の場合に成立することを示す。
\(A \in M_n(\R)\) が正規行列であるとき、\(A\) の固有値の一つを \(\lambda_1\) とする。
\(\lambda_1 \in \R\) の場合は、複素の場合と同様に \(n-1\) の場合に成立することを用いて示す。 実行列に対する実固有値に関しては、必ず実の(非零)固有ベクトルが1つは存在するのでそれを使えば 複素の場合と同様標準化を実現する実直交行列を構成できる。
そこで \(\lambda_1\) が実でない、すなわち \(\lambda_1 = a_1 + i b_1\) と実部と虚部に分けたとき \(b_1 \not = 0\) である場合を考える。このとき、\(A\) を複素行列とみなしたときの \(\lambda_1\) の非零固有ベクトルを \(u_1\) と置く。すると \(A u_1 = \lambda_1 u_1\) が成立する。\(u_1\) を \(u_1 = v_1 + i w_1\) と実部と虚部に分ける (\(v_1, w_1 \in \R^n\) である)と、次が成立する。
\[A(v_1 + iw_1) = (a_1 + b_1) (v_1 + iw_1)\]ここで、
\[\begin{aligned} \text{(左辺)} & = Av_1 + i A w_1 \\ \text{(右辺)} &= (a_1 v_1 - b_1 w_1) + i(a_1 w_1 + b_1 v_1) \end{aligned}\]であるので、\(A\) が実行列であることからこれは両辺の実部と虚部への分解となる。よって
\[\begin{aligned} A v_1 & = a_1 v_1 - b_1 w_1 \\ A w_1 &= b_1 v_1 + a_1 w_1 \end{aligned} \ \cdots (**)\]が成立する。さらに補題より \(\t A u_1 = \bar{\lambda} u_1\) が得られるが、これを実部虚部に分けると
\[\t A(v_1 + iw_1) = \t A v_1 + i \t A w_1 = (a_1 - i b_1) (v_1 + iw_1) = (a_1 v_1 + b_1 w_1) + i(a_1 w_1 - b_1 v_1)\]となり、次の等式が得られる。
\[\begin{aligned} \t A v_1 & = a_1 v_1 + b_1 w_1 \\ \t A w_1 &= -b_1 v_1 + a_1 w_1 \end{aligned}\]よって、
\[\begin{aligned} (A v_1, v_1) &= (a_1 v_1 - b_1 w_1, v_1) = a_1 (v_1, v_1) - b_1 (w_1, v_1) \\ = (v_1, \t A v_1) &= (v_1, a_1 v_1 + b_1 w_1) = a_1 (v_1, v_1) + b_1 (v_1, w_1) \end{aligned}\]\(v_1, w_1\) は実ベクトルなので \((v_1, w_1) = (w_1, v_1)\) であるので、この等式より \(2 b_1 (v_1, w_1) = 0\) が得られ、\(b_1 \not = 0\) より \((v_1, w_1)\) が得られる。 つまり \(v_1\) と \(w_1\) は直交している。
さらに、
\[\begin{aligned} (Av_1, w_1) &= (a_1 v_1 - b_1 w_1, w_1) = a_1 ( v_1, w_1) - b_1 (w_1, w_1) \\ = (v_1, \t A w_1) &= (v_1, -b_1 v_1 + a_1 w_1) = -b_1(v_1, v_1) + a_1(v_1, w_1) \end{aligned}\]より、\(b_1 \not = 0\) より \((w_1, w_1) = (v_1, v_1)\)、すなわち \(\|v_1\| = \|w_1\|\) が得られる。
そこで、\(d = \|v_1\|\) と置き、\(v_1' = v_1 / d, w_1' = w_1 / d\) と置くと、\(v_1', w_1'\) は \(\R^n\) 上の正規直交系をなすので、ここからグラム・シュミットの直交化を利用して \(v_1', w_1', u_3, \ldots, u_n\) という \(\R^n\) の正規直交基底が構成できる。
さらに、\((**)\) の両辺を \(d\) で割ることで、次の等式が得られる。
\[\begin{aligned} A v_1' & = a_1 v_1' - b_1 w_1' \\ A w_1' &= b_1 v_1' + a_1 w_1' \end{aligned}\]すると、複素の場合と同様、\(U = [v_1', w_1', u_3, \ldots, u_n]\) と置くとこれは実直交行列で、
\[AU = [Av_1' Aw_1', Au_3, \cdots A u_n] = [a_1 v_1' - b_1 w_1', b_1 v_1' + a_1 w_1', Au_3, \cdots A u_n] = [v_1', w_1', u_3, \cdots, u_n] \begin{bmatrix} a_1 & b_1 & * & \cdots & *\\ -b_1 & a_1 & * & \cdots & * \\ 0 & 0 & * & \cdots & * \\ \vdots & \vdots & \\ 0 & 0 & * & \cdots & * \end{bmatrix} = U \begin{bmatrix} T(a_1, b_1) & \t B \\ 0 & A' \end{bmatrix}\]となる。ただし、\(T(a_1, b_1)\) は
\[\begin{bmatrix} a_1 & b_1 \\ -b_1 & a_1 \end{bmatrix}\]という実 \(2 \times 2\) 行列を意味する記号で、\(B, A'\) は対応する \(*\) の部分を表す \(2 \times (n-2)\) 行列および \((n-2)\times(n-2)\) 行列である。
複素の場合と同様の議論で、\(B = 0, \t A' A' = A' \t A'\) が得られるので、\(n-2\) の場合に還元でき、その結果を用いて \(n\) の場合が示される。□