[SGC-077] ジョルダン標準形

2017-08-27 (Sun.)

線形代数

"SGC ライブラリ 77: ジョルダン標準形" の勉強ノートです. 線形代数自体の導入が割と長いっぽいのでそこらへんは駆け足で.

INDEX

1.1 ベクトル空間の基底

ベクトル空間の定義の復習など.

数ベクトル空間

\(K\)\(n\) 個の直積空間でベクトル空間を作ったものを特に 数ベクトル空間 という. その元を 数ベクトル という. いわゆる列ベクトルとか行ベクトルがそう.

\[K^n \ni \left[ \begin{array}{c} k_1 \\ k_2 \\ \vdots \\ k_n \end{array} \right]\]

演習 1.1

ベクトル空間 \(V\) の部分ベクトル空間として \(U_1, U_2, \ldots\) があるとする. このとき \(X = \bigcap_{k=0}^\infty U_k\) は部分ベクトル空間であるかどうか調べよ. また \(Y = \bigcup_{k=0}^\infty U_k\) はどうか.

\(X\) は部分ベクトル空間である. なぜなら、 2つの元 \(u, v\) の一次結合 \(\alpha u + \beta v\) (\(\alpha,\beta \in K\)) はどの \(U_k\) においても閉じているのだから、その積である \(X\) でも閉じている.

同様の理由から \(Y\) は閉じておらず、部分ベクトル空間ではない. 反例を挙げる.

について \(Y = \{(x,0)\} \cup \{(0,y)\}\) だが、 \((1,0), (0,1) \in Y\) の和は \((1,1) \not\in Y\) である.

1.2 行列と数ベクトル空間

\(K\) の上の数ベクトル空間 \(K^n\) の元を \(n \times 1\) の行列と同一視する. \(K\) 上のサイズ \(m\times n\) の行列 \(A\)\(v \in K^n\) は行列の積で \(K^m\) に移すことができる. \[A: K^n \to K^m\] \[A: v \mapsto Av\]

(行列としての \(A\) と写像 \(K^n\to K^m\) としての \(A\) を同一視している.)

この像 \(\mathrm{Im}(A) = \{ Av : v \in K^n \}\)\(K^m\) の部分ベクトル空間である. しかも、 \(A\) の第 \(i\) 列を \(a_i\) とすると \(\langle a_1, a_2, \ldots, a_n \rangle\) によって張られるベクトル空間と一致する.

証明

像がベクトル空間であるのは行列を掛ける操作が線形変換であるから. つまり、\(u \in \mathrm{Im}\) ならば対応する \(v\) があって \(u=Av\). スカラー倍 \(ku \in K^m\)\(ku=k(Av)=A(kv)\) (\(kv \in K^n\)) なので、たしかに \(ku \in \mathrm{Im}\) であり、閉じていることがわかる. 和も同様.

2つめの主張は、任意の \(u \in \mathrm{Im}\) が、適当な係数列を掛けて \(u = k_1a_1 + \cdots + k_na_n\) と出来ることを言っている.

列ベクトル \(a_i\) というのは実は、 \(K^n\) の基底として \[e_i = \left[ 0,\ldots,0,1,0,\ldots,0 \right]^t\] を採用した場合に基底が移る先 \[a_i = Ae_i\] である.

\(u\) に対して \(u=Av\) となる \(v\) があるわけだが、この \(v\) は基底の一次結合 \[v = \sum k_i e_i\] と掛けるので、 \[u = \sum k_i a_i\] となる. というわけで、\(\langle a_i \rangle\) によって表現できる (もちろん一般に一次独立ではないので \(a_i\) が基底とまでは主張していない).

\(A\) の核とは \[\mathrm{Ker}(A) = \{ v : Kv=0, v \in K^n \}\] のことであるが、これは \(K^n\) の部分ベクトル空間である.

証明

\(u,v\in\mathrm{Ker}\) ならば、 \(A(u+v) = Au+Av=0+0=0\) なので、 \(u+v\in\mathrm{Ker}\) です. スカラー倍も \(A(ku)=k(Au)=0\) なので \(ku\in\mathrm{Ker}\) です.

ゼロベクトル \(0\) についてはいつも \(A0=0\) なので、 \(0 \in \mathrm{Ker}\) であるが、 \(\mathrm{Ker}=\{0\}\) (単に \(=0\) と書く) のときとは、 \[Av=0 \iff v=0\] のことである. 先程の列ベクトル \(a_i\) を用いるとこれは \[\sum k_i a_i = 0 \iff \forall i, k_i=0\] と書き換えられる. 従って、 \(\mathrm{Ker}(A)=0\) とは、その列ベクトル \(\langle a_i \rangle\) が一次独立であることと等しい.

先程示したように \(\mathrm{Im}(A)\) はその列ベクトルによって張られる空間と等しい. かつ列ベクトルが一次独立ならば、それは基底であることに他ならない.

サイズ \(n \times n\) の行列 \(A\) が正則であることと、 その列ベクトル \(\langle a_i \rangle\)\(K^n\) の基底となることは等しい.

1.3 線形写像とその行列表示

定義 1.2

ベクトル空間 \(V, W\) について 線形写像 \(V \to W\) とは次を満たす関数 \(f\) のこと \[f(\alpha u + \beta v) = \alpha f(u) + \beta f(v)\]

このような写像全体を \(\mathrm{Hom}(V,W)\) と書く.

線形写像 \(f : V \to W\) があるとする. \(V, W\) の基底として \(\langle v_1, v_2, \ldots, v_n \rangle\) \(\langle w_1, w_2, \ldots, w_m \rangle\) を取る.

数ベクトルとは限らないベクトルは基底を定めれば数ベクトル (列ベクトル) で表示できる.

この基底を用いると、 任意の \(u\in V\)\(u = \sum \alpha_i v_i\) と表現できるし、 \(f\) で写った先のベクトルも \(f(u) = \sum_j \beta_j w_j\) と表現できる.

\(f\) の線形性故、 \[f(u) = \sum_i \alpha_i f(v_i).\] さらに \[f(v_i) = \sum_j a_{ij} w_j\] とすると、 \[f(u) = \sum_i \alpha_i \sum_j a_{ij} w_j.\]

従って \[\beta_j = \sum_i \alpha_i a_{ij}\] がわかる.

係数 \(a_{ij}\) を各成分にもつ行列 \(A = (a_{ij})\) を考えると、 \[\left[\begin{array}{c} \beta_1 \\ \vdots \\ \beta_m \end{array}\right] = A \left[\begin{array}{c} \alpha_1 \\ \vdots \\ \alpha_n \end{array}\right]\]

というわけで、 \(A\)\(f\)行列表示 という. \(f\) が線形写像ならいつもこのように行列で表示できる. (右辺と左辺にある数 (列) ベクトルは、それぞれ基底を定めたときに得られるベクトル表示.)

1.4 基底の取り換え 1

線形写像 \(f: V \to W\) について、 \(V, W\) にある基底を取ると、\(f\) の行列表示 \(A\) が得られるのであった.

基底のとり方は一通りではない故、別な基底にすることが考えられる. 基底 \(\langle v_1,\ldots,v_n \rangle\) から \(\langle u_1,\ldots,u_n \rangle\) に取り替えることは、 それぞれが基底であることから \[u_i = \sum_j p_{ij} v_j\] とできるので、 行列 \(P\) を掛け算することに相当する.

従って、別な基底を取ったときの \(f\) の行列表示 \(B\) は、ある行列 \(P, Q\) を用いて、 \[B = Q^{-1} A P\] \[A = Q B P^{-1}\] とできる.

%3 Kn K^n V V Kn->V vectorize Km K^m Kn->Km A Kn2 K^n V->Kn2 vectorize W W V->W f Kn2->Kn P Km2 K^m Kn2->Km2 B Km->W vectorize W->Km2 vectorize Km2->Km Q

"vectorize" はベクトル空間に基底を一つ与えたときの数ベクトル表示のこと. 射 \(A,B\) は行列 \(A,B\) を左から掛けること. \(P,Q\) も同様.

こうなると基底のとり方によって \(f\) の行列表示の方法は無限にあることがわかる.

\(f\) の行列表示の一つが \(A\) であるとき、行列表示全体は \[\{ gAh : g \in \mathrm{GL}_m, h \in \mathrm{GL}_n \}\] で表される. ここで \(\mathrm{GL}_n\)\(n\) 次の正則正方行列全体.

\(f\) の行列表示の一つが \(A\) であるとき、行列表示全体は \[\{ B : \mathrm{rank}(B) = \mathrm{rank}(A) \}\] で表される.

1.5 基底の取り換え 2

この本では、あるベクトル空間から自分自身への線形写像 (\(V \to V\)) のことを、 線形変換 といい、 \(\mathrm{End} V\) と書く.

線形変換 \(f: V \to V\) の行列表示の一つを \(A\) とする. ここで登場する基底は \(V\) の基底のみ (定義域の \(A\) と値域の \(A\) で別の基底を使う必要もないので). これを先ほどと同様に別の基底に置き換えることを考えると、 \[A \mapsto P^{-1}AP\] となる.

定義 1.24

\(\mathrm{GL}_n\) の、\(n\) 次正方行列への作用として次を定義する. \[\mathrm{Ad}(g)(X) = gXg^{-1}\] これを随伴作用とか 共役作用 だとか言う.

\(\exists g, B = \mathrm{Ad}(g)(A)\) のとき、「\(A\)\(B\) は共役である」という.

\(\mathrm{Ad}\) は共変関手であって、 \[\mathrm{Ad}(g) \circ \mathrm{Ad}(h) = \mathrm{Ad}(gh)\] が成立している.

章末問題 1

1.1 (1)

\(n\) 次正方行列全体 \(M_n\) に対して \(n\) 次の対称行列全体 \[\mathrm{Sym}_n = \{X \in M_n : X^t = X\}\] は部分ベクトル空間である.

対称行列は足してもスカラー倍してもなお対称行列であるから.

1.1 (2)

交代行列とは \[\mathrm{Alt}_n = \{ X \in M_n : X^t = -X \}\] のことであるが、これもやはり \(M_n\) の部分ベクトル空間である.

対称行列と全く同様である. \(X,Y \in \mathrm{Alt}_n\) に対して、 \((X+Y)^t = X^t+Y^t=-X-Y=-(X+Y)\) だから.

1.1 (3)

任意の正方行列 \(X \in M_n\) はただ一通りで対称行列と交代行列の和で表される.

まず \(S \in \mathrm{Sym}_n\), \(A \in \mathrm{Alt}_n\) によって \[X = S + A\] と表されているとすると、 \[X^t = S^t + A^t = S - A\] なので、 \[S = (X + X^t) / 2\] \[A = (X - X^t) / 2\] と出来るので、\(S,A\) の組の一意性が言える.

逆に、任意の行列 \(X\) に対して、 \[S = (X + X^t) / 2\] \[A = (X - X^t) / 2\]\(S,A\) を構成する. このとき \[S + A = X\] は構成から明らか. \(S,A\) がそれぞれ対称行列と交代行列であることが言えれば、主張が証明される.

でもそれも構成からほぼ明らかで、 \[S^t = (X^t + (X^t)^t)/2 = (X^t+X)/2=S\] \[A^t = (X^t - (X^t)^t)/2 = (X^t-X)/2=-A\] なので \[S \in \mathrm{Sym}\] \[A \in \mathrm{Alt}\] である.

\[M_n = \mathrm{Sym}_n \oplus \mathrm{Alt}_n\]

1.2

次の線形写像 \[T(X) = X - X^t\] について \[\mathrm{Ker} T = \mathrm{Sym}\] \[\mathrm{Im} T = \mathrm{Alt}\]

2.1 固有値と固有ベクトル

ここらへんから今まで体 \(K\) としていたのを \(\mathbb{C}\) に限定する.

定義 2.1

線形変換 \(f \in \mathrm{End} V\) の固有値及び固有ベクトルとは、 \[f(v) = \lambda v ~~(\lambda \in \mathbb{C}, v \ne 0)\] となるような \(\lambda\) 及び \(v\) のこと.

\(f\) を行列表示 \(A\) にすれば \[f(v) = \lambda v \iff Av=\lambda v \iff (A-\lambda E)v=0\] \(v\ne 0\) より \[|A - \lambda E|=0\] ここで \(E\) は単位行列、 \(|A|\)\(A\) の行列式.

定理 2.3

\(A \in M_n\) に対して \[p_A(t) = |tE - A|\]固有多項式 という. 固有値は \(p_A(t)\) の根であるので、高々 \(n\) 個存在する.

ところで行列表示 \(A\) は基底を取り替えることで自由に \(P^{-1}AP\) と出来るが、 \[|tE-P^{-1}AP| = |P^{-1} (tE-A) P| = |P^{-1}| |tE-A| |P| = |tE-A|\] より、 \[p_{P^{-1}AP}(t) = p_A(t)\] が確認できる.

なので、固有多項式は基底によらずに定義でき、一般に、線形変換 \(f\) の固有多項式を、 ある一つの行列表示 \(A\) を用いて \[p_f(t) = p_A(t)\] を定義する.

定理 2.4 (ケイリー・ハミルトンの定理)

線形変換 \(f\) の固有多項式 \(p_f(t)\) の引数に線形変換を代入した \[p_f(f)\] はゼロ写像である. すなわち \[p_f(f)(v) = 0\] である.

例えば二次正方行列 \(A=\left[ \begin{array}{cc} a&b\\c&d\end{array}\right]\) の固有多項式は \[p_A(t) = (t-a)(t-d)-bc\] であるが、この引数に \(A\) (行列を掛ける操作) を代入したものは \[p_A(A) = (A-aE)(A-dE)-bcE\] 展開すると \[p_A(A) = A^2-(a+d)A+(ad-bc)\] これはゼロ写像である.

このことが一般の線形変換について成り立つ. 証明は行列表示した行列のサイズ (すなわち \(\mathrm{dim}V\)) に関する帰納法で行う.

証明

線形変換 \(f \in \mathrm{End} V\) の固有ベクトルの一つを \(v_1 \ne 0\) とし、 それに \(n-1\) 個のベクトル \(v_2,\ldots,v_n\) を加えて基底とする.

\(f\) の行列表示を考える. \(f(v_1)=\lambda v_1\) であるとしたので、 行列表示を \(A\) とすると、 \(v_1\) 相当の数ベクトル \(e_1=[1,0,\ldots,0]^t\) を掛けると \[A e_1 = \lambda e_1\] である必要があるので、 \(A\) の第一列目は \(\lambda e_1\) である.

つまり \[A = \left[ \begin{array}{cccc} \lambda & a & \cdots & b \\ 0 & \vdots & \cdot & \vdots \\ 0 & c & \cdots & d \\ \end{array}\right]\] みたいな感じ.

こうなると、\(|A|\)\(\lambda\) と、2,2成分より右下だけからなる行列 \(\tilde{A}\) の行列式の積になるので、 \[p_A(t) = (t-\lambda) p_{\tilde{A}}(t)\] となる.

さて \(\tilde{A}\) は何を表現してる行列か. 第一成分すなわち \(v_1\) を無視した変換である.

ベクトル空間 \(V\)\(v_1\) で割った \[U=V/v_1\]\(f\) を自然に誘導できる. \[\tilde{f}(u) = f(u+av_1) \sim f(u)\] (一次独立だから \(V\) 上で \(f(u)\)\(f(v_1)\) も一次独立.) この \(\tilde{f}\) の行列表示が \(\tilde{A}\) である.

多項式 \(p_A(t)\) に諸々代入して、 \[p_f(f) = (f - \lambda) p_{\tilde{f}}(f)\]

ここで帰納法の仮定として \[p_{\tilde{f}}(\tilde{f}) = 0\] とする. \(p_{\tilde{f}}(f) \sim p_{\tilde{f}}(\tilde{f}) = 0\) より \(p_{\tilde{f}}(f) = a v_1\). これを代入して \[p_f(f) = (f - \lambda) a v_1 = a (f(v_1)-\lambda v_1)=0\]