固有値と固有ベクトル の履歴差分(No.5)
更新- 履歴一覧
- 現在との差分 を表示
- ソース を表示
- 履歴 を表示
- 線形代数I/固有値と固有ベクトル へ行く。
- 追加された行はこの色です。
- 削除された行はこの色です。
[[線形代数I]] #contents * 固有値問題 [#z22bc852] ** Ax と x との関係 [#e1e409d3] 正方行列 &math(A); を考える。 通常、&math(A\bm x); は元のベクトル &math(\bm x); と必ずしも平行にならない。 &math(A\bm x \ne k\bm x); 例: &math( A=\begin{bmatrix} 3 & 1 \\ 1 & 3 \end{bmatrix} ); &math(\bm x_1=\begin{bmatrix} 2 \\ 1 \end{bmatrix}); であれば &math(A\bm x_1=\begin{bmatrix} 7 \\ 5 \end{bmatrix}\ne k\bm x_1); しかし、&math(\bm x); をうまく選ぶと &math(A\bm x\parallel\bm x); となる場合がある。 &math(\bm x_2=\begin{bmatrix} 1 \\ 1 \end{bmatrix}); であれば &math(A\bm x_2=\begin{bmatrix} 4 \\ 4 \end{bmatrix}=4\begin{bmatrix} 1 \\ 1 \end{bmatrix}=4\bm x_2); &math(\bm x_3=\begin{bmatrix} 1 \\ -1 \end{bmatrix}); であれば &math(A\bm x_3=\begin{bmatrix} 2 \\ -2 \end{bmatrix}=2\begin{bmatrix} 1 \\ -1 \end{bmatrix}=2\bm x_3); これらのベクトルについては、&math(A\bm x); が元のベクトル &math(\bm x); と平行になっている。 ** 固有値問題 [#n8137cfa] 与えられた正方行列 &math(A); に対して、&math(\lambda);、&math(\bm x); が &math(A\bm x=\lambda\bm x); を満たすとき、 - &math(\lambda); を &math(A); の ''固有値'' ~ (ギリシャ文字の "ラムダ" で書くのが慣例) - &math(\bm x); を &math(A); の固有値 &math(\lambda); に属する ''固有ベクトル'' と呼ぶ。 ''固有値問題'' とは、~ 与えられた正方行列 &math(A); に対して、 固有値と固有ベクトルを(すべて)求める問題である。 ** どんな役にたつ? [#ueb1b3e3] この授業でもやるように、「行列の対角化」の基礎となる。~ → 行列の対角化は広い範囲の応用がある 特に量子力学では固有値、固有ベクトルが主要な役割を担う。 *** 注意 [#k93c0594] &math(\bm x=\bm o); とすると、 &math(A\bm o=\lambda \bm o=\bm o); は任意の &math(\lambda); に対して成り立ってしまう。 この ''自明な解'' &math(\bm x=\bm o); は固有ベクトルに含めない。 * 固有値問題の解法 [#z259e48c] まずは固有値を求めよう。 &math(A\bm x=\lambda \bm x); が成り立つとすれば、これに単位行列 &math(I); を掛けて、 &math(A\bm x=\lambda I \bm x); と書ける。すると、 &math(A\bm x-\lambda I \bm x=(A-\lambda I)\bm x=\bm o); が成立しなければならない。 行列 &math((A-\lambda I)); が正則である場合(逆行列を持つ場合)、 上式の左から逆行列を掛けると、 - (左辺)&math(=(A-\lambda I)^{-1}(A-\lambda I)\bm x=\bm x); - (右辺)&math(=(A-\lambda I)^{-1}\bm o=\bm o); となり、&math(\bm x=\bm o); が導かれてしまう。 すなわち、ある &math(\lambda); について行列 &math((A-\lambda I)); が正則になる時、 ''固有ベクトルは存在しない''。 したがって、正則でなくなるための条件 &math(|A-\lambda I|=0); が ''固有ベクトルが存在するための &math(\lambda); に対する必要条件'' であることが分かる。 固有値 &math(\lambda); が満たすこの方程式は ''「行列 &math(A); の固有方程式」'' と呼ばれる。 得られた &math(\lambda); に対して、&math(A\bm x=\lambda\bm x); を変形した &math((A-\lambda I)\bm x=\bm o); を &math(\bm x); について解けば固有ベクトルが求まる。 >下に見るように、固有方程式を満たす &math(\lambda); に対しては必ず &math(\bm x); を求められる。 > >→ 固有方程式は &math(\lambda); が固有値となるための必要十分条件である ** 手順をまとめると [#v62edec1] 固有値問題を解くための手順は次の通り: - 固有方程式 &math(|A-\lambda I|=0); から &math(\lambda); を(いくつか)求める - (個々の &math(\lambda); について) &math((A-\lambda I)\bm x=\bm o); を解いて &math(\bm x); を求める したがって、 - 一般には1つの行列 &math(A); が複数の固有値 &math(\lambda_1,\lambda_2,\lambda_3,\dots); を持つ(1つのこともある) - それぞれの固有値には、その固有値に属する固有ベクトルが(場合によっては複数)存在する -- &math(\lambda_1); → &math(\bm x_{\lambda_1}^{(1)}, \bm x_{\lambda_1}^{(2)}, \dots); -- &math(\lambda_2); → &math(\bm x_{\lambda_2}^{(1)}, \bm x_{\lambda_2}^{(2)}, \dots); -- : -- : ** 具体例 [#r11e6ae5] &math( A=\begin{bmatrix} 3 & 1 \\ 1 & 3 \end{bmatrix} ); のとき、 &math(A-\lambda I&= \begin{bmatrix} 3 & 1 \\ 1 & 3 \end{bmatrix} - \lambda \begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix} \\&= \begin{bmatrix} 3 & 1 \\ 1 & 3 \end{bmatrix} - \begin{bmatrix} \lambda & 0 \\ 0 & \lambda \end{bmatrix} \\&= \begin{bmatrix} 3-\lambda & 1 \\ 1 & 3-\lambda \end{bmatrix} ); &math( |A-\lambda I| &= \begin{vmatrix} 3-\lambda & 1 \\ 1 & 3-\lambda \end{vmatrix} \\&= (3-\lambda)^2-1^2 \\&= (3-\lambda+1)(3-\lambda-1) \\&= (4-\lambda)(2-\lambda) ); &math( \therefore \lambda=2,4 ); 固有ベクトルは &math(\lambda); のそれぞれの値に対して個別に求める。 ① &math(\lambda=2); の時 &math( (A-\lambda I)\bm x &= \begin{bmatrix} 3-2 & 1 \\ 1 & 3-2 \end{bmatrix} \begin{bmatrix} x \\ y \end{bmatrix} = \begin{bmatrix} 1 & 1 \\ 1 & 1 \end{bmatrix} \begin{bmatrix} x \\ y \end{bmatrix} = \bm o = \begin{bmatrix} 0 \\ 0 \end{bmatrix} ); &math(\bm x); を求める手順は &math((A-\lambda I)); を係数行列とする 連立方程式を解くことに帰着する。 拡大係数行列を行に対する基本変形を用いて階段化すると、 &math( \begin{bmatrix} 1 & 1 & 0\\ 1 & 1 & 0 \end{bmatrix} \sim \begin{bmatrix} 1 & 1 & 0\\ 0 & 0 & 0 \end{bmatrix} ); &math(\therefore x+y=0); 掃き出せなかった列に対応する &math(y); をパラメータに置き、&math(y=s); とすれば、 &math(x=-s); &math(\therefore \bm x=s\begin{bmatrix}-1\\1\end{bmatrix}); 同様に、 ② &math(\lambda=4); の時 &math( (A-\lambda I)\bm x &= \begin{bmatrix} -1 & 1 \\ 1 & -1 \end{bmatrix} \begin{bmatrix} x \\ y \end{bmatrix} = \bm o ); &math( \begin{bmatrix} -1 & 1 & 0\\ 1 & -1 & 0 \end{bmatrix} \sim \begin{bmatrix} 1 & -1 & 0\\ 1 & -1 & 0 \end{bmatrix} \sim \begin{bmatrix} 1 & -1 & 0\\ 0 & 0 & 0 \end{bmatrix} ); &math(\therefore x-y=0); そこで &math(y=t); と置けば、 &math(x=t); &math(\therefore \bm x=t\begin{bmatrix}1\\1\end{bmatrix}); まとめると、&math(A); は、~ 固有値 &math(\lambda=2); とそれに属する固有ベクトル &math(\bm x=s\begin{bmatrix}-1\\1\end{bmatrix});~ 固有値 &math(\lambda=4); とそれに属する固有ベクトル &math(\bm x=t\begin{bmatrix}1\\1\end{bmatrix});~ を持つ。ただし、&math(s,t); は任意の数を表すパラメータである。 ** 注意 [#w5ce0617] 固有方程式より &math((A-\lambda I)); が正則でない、すなわち &math(\mathrm{rank}\,(A-\lambda I)<n); が保証されている。 固有ベクトルを求める連立方程式は斉次であるため、 係数行列の rank は拡大係数行列の rank と一致することになり、 最後に得られる階段行列の最終行は必ず &math(0=0); の形になる。 すなわち &math(n); 列のうち掃き出せない列が必ず1列以上存在し、 解 &math(\bm x); はパラメータを含む形となる。 言い換えれば、無数の解が得られることになる。 これは、固有方程式が固有値の満たすべき必要条件であるだけでなく、 十分条件になっていることを表している(固有方程式を満たす &math(\lambda); は必ず固有値となる)。 注)固有方程式の解を用いたにもかかわらず、連立方程式が 無数の解を持つ形にならない場合には、 どこかで計算を間違えているため見直すべきである。 * 固有方程式が解を持たない場合 [#yddfdf2e] 固有方程式が解を持たない場合があるだろうか? 例: &math(A=\begin{bmatrix}\cos \theta & -\sin\theta \\ \sin\theta & \cos\theta \end{bmatrix}); &math(\theta\ne n\pi); の時、&math(A); は回転を表すため、 任意のベクトルが元とは異なる方向へ向くことになる~ → すなわち、元のベクトルと平行にならない。~ → すると、固有ベクトルは1つも存在しないはず!~ → 固有値も存在しないはず! &math(|A-\lambda I|= \begin{vmatrix} \cos \theta-\lambda & -\sin\theta \\ \sin\theta & \cos\theta -\lambda \end{vmatrix} =0 ); &math((\cos \theta-\lambda)^2+\underbrace{(\sin\theta)^2}_{>\,0}=0); &math(\sin\theta\ne 0); では、左辺第2項が正となるから、 この方程式を満たす &math(\lambda); は確かに存在しない・・・~ → 本当? いや、''複素数の範囲'' でなら存在する! &math((\cos \theta-\lambda)^2=-(\sin\theta)^2); &math(\cos \theta-\lambda=\pm i\sin\theta); &math(\lambda=\cos \theta \pm i\sin\theta); 2つの解が得られたので場合分けをして: ① &math(\lambda=\cos \theta + i\sin\theta); の時 &math((A-\lambda I)\bm x&= \begin{bmatrix} \cos \theta-\lambda & -\sin\theta \\ \sin\theta & \cos\theta -\lambda \end{bmatrix} \bm x = \begin{bmatrix} -i\sin\theta & -\sin\theta \\ \sin\theta & -i\sin\theta \end{bmatrix} \bm x\\ &= \sin\theta \begin{bmatrix} -i & -1 \\ 1 & -i \end{bmatrix} \begin{bmatrix} x \\ y \end{bmatrix} = 0 ); &math( \begin{bmatrix} -i & -1 & 0 \\ 1 & -i & 0 \end{bmatrix} ); 一行目に &math(i); を掛けてみる &math( = \begin{bmatrix} 1 & -i & 0 \\ 1 & -i & 0 \end{bmatrix} ); &math( = \begin{bmatrix} 1 & -i & 0 \\ 0 & 0 & 0 \end{bmatrix} ); &math(x-iy=0); より &math(y=s); と置けば、 &math(x=is); &math(\therefore \bm x=s\begin{bmatrix} i \\ 1 \end{bmatrix}); ② &math(\lambda=\cos \theta - i\sin\theta); の時 &math((A-\lambda I)\bm x&= \begin{bmatrix} i\sin\theta & -\sin\theta \\ \sin\theta & i\sin\theta \end{bmatrix} \bm x\\ &= \sin\theta \begin{bmatrix} i & -1 \\ 1 & i \end{bmatrix} \begin{bmatrix} x \\ y \end{bmatrix} = 0 ); &math( \begin{bmatrix} i & -1 & 0 \\ 1 & i & 0 \end{bmatrix} ); 一行目に &math(i); を掛けて &math( = \begin{bmatrix} -1 & -i & 0 \\ 1 & i & 0 \end{bmatrix} ); &math( = \begin{bmatrix} 1 & i & 0 \\ 0 & 0 & 0 \end{bmatrix} ); &math(x+iy=0); より &math(y=t); と置けば、 &math(x=-it); &math(\therefore \bm x=t\begin{bmatrix} -i \\ 1 \end{bmatrix}); 確認してみる: &math(A\bm x= \begin{bmatrix} \cos \theta & -\sin\theta \\ \sin\theta & \cos\theta \end{bmatrix} \begin{bmatrix} is \\ s \end{bmatrix} = \begin{bmatrix} is\cos \theta - s\sin\theta \\ is\sin\theta + s\cos\theta \end{bmatrix} = s(\cos \theta + i\sin\theta) \begin{bmatrix} i \\ 1 \end{bmatrix} ); &math(A\bm x= \begin{bmatrix} \cos \theta & -\sin\theta \\ \sin\theta & \cos\theta \end{bmatrix} \begin{bmatrix} -it \\ t \end{bmatrix} = \begin{bmatrix} -it\cos \theta - t\sin\theta \\ -it\sin\theta + t\cos\theta \end{bmatrix} = t(\cos \theta - i\sin\theta) \begin{bmatrix} -i \\ 1 \end{bmatrix} ); (騙されたみたい、に感じるけれど)ちゃんとうまく行く。 * 固有方程式の解 [#nae31dc3] ** 固有方程式の次数 [#vbe8bfb8] 固有方程式 &math(|A-\lambda I|=0); は必ず &math(\lambda); の &math(n); 次方程式となる。 なぜなら・・・ &math( |A-\lambda I| = \begin{vmatrix} a_{11} - \lambda & a_{12} & \cdots & a_{1n} \\ a_{21} & a_{22}-\lambda & & \vdots \\ \vdots & & \ddots & \\ a_{n1} & \cdots & & a_{nn}-\lambda \\ \end{vmatrix} = 0 ); 一般に「行列式」は各行、各列から重複の無いように &math(n); 個の要素を抜き出して積を作り、 そのような積を可能な限り集めて和にした物であった。 行列式 = &math(\sum_{(i_1,i_2,\dots,i_n)}\varepsilon (i_1,i_2,\dots,i_n) a_{1i_1}a_{2i_2}\dots a_{ni_n}); = Σ (符号) × ( n 個の要素の積 ) したがって、行列式は対角要素を全て掛け合わせた項 &math((a_{11}-\lambda)(a_{22}-\lambda)\dots(a_{nn}-\lambda)); を含んでいる。この項は明らかに &math(\lambda); の &math(n); 乗を含む。 また他の項(&math(n); 個の要素を掛け合わした物)が、 &math(\lambda); の &math(n); より大きな次数の項を含むことはあり得ない。 &math(\therefore |A-\lambda I|= (a_{11}-\lambda)(a_{22}-\lambda)\dots(a_{nn}-\lambda)+);(&math(\lambda);の&math(n);次以下の項) これは &math(\lambda); の &math(n); 次方程式である。 ** 代数学の基本定理 [#keb73eae] &math(n); 次方程式は複素数の範囲に必ず &math(n); 個の解を持つ。 というのが「代数学の基本定理」であった。 この定理から、それらの解を &math(\lambda_1,\lambda_2,\dots,\lambda_n); とすれば、 &math(|A-\lambda I|=(\lambda_1-\lambda)(\lambda_2-\lambda)\dots(\lambda_n-\lambda)); と因数分解できる。 すなわち、これらすべての解が異なれば &math(n); 個の固有値が得られることになる。 ** 重複解 [#ka476ac8] 実際には &math(n); 個のうちいくつかが等しい場合があり、 それらは「重複解」あるいは「重解」と呼ばれる。 上で &math(n); 個の解、と言っているのは重複解を個別に数えているので、 重複解がある場合には、 &math(|A-\lambda I|=(\lambda_1-\lambda)^3(\lambda_2-\lambda)(\lambda_2-\lambda)^2\dots(\lambda_m-\lambda)); などとなって、独立な固有値の個数 &math(m); は &math(m\le n); となる。 ** 固有値の個数 [#m7713e11] 重複度を含めて必ず &math(n); 個の固有値が存在する。 独立な固有値の個数 &math(m); は &math(1 \le m\le n); となる。 ** 例 [#h0720927] &math(n=4); 次行列 &math( A=\begin{bmatrix} 3 & 4 & -5 & 3 \\ 0 & 1 & 8 & 0 \\ 0 & 0 & 2 & -1 \\ 0 & 0 & 0 & 1 \end{bmatrix} ); について、 &math(|A-\lambda I| = (3-\lambda)(2-\lambda)(1-\lambda)^2); したがって、 &math(\lambda = 3, 2, 1); の3つの異なる固有値が見つかる。 ただし、1 は2重解であるため重複度を含めると行列の次数と等しい「4つ」の固有値が存在する。 * 固有ベクトルの自由度 [#k2bcc540] 行列 &math(A); に対して、ある固有値 &math(\lambda); が求まったとき、 &math(\lambda); に属する固有ベクトル &math(\bm x); を求める方程式は、 &math(n); 元 &math(n); 連立の一次方程式となる。 すなわち、 &math( (A-\lambda I)\bm x= \begin{bmatrix} a_{11}-\lambda & a_{12} & \dots & a_{1n} \\ a_{21} & a_{11}-\lambda & & \vdots \\ \vdots & & \ddots & \vdots \\ a_{n1} & \dots & & a_{nn} - \lambda \end{bmatrix} \begin{bmatrix} x_1\\x_2\\\vdots\\x_n \end{bmatrix} = \begin{bmatrix} 0\\0\\\vdots\\0 \end{bmatrix} =\bm o ); のことである。 階数の定義より、上記連立方程式の拡大係数行列を行に対する基本変形で階段行列化した際には 非ゼロの行が &math(\rank (A-\lambda I)); 行、ゼロの行が &math(n-\rank (A-\lambda I)); 行現われる。 &math( \begin{bmatrix} a_{11}-\lambda & a_{12} & \dots & a_{1n} & 0 \\ a_{21} & a_{11}-\lambda & & \vdots & \vdots \\ \vdots & & \ddots & \vdots & \vdots \\ a_{n1} & \dots & \dots & a_{nn} - \lambda & 0 \end{bmatrix} \sim \begin{bmatrix} * & * & \dots & * & 0 \\ \vdots & \vdots & & \vdots & \vdots \\ * & * & \dots & * & 0 \\ 0 & 0 & \dots & 0 & 0 \\ \vdots & \vdots & & \vdots & \vdots \\ 0 & 0 & \dots & 0 & 0 \\ \end{bmatrix} \begin{array}{ll} \Bigg\} \ \rank (A-\lambda I)\\ \\ \Bigg\} \ n- \rank (A-\lambda I)\\ \end{array} ); ここで係数行列 &math(A-\lambda I); は正則ではないため、 &math(\rank (A-\lambda I) < n); であり、 ゼロの行が必ず1行以上現われることになる。 このように、&math(n); 個の変数 &math(\bm x_1,\bm x_2,\dots,\bm x_n); に対して独立な式の数が &math(\rank (A-\lambda I)); 個しかないため、 これを解いた解には &math(n-\rank (A-\lambda I)); 個の未定係数(パラメータ)が現われることになる。 &math( \bm x = c^{(1)}\begin{bmatrix} x_1^{(1)}\\x_2^{(1)}\\ \vdots \\x_n^{(1)}\\ \end{bmatrix} + c^{(2)}\begin{bmatrix} x_1^{(2)}\\x_2^{(2)}\\ \vdots \\x_n^{(2)}\\ \end{bmatrix} +\dots + c^{(m)}\begin{bmatrix} x_1^{(m)}\\x_2^{(m)}\\ \vdots \\x_n^{(m)}\\ \end{bmatrix} ); ただし、&math(c^{(1)},c^{(2)},\dots,c^{(m)}); は任意係数であり、 &math(m=n-\rank (A-\lambda I)); である。 &math(\bm x); に含まれる任意パラメータの数 &math(m); が、 「固有ベクトルの自由度」である。 すなわち、固有ベクトルの自由度は、対応する &math(\lambda); に対して &math(n-\rank (A-\lambda I)); となることが言えたことになる。 繰り返しになるが、&math(\rank (A-\lambda I)<n); であるため、 すべての固有値に対する固有ベクトルは最低1以上の自由度を持つ。 以上は、「行列の階数」のところでやった「[[連立一次方程式の解の自由度>http://dora.bk.tsukuba.ac.jp/~takeuchi/index.php?%C0%FE%B7%C1%C2%E5%BF%F4%A3%C9%2F%B9%D4%CE%F3%A4%CE%B3%AC%BF%F4#r53ca169]]」の部分を ほぼそのままなぞる形の議論であるため、関連して復習せよ。 ** 注意 [#d04c9c1b] 教科書では同じ量を「固有空間の次元」と呼んでいる。 「次元」は線形代数Iの授業の範囲外であるため、 ここではあくまで「自由度」あるいは「パラメータの数」として理解していれば良い。 * 固有ベクトルの一次独立性 [#o23f59a7] 「&math(A); の異なる固有値に属する固有ベクトルは1次独立である」 この意味は、 「行列 &math(A); の固有値の中から、&math(r); 個の異なる固有値 &math(\lambda_1,\lambda_2,\dots,\lambda_r); を選び出し、これらに対応する固有ベクトルをそれぞれ1つ選んで &math(\bm x_1,\bm x_2,\dots,\bm x_r); とすれば、 この &math(r); 個のベクトルは一次独立である」 ということである。 まず確認: 「&math(\bm x_1,\bm x_2,\dots,\bm x_r); が一次独立」の意味は、 「&math(c_1\bm x_1+c_2\bm x_2+\dots+c_r\bm x_r=0); が成り立つと仮定すれば &math(c_1=c_2=\dots=c_n); を導けること」であった。 以下は数学的帰納法を用いた証明: &math(r=1); の時には、固有ベクトル &math(\bm x_1); は &math(\bm x_1\ne \bm o); を満たすため、 &math(c_1\bm x_1=\bm o); から明らかに &math(c_1=0); が導かれ、&math(\bm x_1); は一次独立である。 ベクトルが &math(r-1); 個の時は一次独立になると仮定して、 &math(r); 個でも一次独立になることを導く。~ (線形結合がゼロになることからすべての係数がゼロであることを導く) &math(c_1\bm x_1+c_2\bm x_2+\dots+c_r\bm x_r=0); ・・・(*) に左から &math(A); を掛ければ &math( &c_1A\bm x_1+c_2A\bm x_2+\dots+c_rA\bm x_r=\\ &c_1\lambda_1\bm x_1+c_2\lambda_2\bm x_2+\dots+c_r\lambda_r\bm x_r=0); 一方、(*)に &math(\lambda_r); を掛ければ、 &math( c_1\lambda_r\bm x_1+c_2\lambda_r\bm x_2+\dots+c_r\lambda_r\bm x_r=0); 2つの式を引き算すると、 &math( &c_1(\lambda_1-\lambda_r)\bm x_1+c_2(\lambda_2-\lambda_r)\bm x_2+\dots+c_{r-1}(\lambda_{r-1}-\lambda_r)\bm x_{r-1}+c_r(\lambda_r-\lambda_r)\bm x_r=\\ &c_1(\lambda_1-\lambda_r)\bm x_1+c_2(\lambda_2-\lambda_r)\bm x_2+\dots+c_{r-1}(\lambda_{r-1}-\lambda_r)\bm x_{r-1}=0); 仮定より、異なる固有値に属する &math(r-1); 個の固有ベクトル &math(\bm x_1,\bm x_2,\dots,\bm x_{r-1}); は一次独立であるため、 &math(c_1(\lambda_1-\lambda_r)=c_2(\lambda_2-\lambda_r)=\dots=c_{r-1}(\lambda_{r-1}-\lambda_r)=0); であり、すべての固有値が異なるという仮定から、 &math(c_1=c_2=\dots=c_{r-1}=0); が導かれる。 さらにこれらを(*)に代入すれば、明らかに &math(c_r=0); である。 すなわち、(*)から &math(c_1=c_2=\dots=c_{r-1}=c_r=0); が導かれたことになり、 &math(\bm x_1,\bm x_2,\dots,\bm x_r); は一次独立であることが言えた。 &math(r=1); で成り立つことと、~ &math(r-1); で成り立てば &math(r); で成り立つことから、~ 与えられた命題は全ての &math(r); に対して成り立つことが証明された。 * 相似な行列・相似変換 [#q6b2c455] &math(n); 次正方行列 &math(A); に対して、 ある&math(n); 次正方行列 &math(P); を使って &math(A\rightarrow P^{-1}AP); とする変換を、「相似変換」と呼ぶ。 また、行列 &math(B); をある行列 &math(P); を使って &math(B=P^{-1}AP); と表せる時、 行列 &math(B); は &math(A); と「相似である」という。 ** 注記 [#kb3bf097] このように定義した「相似」という概念は1つの「同値関係」を定義する。 すなわち、相似関係は以下の「同値関係の公理」を満たす。 + &math(A); と &math(A); は相似である(反射率) + &math(A); と &math(B); が相似であれば、&math(B); と &math(A); も相似である(対称律) + &math(A); と &math(B);、&math(B); と &math(C); が相似ならば &math(A) と &math(C); も相似である(推移律) * 固有値は相似変換に対して保存する [#w594f4fc] 「相似変換に対して固有方程式は変化しない」 すなわち、&math(A); と &math(P^{-1}AP) とは全く同じ固有方程式を持つ。 すなわち、&math(A); と &math(P^{-1}AP); とは全く同じ固有方程式を持つ。 なぜなら、 &math( &|P^{-1}AP-\lambda I|=\\ &|P^{-1}AP-\lambda P^{-1}P|=\\ &|P^{-1}(A-\lambda I)P|=\\ &|P^{-1}|\,|(A-\lambda I)|\,|P|=\\ &|P|^{-1}\,|(A-\lambda I)|\,|P|=\\ &|A-\lambda I|=0\\ ); ここで、 + 行列の積の行列式は行列式の積である &math(|AB|=|A||B|); + 単位行列の行列式は1である &math(|I|=1); + 逆行列の行列式は元の行列の行列式の逆数である &math(|P^{-1}|=|P|^{-1});~ &math(\because |P^{-1}P|=|P^{-1}||P|=|I|=1); を使った。 この結果から、 「&math(P^{-1}AP); と &math(A); の固有値は重複度も含めて等しい」 ことが分かる。 * 行列の対角化・三角化 [#td90b724] 固有値と固有ベクトルを用いると、相似変換により行列の対角化ができる場合がある。 - 固有値と固有ベクトルを用いると、相似変換により任意の行列の三角化が可能である。 - 固有値と固有ベクトルを用いると、相似変換により対角化ができる場合とできない場合がある。 ** 相似変換による三角化・対角化とは? [#c6933617] ある行列 &math(A); を正則行列 &math(P); によって相似変換して結果を三角行列あるいは対角行列にすること。~ あるいは、そのような行列 &math(P); を見つけること。 三角化: &math(P^{-1}AP= \begin{bmatrix} a'_{11}&*&*&\dots&*\\ 0&a'_{22}&*&\dots&*\\ 0&0&\ddots&&\vdots\\ \vdots&\vdots&&\ddots&*\\ 0&0&\dots&0&a'_{nn} \end{bmatrix} ); 対角化: &math(P^{-1}AP= \begin{bmatrix} a'_{11}&0&0&\dots&0\\ 0&a'_{22}&0&\dots&0\\ 0&0&\ddots&&\vdots\\ \vdots&\vdots&&\ddots&0\\ 0&0&\dots&0&a'_{nn} \end{bmatrix} ); *** 注 [#rc80f99d] この教科書で「三角化」というのは「上三角化」のことを指している場合が多い。 一般には下三角行列にすることも三角化と呼ばれる。 対角行列は三角行列であるから、対角化は三角化の特殊例である。 ** 三角化(対角化)できたならば、対角成分は A の固有値である [#l8dc27fd] &math(P^{-1}AP); が三角行列の時、&math(P^{-1}AP-\lambda I); も三角行列である。 >例: > >&math(P^{-1}AP=\begin{bmatrix}a&b\\0&d\end{bmatrix}); > >なら、 > >&math(P^{-1}AP-\lambda I=\begin{bmatrix}a-\lambda&b\\0&d-\lambda\end{bmatrix}); 三角行列の行列式は対角成分の積であるから、 &math(|P^{-1}AP-\lambda I|=(a'_{11}-\lambda)(a'_{22}-\lambda)\dots(a'_{nn}-\lambda)); 一方、&math(A); の固有多項式は、 &math(|A-\lambda I|=(\lambda_1-\lambda)(\lambda_2-\lambda)\dots(\lambda_n-\lambda)); 両者を比べると、順番を除いて &math(a'_{11}=\lambda_1);、&math(a'_{22}=\lambda_2);、・・・&math(a'_{nn}=\lambda_n); であることになる。 すなわち、三角化後の対角成分には重複度を含めた &math(n); 個の固有値が現われる。 &math(P^{-1}AP= \begin{bmatrix} \lambda_1&*&*&\dots&*\\ 0&\lambda_2&*&\dots&*\\ 0&0&\ddots&&\vdots\\ \vdots&\vdots&&\ddots&*\\ 0&0&\dots&0&\lambda_n \end{bmatrix} ); ** 対角化するための P をどのように見つけるか [#mab4319f] *** 準備:P の列ベクトルが固有ベクトルである場合を考える [#x043cb8d] 行列 &math(P); の列ベクトルを &math(\bm p_1, \bm p_2, \dots, \bm p_n); と置き、 このうち &math(\bm p_k); が固有値 &math(\lambda); に属する固有ベクトルであるとする。 &math(P=\Bigg[ \bm p_1 \ \bm p_2 \ \dots \ \bm p_n \Bigg]); &math(A \bm p_k=\lambda \bm p_k); このとき、&math(P^{-1}AP); の &math(k); 番目の列ベクトルについて考える。 一般に、行列 &math(B); に &math(k); 番目の基本ベクトルを左から掛けると、 &math(B=\Big[\bm b_1,\bm b_2,\dots,\bm b_n \Big]); から &math(k); 番目の列ベクトル &math(\bm b_k); を取り出すことができる。 &math( B\bm e_k=\Bigg[\bm b_1\ \bm b_2\ \dots\ \bm b_n \Bigg]\begin{bmatrix} 0\\ \vdots\\ 0\\ 1\\ 0\\ \vdots\\ 0\\ \end{bmatrix} \begin{matrix} \\ \\ \\ \leftarrow k \\ \\ \\ \\ \end{matrix} = \bm b_k ); そこで、 &math((P^{-1}AP)\bm e_k=P^{-1}A(P\bm e_k)=P^{-1}A\bm p_k=P^{-1}\lambda\bm p_k= P^{-1}\lambda P\bm e_k=\lambda \bm e_k= \begin{bmatrix} 0\\ \vdots\\ 0\\ \lambda\\ 0\\ \vdots\\ 0\\ \end{bmatrix} \begin{matrix} \\ \\ \\ \leftarrow k \\ \\ \\ \\ \end{matrix} ); とすれば、&math(P^{-1}AP); の &math(k); 番目の列ベクトルは &math(k); 番目の成分に &math(\bm p_k); の固有値を持ち、残りがゼロとなる。 *** 対角化 [#je1e3f25] したがって、&math(P); の列ベクトルがすべて固有ベクトルであれば、 &math(P^{-1}AP= \begin{bmatrix} \lambda_1&0&0&\dots&0\\ 0&\lambda_2&0&\dots&0\\ 0&0&\ddots&&\vdots\\ \vdots&\vdots&&\ddots&0\\ 0&0&\dots&0&\lambda_n \end{bmatrix} ); と対角化できることになる。 ** 対角化可能条件 [#vd02847b] 対角化は必ずしも可能ではない。~ → &math(n); 本の固有ベクトルを並べて作った &math(P); が正則であれば対角化できるが、正則にならなければうまくいかない。 上で見たように、 「&math(P); が正則となるように &math(n); 本の固有ベクトルを選ぶことができる」 というのが「行列 &math(A); を対角化できる」十分条件となる。 実はこれは必要条件でもある。 &math(P^{-1}AP= \begin{bmatrix} \lambda_1&0&0&\dots&0\\ 0&\lambda_2&0&\dots&0\\ 0&0&\ddots&&\vdots\\ \vdots&\vdots&&\ddots&0\\ 0&0&\dots&0&\lambda_n \end{bmatrix} ); として対角化できるとき、&math(\bm e_k); を右から掛ければ 左辺: &math( P^{-1}AP\bm e_k=P^{-1}A(P\bm e_k)=P^{-1}A\bm p_k ); 右辺: &math( \begin{bmatrix} \lambda_1&0&0&\dots&0\\ 0&\lambda_2&0&\dots&0\\ 0&0&\ddots&&\vdots\\ \vdots&\vdots&&\ddots&0\\ 0&0&\dots&0&\lambda_n \end{bmatrix}\bm e_k = \lambda_k \bm e_k= \lambda_k P^{-1}P\bm e_k=P^{-1}(\lambda_k\bm p_k) ); すなわち、 &math(P^{-1}A\bm p_k=P^{-1}(\lambda_k\bm p_k)); 左から &math(P); を掛ければ &math(A\bm p_k=\lambda_k\bm p_k); となって、&math(P); の全ての列ベクトルは &math(A); の固有ベクトルである。 *** より使いやすい条件 [#vddecf00] [[教科書の P83 あたり>http://dora.bk.tsukuba.ac.jp/~takeuchi/index.php?%C0%FE%B7%C1%C2%E5%BF%F4%A3%C9%2F%A5%D9%A5%AF%A5%C8%A5%EB%B6%F5%B4%D6%A4%C8%C0%FE%B7%C1%BC%CC%C1%FC#p53f7b35]] でやったように「正則な行列の列ベクトルは一次独立である」 したがって、「&math(A); が &math(n); 本の一次独立な固有ベクトルを持つこと」 が &math(A); を対角化できる条件となる。 *** n 個の異なる固有値を持つ場合 [#h7f9658d] - &math(A); は重複度を含めて &math(n); 個の固有値を持つから、 - 異なる固有値に属する固有ベクトルは一次独立である から、 「固有値が全て異なる場合には &math(n); 本の一次独立な固有ベクトルが得られ対角化が可能である」 すなわち、&math(A); の固有値 &math(\lambda_1,\lambda_2,\dots,\lambda_n); がすべて異なるなら、 対応する固有ベクトルを1つづつ取って &math(P=\Bigg[\bm x_1\ \bm x_2\ \dots\bm x_n\Bigg]); を作れば &math(P); は一次独立になる。 *** 固有値に重複解がある場合 [#bc6b2212] &math(n); 個の固有値のうち等しい物があれば、その固有値を重複解と呼ぶのであった。 固有値方程式が重複解を持つ場合、対角化が不可能な場合がある。 すべての固有値が、自身の重複度と同じ数の一次独立な固有ベクトルを持てば、 全体で &math(n); 個の一次独立な固有ベクトルが得られる。~ → なぜなら固有値は重複度を含めて &math(n); 本あるから 逆に、ある固有値 &math(\lambda_k); に属する固有ベクトルの自由度 &math(f_k); が 固有値の重複度 &math(r_k); よりも小さくなるとき、行列は対角化できない。 (これを言うためには固有ベクトルの自由度が固有値の重複度を超えることがない ことを言わなければならないが、この証明は三角化について学んでからにする) ** 対角化可能性の判別 [#m6c9bb07] すべての固有値が、自身の重複度と同じ数の一次独立な固有ベクトルを持つことを確認すればよい ** 行列の三角化 [#m3c1a3d7] 対角化が必ずしも可能とは限らないのに対して、~ 三角化は任意の行列 &math(A); に対して必ず可能である。~ → 定理 6.2 証明には数学的帰納法を使う: + &math(n=1); 次の時三角化可能 + &math(n-1); 次が三角化可能であれば &math(n); 次が三角化可能 1. については、&math(A=[a]); はそれ自身が三角行列であるから明らかに三角化可能 2. について、 &math(n); 次正方行列 &math(A); の固有値 &math(\lambda_1); に対する固有ベクトルを &math(\bm r_1); とする。 (固有値・固有ベクトルの組は必ず1つは求まる) この &math(\bm r_1); に対して、 &math(R=\Bigg[ \bm r_1\ \bm r_2\ \dots\ \bm r_n \Big]); が正則となるように &math(\bm r_2,\bm r_3,\dots,\bm r_n); を定めると(これは常に可能である)、 &math(R^{-1}AR\bm e_1=R^{-1}A(R\bm e_1)=R^{-1}A\bm r_1=R^{-1}\lambda\bm r_1=R^{-1}\lambda R\bm e_1 = \lambda \bm e_1); であるから、&math(R^{-1}AR); の一列目は第一要素が &math(\lambda);、その他が &math(0); であり、 &math( R^{-1}AR=\begin{bmatrix} \lambda_1&\bm b\\ \bm o&A_1 \end{bmatrix} ); と書き表すことができる。 ここで、&math(\bm b); は内容不定な行ベクトルである。 もし &math(n-1); 次の行列 &math(A_1); が正則行列 &math(Q); により三角化可能であるとすれば、 &math(Q^{-1}A_1Q=D= \begin{bmatrix} \lambda_2&*&\dots&*\\ 0&\lambda_3&&\vdots\\ \vdots&&\ddots&*\\ 0&\dots&0&\lambda_n \end{bmatrix} ); 上記の &math(R); と &math(Q); を用いて、 &math(P=R\begin{bmatrix} 1&\bm o\\ \bm o&Q \end{bmatrix} ); なるベクトル &math(P); を作れば、 &math(P^{-1}=\begin{bmatrix} 1&\bm o\\ \bm o&Q^{-1} \end{bmatrix}R^{-1} ); であるから &math(P); は正則で、 &math( P^{-1}AP=\begin{bmatrix} 1&\bm o\\ \bm o&Q^{-1} \end{bmatrix}R^{-1} A R\begin{bmatrix} 1&\bm o\\ \bm o&Q \end{bmatrix}= \begin{bmatrix} 1&\bm o\\ \bm o&Q^{-1} \end{bmatrix} \begin{bmatrix} \lambda_1&\bm b\\ \bm o&A_1 \end{bmatrix} \begin{bmatrix} 1&\bm o\\ \bm o&Q \end{bmatrix}=\\ \ \\ \begin{bmatrix} 1&\bm o\\ \bm o&Q^{-1} \end{bmatrix} \begin{bmatrix} \lambda_1&\bm b Q\\ \bm o&A_1Q \end{bmatrix} = \begin{bmatrix} \lambda_1&\bm b Q\\ \bm o&Q^{-1}A_1Q \end{bmatrix} = \begin{bmatrix} \lambda_1&\bm b Q\\ \bm o&\begin{bmatrix} \lambda_2&*&\dots&*\\ 0&\lambda_3&&\vdots\\ \vdots&&\ddots&*\\ 0&&0&\lambda_n\\ \end{bmatrix} \end{bmatrix} ); であるから &math(P); により &math(n); 次行列 &math(A); を三角化可能である。 したがって、任意の次数の行列 &math(A); について、&math(P^{-1}AP); を三角行列にするような &math(P); が存在することが証明された。 * 対角化の実用性 [#m36ca238] 対角行列の性質を確認する。 ** 対角行列の累乗 [#y3d82efa] 対角行列 &math(D); を &math(D=\begin{bmatrix}a&0\\0&d\end{bmatrix}); とすれば、 &math(D^2=\begin{bmatrix}a&0\\0&d\end{bmatrix}\begin{bmatrix}a&0\\0&d\end{bmatrix}=\begin{bmatrix}a^2&0\\0&d^2\end{bmatrix}); である。 同様に、 &math(D^m=\begin{bmatrix}a^m&0\\0&d^m\end{bmatrix}); となる。 ** 対角行列の多項式 [#v94b7d4f] &math(\alpha D^l+\beta D^m=\alpha \begin{bmatrix}a^l&0\\0&d^l\end{bmatrix}+\beta \begin{bmatrix}a^m&0\\0&d^m\end{bmatrix} =\begin{bmatrix}\alpha a^l+\beta a^m&0\\0&\alpha d^l+\beta d^m\end{bmatrix}); 元の式 &math(\alpha D^l+\beta D^m); と、~ 結果の対角要素 &math(\alpha a^l+\beta a^m);、&math(\alpha d^l+\beta d^m); ~ の類似性に注目せよ。 ** 一般の行列の累乗 [#l3589701] &math(A); を &math(n); 次の行列として、&math(P); により対角化可能とする。 &math(P^{-1}AP=D= \begin{bmatrix} \lambda_1&0&\dots&0\\ 0&\lambda_2&&\vdots\\ \vdots&&\ddots&0\\ 0&\dots&0&\lambda_n \end{bmatrix} ); すると、 &math((P^{-1}AP)^m=P^{-1}APP^{-1}AP\dots P^{-1}AP= P^{-1}A^mP= \begin{bmatrix} \lambda_1^m&0&\dots&0\\ 0&\lambda_2^m&&\vdots\\ \vdots&&\ddots&0\\ 0&\dots&0&\lambda_n^m \end{bmatrix} ) より、 &math(A^m = P \begin{bmatrix} \lambda_1^m&0&\dots&0\\ 0&\lambda_2^m&&\vdots\\ \vdots&&\ddots&0\\ 0&\dots&0&\lambda_n^m \end{bmatrix} P^{-1} ) と表せる。 左辺を普通に計算しようとすれば &math(m-1); 回の行列のかけ算が必要になるが、 右辺は数値の &math(m); と、2回の行列のかけ算で済むため計算量が少なく、 また理論的にも見通しがよい。 ** 一般の行列の多項式 [#s10b8802] &math(g(x)); を任意の多項式として、 &math(g(x)=a_0+a_1x+a_2x^2+a_3x^3+\dots=\sum_{k=0}a_kx^k); &math(g(A)); を次のように定義する。 &math(g(A)=a_0\red{I}+a_1A+a_2A^2+a_3A^3+\dots=\sum_{k=0}a_kA^k); (ゼロ次項に単位行列が掛かっていることに注意せよ) すると、 &math(g(P^{-1}AP)&=a_0I+a_1(P^{-1}AP)+a_2(P^{-1}AP)^2+a_3(P^{-1}AP)^3+\dots\\ &=a_0P^{-1}P+a_1(P^{-1}AP)+a_2(P^{-1}AP)^2+a_3(P^{-1}AP)^3+\dots\\ &=a_0P^{-1}P+a_1P^{-1}AP+a_2P^{-1}A^2P+a_3P^{-1}A^3P+\dots\\ &=P^{-1}(a_0+a_1A+a_2A^2+a_3A^3+\dots)P\\ &=P^{-1}g(A)P\\ &= \begin{bmatrix} g(\lambda_1)&0&\dots&0\\ 0&g(\lambda_2)&&\vdots\\ \vdots&&\ddots&0\\ 0&\dots&0&g(\lambda_n) \end{bmatrix} ); したがって、 &math( g(A)= &= P \begin{bmatrix} g(\lambda_1)&0&\dots&0\\ 0&g(\lambda_2)&&\vdots\\ \vdots&&\ddots&0\\ 0&\dots&0&g(\lambda_n) \end{bmatrix} P^{-1} ); のように、任意の行列の多項式を、対角化を用いて固有値の多項式に関連づけることができる。 ** 行列の超関数 [#u126bcdc] 指数関数のテイラー展開は、 &math(e^x=1+x+\frac{1}{2!}x^2+\frac{1}{3!}x^3+\dots=\sum_{k=0} \frac{1}{k!}x^k); であるから、 &math(ae^{bA}=a\sum_{k=0} \frac{1}{k!}(bA)^k= aP \begin{bmatrix} g(b\lambda_1)&0&\dots&0\\ 0&g(b\lambda_2)&&\vdots\\ \vdots&&\ddots&0\\ 0&\dots&0&g(b\lambda_n) \end{bmatrix} P^{-1}); などとして、「行列の指数関数」を定義できる。 このような関数が量子力学他で利用される。 ** ケーリーハミルトンの定理 [#c6f8fcff] 上記の &math(g(x)); として、&math(A); の固有多項式 &math(f_A(x)=|A-xI|); を取れば、 &math(f_A(A)= P \begin{bmatrix} f_A(\lambda_1)&0&\dots&0\\ 0&f_A(\lambda_2)&&\vdots\\ \vdots&&\ddots&0\\ 0&\dots&0&f_A(\lambda_n) \end{bmatrix} P^{-1} ); ところが、&math(\lambda_k); は固有方程式 &math(f_A(\lambda)=0); の解であるから、 &math(f_A(\lambda_k)); はすべてゼロになって、 &math(f_A(A)= P \begin{bmatrix} 0&0&\dots&0\\ 0&0&&\vdots\\ \vdots&&\ddots&0\\ 0&\dots&0&0 \end{bmatrix} P^{-1} =POP^{-1}=O ); となる。 例: &math( A=\begin{bmatrix} 0&-1\\ 1&1\\ \end{bmatrix} ); とすれば、 &math( f_A(\lambda)=|A-\lambda I|=\begin{vmatrix} 0-\lambda&-1\\ 1&1-\lambda\\ \end{vmatrix}= -\lambda(1-\lambda)+1=\lambda^2-\lambda+1 ); したがって、ケーリー・ハミルトンの定理より、 固有値や固有ベクトルを求めることなく、 &math(f_A(A)=A^2-A+I=O); が成立することが分かる。 これを用いると、 &math(A^2=A-I); &math(A^3=A^2A=(A-I)A=A^2-A=A-I-A=-I); &math(A^4=A^3A=-IA=-A); &math(A^5=A^4A=-AA=-(A-I)=-A+I); &math(A^6=A^5A=(-A+I)A=-A^2+A=-A+I+A=I); したがって、整数 &math(n); を6で割ったあまりを &math(l); とすると、 (&math(n=6k+l); ただし &math(0\le l<6);) &math( A^n=A^{6k+l}=(A^6)^kA^l=I^6A^l=A^l= \begin{cases} I&(l=0)\\ A-I&(l=1)\\ -A&(l=2)\\ -I&(l=3)\\ -A+I&(l=4)\\ A&(l=5)\\ \end{cases} ); と表せることが分かる。 ** 注 [#h415c9f4] 上記は &math(A); が対角化可能な時のみの証明になっているが、 ケーリーハミルトンの定理は対角化不能な &math(A); でも成立する。 &math(f_A(\lambda)=(\lambda_1-\lambda)(\lambda_2-\lambda)\dots(\lambda_n-\lambda)); より、 &math(&P^{-1}f_A(A)P=f_A(P^{-1}AP)= (\lambda_1 I-P^{-1}AP)(\lambda_2 I-P^{-1}AP)\dots (\lambda_n I-P^{-1}AP)=\\ &\begin{bmatrix} 0&*&\dots&*\\ 0&\lambda_1-\lambda_2&&\vdots\\ \vdots&&\ddots&*\\ 0&\dots&0&\lambda_1-\lambda_n \end{bmatrix} \begin{bmatrix} \lambda_2-\lambda_1&*&\dots&*\\ 0&0&&\vdots\\ \vdots&&\ddots&*\\ 0&\dots&0&\lambda_2-\lambda_n \end{bmatrix} \dots \begin{bmatrix} \lambda_n-\lambda_1&*&\dots&*\\ 0&\lambda_n-\lambda_2&&\vdots\\ \vdots&&\ddots&*\\ 0&\dots&0&0 \end{bmatrix} =O\\ ); したがって、左から &math(P); 右から &math(P^{-1}); を掛ければ &math(f_A(A)=O); となる。 ** 注2 [#w579404c] 上記でやり残した「固有値 &math(\lambda_k); が重複度 &math(r_k); を持つ時、 固有関数の自由度 &math(f_k); は &math(r_k); 以下である」を証明しよう。 行列の階数は正則行列のかけ算で変化しないから、 &math(\rank(A-\lambda_k I)=\rank\{P^{-1}(A-\lambda_k I)P\}=\rank(P^{-1}AP-\lambda_k I)); &math(P); を &math(A); を三角化するように取れば、 &math(P^{-1}AP-\lambda_k= \begin{bmatrix} \lambda_1-\lambda_k&*&\dots&*\\ 0&\lambda_2-\lambda_k&&\vdots\\ \vdots&&\ddots&*\\ 0&\dots&0&\lambda_n-\lambda_k \end{bmatrix} ); &math(n); 個の対角成分のうち &math(r_k); 個がゼロとなり、 &math(n-r_k); 個は非ゼロである。 完全にゼロとなる行を上に詰めれば、この行列は階段行列となるが、 その際の &math();
Counter: 431274 (from 2010/06/03),
today: 31,
yesterday: 107