対角化(一般の場合) の変更点

更新


[[線形代数I]]

&mathjax();
&katex();
#contents

培風館「教養の線形代数(五訂版)」に沿って行っている授業の授業ノート(の一部)です。

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

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

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

の関係があるとき、

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

** 注記 [#kb3bf097]

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

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

+ &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); の固有値は重複度も含めて等しい」

ことが分かる。

実際には相似な行列 &math(A,B); に対して、
- &math(\trace A=\trace B=(全ての固有値の和));
- &math(\det A=\det B=(全ての固有値の積));
- &math(\rank A=\rank B);
- &math(|A-\lambda I|=|B-\lambda I|=(x-\lambda_1)(x-\lambda_2)\cdots(x-\lambda_n));

がすべて成り立ち、非常に似た性質を持つ。

** 略証明 [#q0485f08]

&math(|A-\lambda I|=(-\lambda)^n+\trace A(-\lambda)^{n-1}+\cdots+\det 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}
);

* 対角化 [#k04fb548]

** 対角化するための $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); が正則であれば、

&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(A); はこの &math(P); により対角化可能である。

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

*** 対角化する行列の任意性 [#n707e345]

例えば、

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

が

&math(P^{-1}AP=\begin{bmatrix}
\lambda_1&0&\hdots&0\\
0&\lambda_2&&\vdots\\
\vdots&&\ddots&0\\
0&\hdots&0&\lambda_n
\end{bmatrix});

のように &math(A); を対角化するならば、
例えば &math(P); の1行目に &math(-1); を、2行目に &math(3); を掛けた

&math(P'=\Bigg[ -\bm p_1 \ 3\bm p_2 \ \bm p_3\ \bm p_4\ \dots \ \bm p_n \Bigg]);

も、

&math(P'^{-1}AP'=P^{-1}AP=\begin{bmatrix}
\lambda_1&0&\hdots&0\\
0&\lambda_2&&\vdots\\
\vdots&&\ddots&0\\
0&\hdots&0&\lambda_n
\end{bmatrix});

のように &math(P); と同じ形に対角化できる。

このように対角化するための &math(P); の選び方には任意性があることに注意せよ。

** 対角化可能条件 [#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); は正則になる。

すなわち、そのような &math(A); は対角化可能である。

*** 固有値に重複解がある場合 [#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); は正則であった。この &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 が現れている。

演習:

&math(P); の列ベクトルの順番を変えて作った 

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

&math(A); を対角化することを確かめよ。

例(例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(1); 次の時に三角化可能
+ &math(n-1); 次が三角化可能であれば &math(n); 次が三角化可能

の2つを証明する。

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); が存在することが証明された。

** ジョルダン標準形 [#p06148a6]

対角化できない行列は扱いが難しく、応用上は特別扱いが必要になることが多い。

そのような行列も三角化は可能であることを上で見た。

特に、次の特別な形の三角行列をジョルダン標準形と呼び、
任意の行列がジョルダン標準形に変換可能であることを示せるが、
ここでは詳細は割愛する。

&math(
P^{-1}AP=\begin{bmatrix}
\lambda_1&*&&&0\\
&\lambda_2&*\\
&&\ddots&\ddots\\
&&&\ddots&*\\
0&&&&\lambda_n
\end{bmatrix}
);

ただし、&math(*=0,1); である。

線形代数II の内容を学んだその後に学ぶ発展的内容として~
→ [[線形代数I/広義固有空間の構造とジョルダン標準形]]
** 固有値の重複度と固有ベクトルの自由度 [#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); を超えないことを示せた。

* 対角化・三角化の実用性 [#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});

より自明。

*** 三角行列の場合 [#h247badf]

上記は対角化可能な行列に対してのみの証明になっているが、
実際には三角化可能な行列、すなわちすべての行列についてフロベニウスの定理が成り立つ。

なぜなら、三角行列の累乗に現れる対角要素は、
元の行列の対角要素の累乗で求められるためである。

すなわち、

&math(
A=\begin{bmatrix}
\lambda_1&*  &\cdots&*\\
0  &\lambda_2&      &\vdots\\
\vdots&&\ddots&*\\
0&\cdots&0&\lambda_n
\end{bmatrix}
); のとき、
&math(
A^m=\begin{bmatrix}
\lambda_1^m&*  &\cdots&*\\
0  &\lambda_2^m&      &\vdots\\
\vdots&&\ddots&*\\
0&\cdots&0&\lambda_n^m
\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
);

となる。

この定理もフロベニウスの定理と同様に、三角化可能な行列、すなわちすべての行列に対して成り立つ。
(証明 → [[線形代数I/ケーリー・ハミルトンの定理]])

例:

&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}
);

と表せることが分かる。

* トレース、行列式と固有値との関係 [#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
);

を得る。

** あるいは [#gdb694d4]

&math(
|A-\lambda I|&=(-\lambda)^n+\trace A(-\lambda)^{n-1}+\dots+\det A\\
&=(-\lambda)^n+\Big(\sum\lambda_k\Big)(-\lambda)^{n-1}+\dots+\Big(\prod\lambda_k\Big)
);

のゼロ次および &math(n-1); 次の項を比較しても良い。

上の等式は行列式の定義から、~
下の等式は &math(\lambda_k); が特性方程式の解であることから、~
それぞれ導かれる

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

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

という点で「似ている」ことになる。

* 質問・コメント [#n370b6ea]

#article_kcaptcha
**無題 [#h788e43b]
>[[Tix]] (&timetag(2019-03-08T00:03:18+09:00, 2019-03-08 (金) 09:03:18);)~
~
「 rankA=(ゼロでない固有値の個数)」は成り立たないと思います(反例:A=[[0,1],[0,0]]~

//
- おっしゃるとおり「 rankA=ゼロでない固有値の個数」は対角化可能な行列でしか成り立ちませんね。記述を修正することにいたします。ご指摘ありがとうございました。 -- [[武内(管理人)]] &new{2019-03-08 (金) 09:44:32};

#comment_kcaptcha

**「一般の行列の累乗」の項の長い方の数式が… [#o74d2524]
>[go takagi] (2012-11-14 (水) 22:36:05)~
~
なんか変な感じです(ブラウザでの表示的に)。~
それと、最後に右からP^-1を掛ける必要があるのかな?~
その次の行は先頭の何文字かが消えてる感じです。「左辺はm回の…」かな?~
ななめ読みして雰囲気だけ懐かしがってるだけだけどね。:-p~
IE9とSafariとChrome、どれも同じでした。~

//
- 指摘どうもありがとう。&math((P^{-1}AP)^m); の式と &math(A^m); の式の数式タグが正しく閉じられていなかったのが原因でした。ちゃんと直った・・・かな? -- [武内(管理人)] &new{2012-11-15 (木) 12:04:07};
- 数式は大丈夫なようです。そうか、かけ算の回数はm-1か(^^;。で右辺の方は、数値のm「乗」か? -- [go takagi] &new{2012-11-18 (日) 13:42:07};
- あ、確かに「乗」が抜けてたね。ありがとう。直しました〜! -- [武内(管理人)] &new{2012-11-18 (日) 15:15:58};

#comment_kcaptcha

Counter: 252644 (from 2010/06/03), today: 52, yesterday: 0