「対角化の計算はできるんだけど、何をやっているのかイマイチ腑に落ちていない」という方は読んでみて欲しい。
「対角化の計算はできるんだけど、何をやっているのかイマイチ腑に落ちていない」という方は読んでみて欲しい。
この投稿では、対角化の一連の計算がどのような意味を持つのかを説明する。
前回の基底変換に関する投稿: fakeowl.hatenablog.com を見ていない人は、まずはこちらを読んでいただけると理解が早いはずです。
対角化
次元ベクトル空間 上の線形変換 を考える。 は、基底 による の行列表現であるとする。 このとき、 を対角化するとは、 が対角成分のみをもつように、 を選び、具体的に を作ることであった。
これは、一体何をしているのか。
一言で言うと、
とは別の基底を用いて、線形変換 の表現行列 を求めたのである。
その際、上手に基底を選んで、 の表現行列が対角行列になるようにしたのだ。
なぜ、こんなことをするのか? って、そりゃあ、同じ変換を扱うのであれば、その取り扱いが楽な方がいいに決まっている。 対角行列は、すごく計算が楽だから扱いやすいし、見通しも良くて理解しやすい。 だから、表現行列が対角行列になるような基底を探しだして、その基底での表現に取り替えてしまいたいのだ。 対角化の手順は、そんな便利な基底を探しだす手順と、基底の取り換え手順の一連の操作によって与えられている。
対角化の手順は以下のとおりだ。
- 変換 が簡単に見えるような、基底を見つける。
- もとの基底から、新たな基底での表現に乗り換える。
では、次から、順にこの手順を説明してみよう。
変換が簡単に見える基底を見つける
まず、適当な基底 を入れて表現行列 を作る。
この表現行列 は、普通、対角行列なんかじゃなく、ぎっちりと非ゼロの成分がつまった行列のはずだ。
だから、 による変換後のベクトルがどうなるかは、直感的には把握できそうにない。
では、直感的に把握できるような簡単な変換とは、どのようなものであろうか。
もっとも良い(簡単な)のは、「無変換」である。つまり、何の変化もないことだが、そんなことにはなろうはずもない
(無変換なら、どんな基底を持ってきても、表現行列は最初から単位行列のはずだ。これ以上簡単な表現を探す必要もない)。
次に簡単な変換は、スカラー倍だと思う。単にベクトルにスカラーが掛かるだけ。
(もっとも素朴なイメージとしては、ベクトルの方向は変わらないで、長さだけ伸び縮みするという変換。 実は、これは言い過ぎなので、最後の節で何をゴマかしたかは説明するが、当面はこのイメージで良いと思う。)
でも、そんな都合のいいように見える基底が存在するのだろうか?
実際に、そんな都合の良い基底があるのかどうか、探してみよう。
探したい基底ベクトルが満たすべき条件は、「変換しても向きが変わらず、伸び縮みだけしている」、ということなので、求める基底ベクトルの一つを 、
(まだ分からない)倍率をとすると、
満たすべき条件は次のように書ける。
$$
T {\mathbf f} = m {\mathbf f}
$$
しかし、ちょっと待て。 上の式をちょっと変形してみると、 $$ (T - m I) {\mathbf f} = {\mathbf 0}. $$ ( は単位行列)
これはまずい。 上の方程式を解くと、 が出てきてしまって、終了。 無念である。これでは基底にならない。
普通はここで引き下がるのだが、数学者というのは偉いものだ。
ここで引き下がらなかった。
次に彼らはどうしたのか。
「方程式が解けてしまうからダメだった。方程式が解ける限り、自明な解しか出て行こない。だったら、まともに解けない方程式であったらどうだろう」と考えた。
まともに解けないとは、「解が存在しない」とか「解が一意に定まらない」とかいうシチュエーションのことだ。
分かりやすい例としては、未知数が2こあるのに、関係式が1つしかない場合。この場合、解は無数に定まらず、無限にある。
(例: に対して、方程式:が与えられている場合、
などと、無限に解がある。)
一意ではないかもしれないが、よりはマシである。他にもっとおもしろい解があるのかもしれないのだ。
というわけで、考えている方程式に、解が一意に定まらないように要求してみよう。 行列 に、逆行列が存在する場合、 解は、 と求まってしまうので、 行列 が、逆行列を持たないように要求しよう。 この条件は、 $$ \det (T - m I) = 0 $$ である。(この式は固有方程式と呼ばれている。)
行列 は与えられているものなので、 をうまく調整して固有方程式を満たすようにしたい。 今、 は 次の正方行列なので、 固有方程式は に関しては 次方程式となる。 次方程式は、複素数の範囲で(重解を入れて)必ず 個の解を持つ。 よって、必ず、 解が一意に定まらないように出来るのだ。 今、この固有方程式を解いて、解が と得られたとしよう。 すると、解 に対して、 $$ T {\mathbf f}_i = m_i {\mathbf f}_i $$ を満たすベクトル を見つけることができる。 ただし、一意に定まらないことはお忘れなく(ベクトルが一意に定まらないように を調整したのは、自分だ!)。 一意に定まらないので、無限にある解のうちから好きな解を適当にチョイスしておけば良い。
さあ、これで望んだベクトル が手に入った。 これを基底にすれば、 による変換は楽チンである。 これを見るのは簡単だ。
固有ベクトルで作った基底を用いてベクトルを展開して と書けば、 このベクトルに対する線形変換 は $$ T {\mathbf a} = T (\tilde{a}^1 {\mathbf f}_1 + \cdots + \tilde{a}^n {\mathbf f}_n) \ = \tilde{a}^1 T({\mathbf f}_1) + \cdots \tilde{a}^n T({\mathbf f}_n) \ = \tilde{a}^1 m_1 {\mathbf f}_1 + \cdots \tilde{a}^n m_n {\mathbf f}_n $$ と計算できる。簡単だ!
つまり、
を基底にすると、
線形変換 の表現行列 は、対角行列
$$
\tilde{T} =
\begin{pmatrix}
m_1 &&& \\
& m_2 && \\
&& \ddots & \\
&&& m_n \\
\end{pmatrix}
$$
となる。
基底の取り換え
前節で作った と、最初に適当に入れた基底での表現行列 との関係を見てみよう。
これを見るためには、同じ変換 を 基底:での表現で行うことと、 基底: での表現で行うこととで見比べてみれば良い。
基底: から 基底: への変換行列は $$ P = ({\mathbf f}_1, {\mathbf f}_2, \cdots, {\mathbf f}_n) $$ であり、 ベクトルの成分は、 $$ \begin{pmatrix} \tilde{a}^1 \\ \vdots \\ \tilde{a}^n \\ \end{pmatrix} = P^{-1} \begin{pmatrix} a^1 \\ \vdots \\ a^n \\ \end{pmatrix} \leftrightarrow \begin{pmatrix} a^1 \\ \vdots \\ a^n \\ \end{pmatrix} = P \begin{pmatrix} \tilde{a}^1 \\ \vdots \\ \tilde{a}^n \\ \end{pmatrix} $$ の関係で結ばれる。
よって、 基底:の世界での変換 は、 基底: での世界での迂回ルートを通るとことにすると、
- 変換対象のベクトルを基底: での表現に変換:
- 基底:の世界で変換:
- 基底:の世界に戻る:
の過程を通過するので、 $$ \tilde{T} = P^{-1} T P $$ となる。
いかがだろう。 変換行列を固有ベクトルで作った行列(とその逆行列)で挟むと対角化されるということが、一連の迂回プロセスとして理解できるということが分かっただろうか。
逆ルートでも考えてみると、また少し理解が深まるかもしれないので、蛇足かもしれないが、そちらも書いておこう。
基底: では変換が考えにくいので、
- まず、ベクトルを 基底: の世界で表現する。()
- 基底:の世界で変換 ()
- 基底:の世界に戻す ()
このルートを通ると、 $$ T = P \tilde{T} P^{-1} $$ よって、 $$ \tilde{T} = P^{-1} T P $$
繰り返しになるが、対角化の計算は、
- 変換行列が簡単に見える(表現行列が対角行列になる)ようなベクトル(固有ベクトル)を探しだし、
- そのベクトルで作った基底で変換行列を表現する
というプロセスなのである。
ごまかしたこと
今までの説明では、結構いろいろとぶっ飛ばした。 この投稿では、数学的に細かいところはおいといてイメージを掴んでもらえれば良いのだけれど、それにしても乱暴な説明をした箇所があるので、そこについて補足しておこうと思う。
固有値と固有ベクトルは実数値ではない(かもしれない)
固有ベクトルを探す際に、「変換で向きが変わらず長さが変わるだけ」と言ってしまった。 でも、このイメージは間違いである。 固有値が実数であればイメージ通りだけど、固有値が実数とは限らない。 固有方程式の解は、「複素数の範囲」で解が見つかるのだから、固有値が実数であるという保証はどこにもないのだ。
複素数というと、「私は実数の範囲の行列しか扱わないので必要ないっす」と思う人もいるかもしれないが、そうはいかない。 実数の行列で表現される代表的な変換に回転変換があるが、これを考えてみると良い。 「回転」変換をさせるのに、「向きが変わらず、伸び縮みするだけ」の変換を受けるようなベクトルがあるわけがない。 実際に(正規直交基底での)回転変換行列: $$ R = \begin{pmatrix} \cos \theta & - \sin \theta \\ \sin \theta & \cos \theta \\ \end{pmatrix} $$ の固有方程式は、 $$ (\cos \theta - m)^2 + \sin ^2 \theta = 0 $$ なので、固有値は $$ m = \cos \theta \pm i \sin \theta = e^{\pm i \theta} $$ 固有ベクトルは $$ (1, -i)^T, (1,i)^T $$ であり、実数の範囲では解がない。
そもそも対角化できないかもしれない
固有ベクトルで基底を作るといったけれど、固有ベクトルが必ず個あるとは限らない。
固有方程式が重解を持った時に、その重解の重複度と同じ本数の固有ベクトルが見つかれば良いが、見つからない時もあるのだ。
その時は、対角行列で表現するような変換はできない・・・。
あきらめよう!
(対角行列ほどではないけれど、次に扱いやすい形(ジョルダン標準形)に変換する方法もあるが、それは高度な話。)
この投稿で対角化の計算の意味がスッキリしたという人がいたら、うれしいです。
内積空間の話をすると、また別の角度からも見れてクリアになるので、その話も追々できたらと思っています。
それでは、今回はこのへんで。