※私は数学者ではありません。自分用のまとめとしてこれを書いています。楽しむ範囲でご覧いただければ幸いです。内容の正確性については専門家のサイトや動画、専門書等で必ず確認をお願いします。
* * *
前回、お日様と大地の話をしました。北回帰線上では、夏至の日の正午に、お日様が真上から照らします。そのときできるオレンジベクトルの影が射影ベクトルであり、オレンジベクトルに働きかけて射影ベクトルを導くものが射影行列でした。
前回の終わりに、内積を用いて射影ベクトルを求めました。オレンジのベクトルを $\mathbf{o}$、大地のベクトルを $\mathbf{g}$、内積を $\langle , \rangle$ とおくと、射影ベクトルは
$$\frac{\langle \mathbf{o}, \mathbf{g}\rangle}{\langle \mathbf{g}, \mathbf{g}\rangle}\mathbf{g}$$
数値を代入して計算すると
$$\frac{2\times 3+4\times 1}{3^2+1^2}\begin{pmatrix}3 \\ 1 \end{pmatrix}=\frac{10}{10}\begin{pmatrix}3 \\ 1 \end{pmatrix}=\begin{pmatrix}3 \\ 1 \end{pmatrix}$$
今回は、とてつもなく重要な概念であるにもかかわらず、理解しづらい内積について考えます。
内積の計算方法
$\langle , \rangle$ という不思議な記号で表す内積は、私たちにとっては、掛けて足す積和です。2つのベクトル
$$\mathbf{a}=\begin{pmatrix} a_1 \\ a_2 \end{pmatrix}, \qquad \mathbf{b}=\begin{pmatrix} b_1 \\ b_2 \end{pmatrix}$$
の内積 $\langle \mathbf{a}, \mathbf{b}\rangle$ は各ベクトルの要素を用いて次のように書けます。
$$\langle \mathbf{a}, \mathbf{b}\rangle=\sum_{j=1}^2a_jb_j=a_1b_1+a_2b_2$$
ベクトルをそのまま書いてしまうこともあります。
$$\langle \mathbf{a}, \mathbf{b}\rangle=\begin{pmatrix} a_1 \\ a_2 \end{pmatrix}\cdot\begin{pmatrix} b_1 \\ b_2 \end{pmatrix}=a_1b_1+a_2b_2$$
していることは2つのベクトルの終点を、要素ごとに掛けて足しているだけです。内積はベクトルでも行列でもなく、スカラー(単なる数字)になります。
内積に潜む角度
数学が得意な人、物理など理系科目を学んでいる人は、角度を用いて内積を表現できることを知っています。2つのベクトル $\mathbf{a}, \mathbf{b}$ がなす角を $\theta$ とおくと
$$\langle \mathbf{a}, \mathbf{b}\rangle=\|\mathbf{a}\|\|\mathbf{b}\|\cos\theta$$
突然角度が出てきてびっくりする人がいるかもしれません。ただ、2つのベクトルがあれば、必ずそれらがなす角があります。たとえば、下図に示す青色の曲線矢印はなす角です。複数のベクトルには、なす角がつきものと覚えておきましょう。何か複数のものがあれば、それらの関係を考えることができます。それが矢印であっても、変数であっても、自然言語の文章であっても…
なす角を用いて射影ベクトルの長さを表現できます。思考の飛躍が必要かもしれませんので、それを助ける例を挙げます。下図には、原点を中心とする半径1の単位円を真上から照らす黄色の "お日様ベクトル" が4本描かれています。お日様ベクトルに照らされて、緑のベクトルは横軸という地表に影を作ります。
一番右のお日様ベクトルは地表に横たえられた長さ1の棒を照らしています。このとき、影の長さは棒の長さと同じ1($=1\times\cos0°$)です。右から二番目のお日様ベクトルは30°傾いた長さ1の棒を照らしています。地表に差す影の長さは $\frac{\sqrt{3}}{2}$($=1\times\cos30°$)です。右から三番目のお日様ベクトルが60°傾いた長さ1の棒を照らして作る影の長さは$\frac{1}{2}$($=1\times\cos60°$)、一番左のお日様ベクトルが垂直に立てられた長さ1の棒を照らして作る影の長さは0($=1\times\cos90°$)です。
こうしてみると、$\cos\theta$ は長さの倍率(収縮率)であることがわかります。お日様に照らされる棒の長さは1で変わりませんが、なす角 $\theta$ によって影の長さは大きく異なります。なす角が0°のとき、棒の長さは倍率1($=\cos0°$)でそのまま影に反映されますが、なす角が大きくなるにしたがい倍率は小さくなり、なす角が90°になると、棒の長さは影にまったく反映されなくなります(係数0:$\cos90°$)。$\cos\theta$ は射影倍率です。
余弦による射影の表現
射影倍率 $\cos\theta$ を用いて、大地のベクトル $\mathbf{b}$ に映される $\mathbf{a}$ の射影ベクトルを表現してみましょう。
$$\frac{\langle \mathbf{a}, \mathbf{b}\rangle}{\langle \mathbf{b}, \mathbf{b}\rangle}\mathbf{b}$$
射影倍率を分子に代入すると
$$\frac{\|\mathbf{a}\|\|\mathbf{b}\|\cos\theta}{\langle \mathbf{b}, \mathbf{b}\rangle}\mathbf{b}$$
$\langle \mathbf{b}, \mathbf{b}\rangle=\|\mathbf{b}\|^2$ を分母に代入すると
$$\frac{\|\mathbf{a}\|\|\mathbf{b}\|\cos\theta}{\|\mathbf{b}\|^2}\mathbf{b}$$
約分すると
$$\frac{\|\mathbf{a}\|\cos\theta}{\|\mathbf{b}\|}\mathbf{b}$$
となります。分子の $\|\mathbf{a}\|\cos\theta$ は、前節でみた棒がお日様に照らされて作る影の長さに対応します。分母の $\|\mathbf{b}\|$ は、ベクトル $\mathbf{b}$ の長さを表します。したがって、この分数は、影の長さは大地のベクトルの長さの何倍か、という倍率を表すスカラーです。前節でみたように、傾きが大きくなるにしたがい影は短くなりますのでこの倍率は小さくなります。この倍率を $\lambda$ とおきましょう。すると射影ベクトルは
$$\lambda \mathbf{b}$$
射影ベクトルは大地のベクトル $\mathbf{b}$ を $\lambda$ 倍したものであることがわかります。射影ベクトルはとてつもなくシンプルな概念です。しかしまた、関係の深さを端的に捉える、とてつもなく強力なツールでもあります。