1章. 始めに
ここでは、固有値方程式が一体何を表している値なのか、可視化して説明します。
大学で理系に進んで固有値は使っていたけど、いまいちよく分かっていなかったなぁという方向けです。
事前に以下の知識があったほうが分かりやすいと思います。
- 固有値方程式
- 楕円の式
- ラグランジュの未定乗数法 ― ラグランジュの未定乗数法のビジュアル化
3番目の「ラグランジュの未定乗数法」は本ブログにも説明がありますので、良かったら見てください。
2章. 固有値方程式の形
固有値方程式の形は以下で書かれます。本記事では、これと同じ形を別の方法から導くことでその意味を探っていきます。
※今回は対称行列に限ります。
3章. 固有値方程式の可視化(対称行列、2次元の場合)
唐突ですが、以下のような問題を考えます。
なぜ行列の話をしているのに楕円なんだ?と思われたかもしれません。
実は円や楕円は簡単に行列形式でも表すことができるのです。
そして今回の可視化のアイデアは、固有値方程式の行列を楕円の係数行列と捉えることが第一歩です。
例えば以下行列の固有値と固有ベクトルを解け、という問題があったとします。
\[ \begin{pmatrix} 2 & 3 \\ 3 & 8 \end{pmatrix} \]この行列を、楕円の係数とみなすのです。つまり以下のような形です。
\[ \begin{pmatrix} x & y \end{pmatrix} \begin{pmatrix} 2 & 3 \\ 3 & 8 \end{pmatrix} \begin{pmatrix} x \\ y \end{pmatrix} = \lambda \] \[ \Downarrow \] \[ 2x^2 + 8y^2 + 6xy = \lambda \tag{1} \]
右辺の \(\lambda\) は行列からはわからない未知の値です。
ただ、半径1の円に接する点を求める際に \(\lambda\) も自然と決まります。
設問を再掲します。
この設問で言っている楕円とは (1) の事です。決まっていない値は \(\lambda\) だけですので、 実際は上の設問を満たす \(\lambda\) を探します。そして以下が答えです。2つあります。
1つ目の楕円が以下です。
円を内接円とする楕円で、\(\lambda = 9.242640687\) です。
また接点位置に印をつけていますが、右上の接点座標値は
\(\begin{pmatrix} 0.382683432 & 0.923879533 \end{pmatrix}\) です。
もう一方の接点は符号を反転したものです。
なお、半径1の円に載っているため、原点から接点までの長さは1です。
2つ目の楕円が以下です。
円を外接円とする楕円で、\(\lambda = 0.757359313\) です。
右下の接点座標値は
\(\begin{pmatrix} 0.923879533 & -0.382683432 \end{pmatrix}\) です。
既にお気づきかもしれませんが、これらの値が固有値と固有ベクトルになっています。確かめてみます。
1つ目の楕円の値を固有値方程式に代入してみます。
\[ \begin{pmatrix} 2 & 3 \\ 3 & 8 \end{pmatrix} \begin{pmatrix} 0.382683432 \\ 0.923879533 \end{pmatrix} = 9.242640687 \begin{pmatrix} 0.382683432 \\ 0.923879533 \end{pmatrix} \]この式は成り立っていますので、確かに固有値と固有ベクトルになっていることを確認できました。
2つ目の楕円の値を固有値方程式に代入してみます。
\[ \begin{pmatrix} 2 & 3 \\ 3 & 8 \end{pmatrix} \begin{pmatrix} 0.923879533 \\ -0.382683432 \end{pmatrix} = 0.757359313 \begin{pmatrix} 0.923879533 \\ -0.382683432 \end{pmatrix} \]この式も成り立っていますので、確かに固有値と固有ベクトルになっていることを確認できました。
では、なぜそうなるのかを次の章で明らかにします。
4章. ラグランジュの未定乗数法で接点を求める
可視化が成り立つことを説明するために、ラグランジュの未定乗数法を使います。
まず、ラグランジュの未定乗数法はどういうものでしょうか。
よく本などで説明されるのは、「制約条件が付けられた中で、対象の関数の極値を求める方法」です。
ただ今回はもっと図形的に直感的に考えたいので、こう言い換えます。
「制約条件の関数と、対象の関数の接点を求める方法」
この図形的なイメージは、本ブログの中でも紹介しています。ぜひご覧ください。
・ラグランジュの未定乗数法のビジュアル化
この方法を使って楕円と円の接点を求めます。
ちなみに、半径1の円が制約条件 \(g\) で、楕円の方が対象の関数 \(f\) になります。これもしっかり書いていきましょう。
制約条件式 \(g\)
\[ g = x^2 + y^2 - 1 \]ポイントは、\(1\) を移項して \(-1\) にしている部分です。こうすると、\(g = 0\) ということが言えます。
対象の関数 \(f\)
\[ f = ax^2 + by^2 + cxy \]
これはそのままです。半径は未知数なので \(f\) で置いています。
\(f\) を例えば \(f = 1, 2, 3 \ldots\) と変えていく中で制約条件と接する \(f\) を探します。
それではラグランジュの未定乗数法の式を立てます。3つで1つです。
移項したり偏微分を既に実行している式もあるため、本などに載っている形と違うかもしれませんが同じ意味です。
それでは \((2)\) を式変形します。式の値を代入して偏微分を計算し、そのまま行列表記にします。
\[ \frac{\partial}{\partial x}(ax^2 + by^2 + cxy) = \lambda \frac{\partial}{\partial x}(x^2 + y^2) \] \[ \Downarrow \] \[ 2ax + cy = 2\lambda x \] \[ \Downarrow \] \[ \begin{pmatrix} 2a & c \\ 0 & 0 \end{pmatrix} \begin{pmatrix} x \\ y \end{pmatrix} = 2\lambda \begin{pmatrix} 1 & 0 \\ 0 & 0 \end{pmatrix} \begin{pmatrix} x \\ y \end{pmatrix} \tag{5} \]ポイントは以下です。
- 行列の下の行に、在っても無くても良い無駄な0を敢えて入れています。
- 右辺には本来は不要な行列を追加しています。これは \(y\) を式に残したいためです。
次に \((3)\) を同じように行列表記にします。
\[ \frac{\partial}{\partial y}(ax^2 + by^2 + cxy) = \lambda \frac{\partial}{\partial y}(x^2 + y^2) \] \[ \Downarrow \] \[ cx + 2by = 2\lambda y \] \[ \Downarrow \] \[ \begin{pmatrix} 0 & 0 \\ c & 2b \end{pmatrix} \begin{pmatrix} x \\ y \end{pmatrix} = 2\lambda \begin{pmatrix} 0 & 0 \\ 0 & 1 \end{pmatrix} \begin{pmatrix} x \\ y \end{pmatrix} \tag{6} \]この行列表記の (5), (6) は合成することができます。
\[ \begin{pmatrix} 2a & c \\ c & 2b \end{pmatrix} \begin{pmatrix} x \\ y \end{pmatrix} = 2\lambda \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix} \begin{pmatrix} x \\ y \end{pmatrix} \]ここで右辺の単位行列は消しても式は成り立ちますので消します。
\[ \begin{pmatrix} 2a & c \\ c & 2b \end{pmatrix} \begin{pmatrix} x \\ y \end{pmatrix} = 2\lambda \begin{pmatrix} x \\ y \end{pmatrix} \tag{7} \]係数の2は約分します。
\[ \begin{pmatrix} a & \frac{c}{2} \\ \frac{c}{2} & b \end{pmatrix} \begin{pmatrix} x \\ y \end{pmatrix} = \lambda \begin{pmatrix} x \\ y \end{pmatrix} \tag{8} \]クライマックスです。行列部分は \(A\) と置き換えてみます。また \(\begin{pmatrix} x \\ y \end{pmatrix}\) は \(\vec{v}\) と書きます。するとどうなるでしょうか。
\[ A \vec{v} = \lambda \vec{v} \]
なんと、この形は1章で書いた固有値方程式と同じ形です!
ただ1つだけ足りない部分があります。式 (4) がラグランジュの未定乗数法にはありますが、固有値方程式にはありません。以下に再掲します。
これは、固有値方程式では \(g = 0\) でなくても良い、と解釈できます。つまり円の大きさも変えて良いよ、ということです。確かに固有値方程式で固有ベクトルを決めるとき、ベクトルの長さは一意に決まりません。それは円の大きさも変えているからと考えられます。
ひとまず、これで固有ベクトルは接点の座標値だということは確認できました。
次に、固有値がなぜ楕円のスカラー値と同じになるのかを確認します。
確認方法ですが、(8) の両辺に左から \(\begin{pmatrix} x & y \end{pmatrix}\) を掛けます。
そして (4) の制約条件を使えば、\(\begin{pmatrix} x & y \end{pmatrix}\) は半径1の円上の点です。
つまり右辺の \(\begin{pmatrix} x & y \end{pmatrix} \begin{pmatrix} x \\ y \end{pmatrix} = x^2 + y^2\) は、必ず1になります。
よって、それを当てはめると、
\[ \begin{pmatrix} x & y \end{pmatrix} \begin{pmatrix} a & \frac{c}{2} \\ \frac{c}{2} & b \end{pmatrix} \begin{pmatrix} x \\ y \end{pmatrix} = \lambda \] \[ \Downarrow \] \[ ax^2 + by^2 + cxy = \lambda \]となり、これが楕円のスカラー値 = \(\lambda\) となっている理由です。
これで固有値と固有ベクトル両方とも裏付けられましたので、
「固有値方程式(対称行列)は、楕円と円の接点を求める問題」という仮説を証明することができました。
ただし、あくまでも「対称行列」の場合です。
非対称の場合はラグランジュの未定乗数法の式が立てられず上の説明は使えませんのでご注意ください。
5章. 結び
いかがだったでしょうか。固有値方程式の隠れていた面影が少し見えてきたのではないでしょうか。
これにより計算が爆発的に早くなるということはおそらくないでしょうが、可視化することによって理解が深まり、応用範囲が爆発的に広がることはあると思います。
そんな思考連鎖の一助になれば幸いです。