固有値と固有ベクトル のバックアップソース(No.8)

更新

[[線形代数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);

** 固有値問題 [#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(\lambda); に対して ''固有ベクトルは存在しない''。

つまり、正則でなくなるための条件

&math(|A-\lambda I|=0); 

が ''固有ベクトルが存在するための &math(\lambda); に対する必要条件'' であることが分かる。

固有値 &math(\lambda); が満たすこの方程式は
''「行列 &math(A); の固有方程式」'' と呼ばれる。

得られた &math(\lambda); に対して、

&math(A\bm x=\lambda\bm x); を &math(\bm x); について解く、

あるいはこれを変形した、

&math((A-\lambda I)\bm x=\bm o); を &math(\bm x); について解けば、

&math(\lambda); に対応する固有ベクトルが求まる。

>&math((A-\lambda I)\bm x=\bm o); を &math(\bm x); について解けば、
>&math(\bm x=\bm 0); は常に解となる。
>
>下に見るように、固有方程式を満たす &math(\lambda); に対しては、
>&math(\bm x\ne \bm 0); となる解も必ず存在する。
>
>→ 固有方程式は &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); は任意の数を表すパラメータである。

* 固有方程式が解を持たない場合 [#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); 個の解を持つ。

というのが「[[代数学の基本定理>Wikipedia:代数学の基本定理]]」であった。

それら &math(n); 個の解を &math(\lambda_1,\lambda_2,\dots,\lambda_n); とすれば、
&math(A); の固有多項式は、

&math(|A-\lambda I|=(\lambda_1-\lambda)(\lambda_2-\lambda)\dots(\lambda_n-\lambda)=0);

と因数分解できる。

これらすべての解が異なれば &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(\bm x_0); が &math(A); の固有値 &math(\lambda_0); に属する固有値(&math(A\bm x_0=\lambda_0 \bm x_0);) であれば、
任意の実数 &math(k); に対して すなわち、&math(\bm x=k\bm x_0); と表せるすべてのベクトルはも &math(\lambda_0); に属する固有ベクトルである。

なぜなら、&math(A (k\bm x_0)=kA\bm x_0=k\labmda_0 \bm x_0=\lambda_0(k\bm x_0);

このように、固有ベクトルは必ずパラメータを含む形で求まる。

ある固有値 &math(\labmda); に属する固有ベクトルに含まれるパラメータの数=自由度について考えよう。

&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-\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(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=0); を導けること」であった。

以下は数学的帰納法を用いた証明:

(1)~
&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); は一次独立である。

(2)~
ベクトルが &math(r-1); 個の時に一次独立になると仮定して、
&math(r); 個でも一次独立になることを導く。

「&math(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=0); が導けること」なので、


&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 \ge 1); に対して成り立つことが証明された。

* 相似な行列・相似変換 [#q6b2c455]

行列 &math(A); と &math(B); との間に

&math(B=P^{-1}AP);

の関係があるとき、

「&math(A); と &math(B); とは相似である」という。


** 注記 [#kb3bf097]

このように定義した「相似」という概念は1つの「同値関係」を定義する。

すなわち、相似関係は以下の「同値関係の公理」を満たす。

+ &math(A); と &math(A); は相似である(反射率)~
∵ &math(P=I); と取ればよい
+ &math(A); と &math(B); が相似であれば、&math(B); と &math(A); も相似である(対称律)~
∵ &math(P^{-1}AP=B); に左から &math(P); を、右から &math(P^{-1}); を掛けると~
&math(PBP^{-1}=(P^{-1})^{-1}BP^{-1}=A); これは &math(P^{-1}); に対して &math(B); と &math(A); が相似であることを示している。
+ &math(A); と &math(B);、&math(B); と &math(C); が相似ならば &math(A) と &math(C); も相似である(推移律)
∵ &math(P^{-1}AP=B, Q^{-1}BQ=C); の時、&math(Q^{-1}(P^{-1}AP)Q=Q^{-1}P^{-1}APQ=(PQ)^{-1}A(PQ)=C); これは &math(PQ); に対して &math(A); と &math(C); とが相似であることを示している。(積の逆行列は逆行列の積の順番を入れ替えた物であったことに注意)

また、&math(n); 次正方行列 &math(A); に対して、
ある&math(n); 次正方行列 &math(P); を使って

&math(A\rightarrow P^{-1}AP); 

とする変換を、「相似変換」と呼ぶ。

* 相似変換は固有値を保存する [#w594f4fc]

相似変換によって固有値が変化しない、すなわち~
''相似な行列というのは、固有値が等しい行列のこと''

これでようやく「どこが似ているか」が分かった! ← 相似 = 「相手と似ていること」


証明:

&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]

*** 固有ベクトルを並べた行列 [#x043cb8d]

行列 &math(P); の列ベクトルを &math(\bm p_1, \bm p_2, \dots, \bm p_n); と置き、
これらすべてが &math(A); の固有値であるとする。

&math(P=\Bigg[ \bm p_1 \ \bm p_2 \ \dots \ \bm p_n \Bigg]);

&math(A\bm p_k=\lambda_k \bm p_k);

このとき、

&math(
P^{-1}AP
&=P^{-1}A\Bigg[ \bm p_1 \ \bm p_2 \ \dots \ \bm p_n \Bigg]\\
&=P^{-1}\Bigg[ A\bm p_1 \ A\bm p_2 \ \dots \ A\bm p_n \Bigg]\\
&=P^{-1}\Bigg[ \lambda_1\bm p_1 \ \lambda_2\bm p_2 \ \dots \ \lambda_n\bm p_n \Bigg]\\
&=P^{-1}\underbrace{\Bigg[ \bm p_1 \ \bm p_2 \ \dots \ \bm p_n \Bigg]}_{P}\begin{bmatrix}
\lambda_1&0&\hdots&0\\
0&\lambda_2&&\vdots\\
\vdots&&\ddots&0\\
0&\hdots&0&\lambda_n
\end{bmatrix}\\
&=\begin{bmatrix}
\lambda_1&0&\hdots&0\\
0&\lambda_2&&\vdots\\
\vdots&&\ddots&0\\
0&\hdots&0&\lambda_n
\end{bmatrix}
);

となって、対角化できる。

対角化された行列の中に現れる固有値の順番が、
始めに並べた &math(\bm p_1, \bm p_2, \dots, \bm p_n); と同じ順になることに注意せよ。

** 対角化可能条件 [#vd02847b]

対角化は必ずしも可能ではない。~
→  &math(n); 本の固有ベクトルを並べて作った &math(P); は必ずしも正則にならない。

「&math(P); が正則となるように &math(n); 本の固有ベクトルを選ぶことができる」
というのが「行列 &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(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]

すべての固有値が、自身の重複度と同じ数の一次独立な固有ベクトルを持つことを確認すればよい。

例(例8):

&math(A=\begin{bmatrix}1&0&0\\1&2&-3\\1&1&-2\end{bmatrix});

&math(
|A-\lambda I|&=\begin{vmatrix}1-\lambda&0&0\\1&2-\lambda&-3\\1&1&-2-\lambda\end{vmatrix}\\
&=(1-\lambda)\begin{vmatrix}2-\lambda&-3\\1&-2-\lambda\end{vmatrix}\\
&=(1-\lambda)\{(2-\lambda)(-2-\lambda)+3\}\\
&=(1-\lambda)(\lambda^2-1)\\
&=(1-\lambda)(\lambda-1)(\lambda+1)\\
&=(1-\lambda)^2(1+\lambda)\\
&=0
);

&math(\therefore \lambda=1,-1);

&math(\lambda=1); が2重解なので、こちらに対応する固有ベクトルを求めてみる。

&math(
&(A-\lambda I)\bm x=\begin{bmatrix}0&0&0\\1&1&-3\\1&1&-3\end{bmatrix}\begin{bmatrix}x\\y\\z\end{bmatrix}=\begin{bmatrix}0\\0\\0\end{bmatrix}\\
&\rightarrow x+y-3z=0\\
);

掃き出せない &math(y,z); をパラメータに置くと、

&math(y=s, z=t \rightarrow x=-s+3t);

&math(\therefore \begin{bmatrix}x\\y\\z\end{bmatrix}=s\begin{bmatrix}-1\\1\\0\end{bmatrix}+t\begin{bmatrix}3\\0\\1\end{bmatrix});

となり、例えば &math(\begin{bmatrix}-1\\1\\0\end{bmatrix},\begin{bmatrix}3\\0\\1\end{bmatrix});
として一時独立な2本の固有ベクトルを選ぶことができる。

すなわち、&math(A); は対角化可能であることが分かる。

以下、実際に対角化してみよう。

&math(\lambda=-1); に対する固有ベクトルは、

&math(
&(A-\lambda I)\bm x=\begin{bmatrix}2&0&0\\1&3&-3\\1&1&-1\end{bmatrix}\begin{bmatrix}x\\y\\z\end{bmatrix}=\begin{bmatrix}0\\0\\0\end{bmatrix}\\
&\rightarrow \begin{cases}x=0\\y-z=0\end{cases}\\
);

掃き出せない &math(z); をパラメータに置くと、

&math(z=s \rightarrow y=s);

&math(\therefore \begin{bmatrix}x\\y\\z\end{bmatrix}=s\begin{bmatrix}0\\1\\1\end{bmatrix});

したがって、例えば &math(\begin{bmatrix}0\\1\\1\end{bmatrix}); が固有ベクトル。

以上より、

&math(P=\begin{bmatrix}-1&3&0\\1&0&1\\0&1&1\end{bmatrix});

と置けば、これは1,2列目が &math(\lambda=1); の、3列目が &math(\lambda=-1); の固有ベクトルであり、
なおかつ &math(P); は正則。したがって、&math(A); は

&math(P^{-1}AP=\begin{bmatrix}1&0&0\\0&1&0\\0&0&-1\end{bmatrix});

として対角化される。

「&math(A); を対角化せよ」 という問題に答えるのであればここまでで正答となる。

以下蛇足ではあるが、本当に対角化されることを確かめてみよう。

まずは &math(P^{-1}); を求めてみる。

&math(
&\begin{bmatrix}-1&3&0&1&0&0\\1&0&1&0&1&0\\0&1&1&0&0&1\end{bmatrix}\\
&\sim\begin{bmatrix}1&0&1&0&1&0\\-1&3&0&1&0&0\\0&1&1&0&0&1\end{bmatrix}\\
&\sim\begin{bmatrix}1&0&1&0&1&0\\0&3&1&1&1&0\\0&1&1&0&0&1\end{bmatrix}\\
&\sim\begin{bmatrix}1&0&1&0&1&0\\0&1&1&0&0&1\\0&3&1&1&1&0\end{bmatrix}\\
&\sim\begin{bmatrix}1&0&1&0&1&0\\0&1&1&0&0&1\\0&0&-2&1&1&-3\end{bmatrix}\\
&\sim\begin{bmatrix}1&0&1&0&1&0\\0&1&1&0&0&1\\0&0&1&-1/2&-1/2&3/2\end{bmatrix}\\
&\sim\begin{bmatrix}1&0&0&1/2&3/2&-3/2\\0&1&0&1/2&1/2&-1/2\\0&0&1&-1/2&-1/2&3/2\end{bmatrix}\\
);

&math(
\therefore P^{-1}=\frac{1}{2}\begin{bmatrix}1&3&-3\\1&1&-1\\-1&-1&3\end{bmatrix}\\
);

正しく求まった。この &math(P^{-1}); を用いて、

&math(
P^{-1}AP&=
\frac{1}{2}\begin{bmatrix}1&3&-3\\1&1&-1\\-1&-1&3\end{bmatrix}
\begin{bmatrix}1&0&0\\1&2&-3\\1&1&-2\end{bmatrix}
\begin{bmatrix}-1&3&0\\1&0&1\\0&1&1\end{bmatrix}\\
&=\frac{1}{2}\begin{bmatrix}1&3&-3\\1&1&-1\\-1&-1&3\end{bmatrix}
\begin{bmatrix}-1&3&0\\1&0&-1\\0&1&-1\end{bmatrix}\\
&=\frac{1}{2}\begin{bmatrix}2&0&0\\0&2&0\\0&0&-2\end{bmatrix}\\
&=\begin{bmatrix}1&0&0\\0&1&0\\0&0&-1\end{bmatrix}
);

として、正しく対角化された。

&math(P); を作るときに1,2列目に &math(\lambda=1); の、
3列目に &math(\lambda=-1); の固有ベクトルを並べたことに対応して、
1,2列目に 1 が、3列目に -1 が現れている。

例(例9):

&math(A=\begin{bmatrix}1&2&1\\0&1&0\\-1&0&3\end{bmatrix});

&math(
|A-\lambda I|&=\begin{vmatrix}1-\lambda&2&1\\0&1-\lambda&0\\-1&0&3-\lambda\end{vmatrix}\\
&=(1-\lambda)\begin{vmatrix}1-\lambda&1\\-1&3-\lambda\end{vmatrix}\\
&=(1-\lambda)\{(1-\lambda)(3-\lambda)+1\}\\
&=(1-\lambda)(\lambda^2-4\lambda+4)\\
&=(1-\lambda)(2-\lambda)^2\\
&=0
);

&math(\therefore \lambda=1,2);

&math(\lambda=2); が2重解なので、こちらに対応する固有ベクトルを求めてみる。

&math(
&(A-\lambda I)\bm x=\begin{bmatrix}-1&2&1\\0&1&0\\-1&0&1\end{bmatrix}\begin{bmatrix}x\\y\\z\end{bmatrix}=\begin{bmatrix}0\\0\\0\end{bmatrix}\\
&\rightarrow \begin{cases}x-z=0\\y=0\end{cases}\\
);

掃き出せない &math(z); をパラメータに置くと、

&math(z=s \rightarrow x=s);

&math(\therefore \begin{bmatrix}x\\y\\z\end{bmatrix}=s\begin{bmatrix}1\\0\\1\end{bmatrix});

となり、&math(s); をどのように選んでも2つの一次独立な固有ベクトルを見つけることができない。

すなわち、&math(A); は対角化不可能。

** 行列の三角化 [#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});

などとして、「行列の指数関数」を定義できる。

このような関数が量子力学他で利用される。

** フロベニウス(Frobenius)の定理 [#m6418eb1]

行列 &math(B); が行列 &math(A); の多項式で表される時、

&math(B=g(A));

&math(B); の固有値は、&math(A); の固有値 &math(\lambda_1,\lambda_2,\dots,\lambda_n); を使って、
&math(g(\lambda_1),g(\lambda_2),\dots,g(\lambda_n)); と表せる。

例:&math(B=3A^3-A^2+A+2I); について、例えば &math(3\lambda_1^3-\lambda_1^2+\lambda_1+2); が固有値となる。

&math(\because P^{-1}BP=\begin{bmatrix}
g(\lambda_1)&&&\hsymbu{0}\\
&g(\lambda_2)\\
&&\ddots\\
\hsymbl{0}&&&g(\lambda_n)\\
\end{bmatrix});

より自明。

** ケーリーハミルトンの定理 [#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 I =
\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(n-r_k+1\le i\le n); に対して &math(\lambda_i-\lambda_k=0); とする。

このとき逆に、&math(1\le i\le n-r_k); に対して対角成分はゼロでないから、それぞれの行を &math(\lambda_i-\lambda_k); で割れば、

&math(
P^{-1}AP-\lambda_k I \sim
\begin{bmatrix}
\ 1\ &*&\cdots&\cdots&\cdots&\ *\ \\
\ 0\ &\ddots&\ddots&&&\vdots\\
\vdots&\ddots&1&\ddots&&\vdots\\
\vdots&&\ddots&0&\ddots&\vdots\\
\vdots&&&\ddots&\ddots&*\\
0&\cdots&\cdots&\cdots&0&0
\end{bmatrix}
\begin{array}{l}
\left.\rule{0cm}{1cm}\right\}n-r_k\\[8mm]
\left.\rule{0cm}{1cm}\right\}r_k\\
\end{array}
);

となる。

左から &math(n-r_k); 列は容易に掃き出せるから、
この行列の階数が &math(n-r_k); よりも大きいことは一目瞭然である。

&math(\rank (P^{-1}AP-\lambda_kI) = \rank (A-\lambda_kI) \ge n-r_k);

したがって、

&math((自由度) = n-\rank (A-\lambda_kI) \le r_k);

として、固有ベクトルの解の自由度が重複度 &math(r_k); を超えないことを示せた。

* トレース、行列式と固有値との関係 [#kdfab8bf]

行列 &math(A); のトレースおよび行列式は、その &math(n); 個の固有値(重複を含む)を使って

&math(\tr A=\sum_{i=1}^n \lambda_i =\lambda_1+\lambda_2+\dots+\lambda_n);

&math(|A|=\prod_{i=1}^n \lambda_i=\lambda_1\,\lambda_2\,\cdots\,\lambda_n);

のように表せる。

** 証明(トレース) [#p42868de]

- トレースの定義: &math(\tr A=\sum_{i=1}^n a_{ii}=a_{11}+a_{22}+\dots+a_{nn});

- トレースの性質1: &math(\tr (A+B)=\tr A + \tr B);

  ほぼ自明

- トレースの性質2: &math(\tr (AB)=\tr (BA));

  &math(
\because
\tr (AB)&=\sum_{i=1}^n \left(\sum_{k=1}^n a_{ik}b_{ki}\right)\\
&=\sum_{k=1}^n \left(\sum_{i=1}^n b_{ki}a_{ik}\right) =\tr (BA)
);

- トレースの性質3: &math(\tr (P^{-1}AP)=\tr A);

  &math(
\because
\tr (P^{-1}AP)=\tr [(P^{-1})(AP)]=\tr [(AP)(P^{-1})]=\tr (A I)=\tr A
);

これらを使えば、&math(A); を三角化する &math(P); に対して、

&math(\tr A=\tr (P^{-1}AP)=
\tr \begin{bmatrix}
\lambda_1&&&\hsymbu{*} \\
&\lambda_2&&\\
&&\ddots\\
\hsymbl{0}&&&\lambda_n
\end{bmatrix} = \sum_{i=1}^n \lambda_i
);

を得る。

** 証明(行列式) [#tda317ce]

- 行列式の性質1: &math(|AB|=|A||B|);

- 行列式の性質2: &math(|P^{-1}AP|=|P^{-1}||A||P|=|P|^{-1}|A||P|=|A|);

これらを使えば、&math(A); を三角化する &math(P); に対して、

&math(|A|=|P^{-1}AP|=
\begin{vmatrix}
\lambda_1&&&\hsymbu{*} \\
&\lambda_2&&\\
&&\ddots\\
\hsymbl{0}&&&\lambda_n
\end{vmatrix} = \prod_{i=1}^n \lambda_i
);

を得る。

** 相似な行列は [#w96e0ae7]

- 固有値が等しい
- トレースが等しい
- 行列式が等しい

という点で「似ている」

* 実対称行列の対角化 [#rae87767]

** 実対称行列では、固有値は必ず実数である [#y13dad29]

準備:

任意の複素ベクトル &math(\bm z); に対して、&math({}^t\bar{\bm z}\bm z); は実数であり、
&math({}^t\bar{\bm z}\bm z\ge 0);。等号は &math(\bm z=\bm 0); の時のみ成り立つ。

&math(
\because \bm z=\begin{bmatrix}z_1\\z_2\\\vdots\\z_n\end{bmatrix}, \bar{\bm z}=\begin{bmatrix}\bar z_1\\\bar z_2\\\vdots\\\bar z_n\end{bmatrix}, {}^t\!\bar{\bm z}=\begin{bmatrix}\bar z_1&\bar z_2&\cdots&\bar z_n\end{bmatrix}
);

&math(
{}^t\!\bar{\bm z} \bm z&=\bar z_1 z_1 + \bar z_2 z_2 + \dots + \bar z_n z_n\\
&=\|z_1\|^2 + \|z_2\|^2 + \dots + \|z_n\|^2 \in \mathbb R\\
);

右辺は明らかに非負で、ゼロになるのは &math(\bm z=\bm 0); の時のみである。

証明:

&math(A\bm z=\lambda \bm z); の時、

&math(
&\lambda\,{}^t\!\bar{\bm z} \bm z=
{}^t\!\bar{\bm z} (\lambda\bm z)=
{}^t\!\bar{\bm z} (A \bm z)=
{}^t\!\bar{\bm z} A \bm z=
{}^t\!\bar{\bm z}\, {}^t\!A \bm z=
{}^t\!\bar{\bm z}\, {}^t\!\bar A \bm z=\\
&{}^t\!(\bar A\bar{\bm z}) \bm z=
\overline{{}^t\!(A{\bm z})} \bm z=
\overline{{}^t\!(\lambda{\bm z})} \bm z=
\overline{(\lambda{}^t\!\bm z)} \bm z=
\bar\lambda\,{}^t\!\bar{\bm z} \bm z
);

&math(
(\lambda-\bar\lambda)\,{}^t\!\bar{\bm z} \bm z=0
);

&math(\bm z\ne \bm 0); の時、&math({}^t\!\bar{\bm z} \bm z\ne 0); より、
&math(\lambda=\bar \lambda); を得る。

*** 複素内積、エルミート行列 [#pa4e9431]

実は、複素ベクトルを考える場合、内積の定義は &math((\bm x,\bm y)={}^t\bm x\bm y); ではなく、
&math((\bm x,\bm y)={}^t\bar{\bm x}\bm y); を用いる。

そうすることで、&math(|z|^2=(\bm z,\bm z)\ge 0); がノルムとして定義される。

このとき、&math((A\bm x,\bm y)=(\bm x,A\bm y)); を満たすのは対称行列 (&math(A={}^tA);) ではなく、
エルミート行列 &math(A={}^t\!\bar A); である。対称行列は実エルミート行列と言っても良い。

対称行列に限らず、エルミート行列はすべて固有値が実数となる。

対称行列では固有ベクトルも実数となる。~
複素エルミート行列の場合、固有ベクトルは実数にはならない。

以下は実数の範囲のみを考える。

** 実対称行列では、異なる固有値に属する固有ベクトルは直交する [#o90f751d]

&math(A\bm x=\lambda \bm x, A\bm y=\mu \bm y); かつ &math(\lambda\ne\mu); の時、

&math(\lambda(\bm x,\bm y)=(\lambda\bm x,\bm y)=(A\bm x,\bm y)=(\bm x,\,{}^t\!A\bm y)=(\bm x,A\bm y)=(\bm x,\mu\bm y)=\mu(\bm x,\bm y));

すなわち、

&math((\lambda-\mu)(\bm x,\bm y)=0);

&math(\lambda-\mu\ne 0); より、

&math((\bm x,\bm y)=0);

を得る。

** 実対称行列の直交行列による対角化 [#rf85899c]

(1) 固有値がすべて異なる場合、固有ベクトルは自動的に直交するので、
大きさが1になるように選ぶことにより (&math(\bm r_k=\frac{1}{|\bm p_k|}\bm p_k);)、

&math(R=\Bigg[\bm r_1\ \bm r_2\ \dots\ \bm r_n\Bigg]);

は直交行列となり、この &math(R); を用いて、

&math(R^{-1}AR);

を対角行列にできる。

(2) 固有値に重複がある場合にも、

対称行列では、重複する固有値に属する1次独立な固有ベクトルを重複度分だけ見つけることが常に可能~
(証明は (定理6.8) にあるが、ここでは省略)

それらをグラム・シュミットの直交化法により正規直交化し、他の固有ベクトルと合わせれば、
やはり直交行列 &math(R); が得られる。

*** 例 [#udc7f9ee]

&math(A=\begin{bmatrix}2&1&1\\1&2&1\\1&1&2\end{bmatrix});

Counter: 382778 (from 2010/06/03), today: 21, yesterday: 0