ベクトルの和・差・スカラー倍を学びましたが、2つのベクトルの「かけ算」に相当する演算はあるのでしょうか。内積(ドット積)は、2つのベクトルから1つの実数(スカラー)を生み出す演算です。内積は、角度の計算、垂直判定、射影など、ベクトルの応用で最も重要な道具となります。
$\vec{0}$ でない2つのベクトル $\vec{a}$ と $\vec{b}$ のなす角を $\theta$($0^\circ \le \theta \le 180^\circ$)とします。$\vec{a}$ と $\vec{b}$ の内積を次のように定義します。
$$\vec{a} \cdot \vec{b} = |\vec{a}||\vec{b}|\cos\theta$$
※ $\vec{a}$ または $\vec{b}$ が $\vec{0}$ のときは $\vec{a} \cdot \vec{b} = 0$ と定めます。
内積の結果はベクトルではなくスカラー(実数)です。これが和や差との決定的な違いです。
$\cos\theta$ は2つのベクトルの向きの「一致度」を表します。
同じ向き($\theta = 0^\circ$)のとき $\cos\theta = 1$ で内積は最大($|\vec{a}||\vec{b}|$)。直交($\theta = 90^\circ$)のとき $\cos\theta = 0$ で内積は $0$。反対向き($\theta = 180^\circ$)のとき $\cos\theta = -1$ で内積は負($-|\vec{a}||\vec{b}|$)。
つまり内積は、2つのベクトルが「どれだけ同じ方向を向いているか」を、大きさを考慮して数値化したものです。
| $\theta$ の範囲 | $\cos\theta$ の符号 | $\vec{a} \cdot \vec{b}$ の符号 | 幾何学的意味 |
|---|---|---|---|
| $0^\circ \le \theta < 90^\circ$ | 正 | 正 | 鋭角をなす(同じ側を向く) |
| $\theta = 90^\circ$ | $0$ | $0$ | 直交する |
| $90^\circ < \theta \le 180^\circ$ | 負 | 負 | 鈍角をなす(反対側を向く) |
✗ 誤:2つのベクトルのなす角は $270^\circ$ になりうる
○ 正:ベクトルのなす角は常に $0^\circ \le \theta \le 180^\circ$ の範囲
始点をそろえたとき、2つのベクトルの間にできる角のうち小さい方($180^\circ$ 以下)を「なす角」とします。$240^\circ$ と考えたくなる場合も $360^\circ - 240^\circ = 120^\circ$ が正しいなす角です。
✗ 誤:$\vec{a} \cdot \vec{b}$ はベクトルである
○ 正:$\vec{a} \cdot \vec{b}$ はスカラー(実数)である
内積の結果には矢印を付けません。$\vec{a} \cdot \vec{b} = 3$ のように、ただの数になります。これは和 $\vec{a} + \vec{b}$(ベクトル)とは根本的に異なります。
物理学で力 $\vec{F}$ を加えて物体を $\vec{d}$ だけ移動させたとき、力がした「仕事」は $W = \vec{F} \cdot \vec{d} = |\vec{F}||\vec{d}|\cos\theta$ と定義されます。力の方向と移動方向が直交すれば仕事は $0$(横向きの力では物体は加速しない)、反対方向なら負の仕事(ブレーキ)です。内積の定義は物理的にも自然なのです。
$\vec{a} = (a_1, a_2)$、$\vec{b} = (b_1, b_2)$ のとき、内積は成分を使って次のように計算できます。
$$\vec{a} \cdot \vec{b} = a_1 b_1 + a_2 b_2$$
※ 対応する成分どうしをかけて足す ── これだけです。$(3, 2) \cdot (1, -4) = 3 \cdot 1 + 2 \cdot (-4) = -5$
余弦定理を使って導きます。$\vec{a} = \overrightarrow{OA}$、$\vec{b} = \overrightarrow{OB}$ とし、なす角を $\theta$ とすると、三角形 $OAB$ に余弦定理を適用して:
$$AB^2 = OA^2 + OB^2 - 2 \cdot OA \cdot OB \cdot \cos\theta$$
左辺:$AB^2 = (a_1 - b_1)^2 + (a_2 - b_2)^2 = a_1^2 - 2a_1 b_1 + b_1^2 + a_2^2 - 2a_2 b_2 + b_2^2$
右辺:$(a_1^2 + a_2^2) + (b_1^2 + b_2^2) - 2|\vec{a}||\vec{b}|\cos\theta$
両辺を比較すると $-2a_1 b_1 - 2a_2 b_2 = -2|\vec{a}||\vec{b}|\cos\theta$ より:
$$\vec{a} \cdot \vec{b} = |\vec{a}||\vec{b}|\cos\theta = a_1 b_1 + a_2 b_2$$
内積には「幾何学的定義」と「成分計算」の2つの顔があります。
$$\underbrace{|\vec{a}||\vec{b}|\cos\theta}_{\text{角度から計算}} = \underbrace{a_1 b_1 + a_2 b_2}_{\text{成分から計算}}$$
角度がわかっているときは左辺を、成分がわかっているときは右辺を使います。両方が使えることで、「成分から角度を求める」ことが可能になります。
ベクトル自身との内積 $\vec{a} \cdot \vec{a}$ を計算すると($\theta = 0^\circ$ なので $\cos 0^\circ = 1$):
$$\vec{a} \cdot \vec{a} = |\vec{a}|^2 = a_1^2 + a_2^2$$
つまり、大きさの二乗は自分自身との内積です。この関係は頻繁に使います。$|\vec{a}|^2$ を計算したいときに、わざわざルートを取って二乗し直すよりも、$\vec{a} \cdot \vec{a}$ として成分計算する方が圧倒的に効率的です。
✗ 誤:$|\vec{a} + \vec{b}|^2 = |\vec{a}|^2 + |\vec{b}|^2$
○ 正:$|\vec{a} + \vec{b}|^2 = |\vec{a}|^2 + 2\vec{a} \cdot \vec{b} + |\vec{b}|^2$
$|\vec{a} + \vec{b}|^2 = (\vec{a}+\vec{b}) \cdot (\vec{a}+\vec{b})$ を展開するときは内積の「交差項」$2\vec{a} \cdot \vec{b}$ を忘れないこと。これは実数の $(a+b)^2 = a^2 + 2ab + b^2$ と全く同じ構造です。
内積は次の性質を満たします。これらを使うことで、内積を含む式を自由に変形できます。
$$\vec{a} \cdot \vec{b} = \vec{b} \cdot \vec{a} \quad \text{(交換法則)}$$
$$\vec{a} \cdot (\vec{b} + \vec{c}) = \vec{a} \cdot \vec{b} + \vec{a} \cdot \vec{c} \quad \text{(分配法則)}$$
$$(k\vec{a}) \cdot \vec{b} = k(\vec{a} \cdot \vec{b}) = \vec{a} \cdot (k\vec{b})$$
$$\vec{a} \cdot \vec{a} = |\vec{a}|^2 \ge 0$$
これらの法則は、成分で内積を計算すれば直接確かめられます。たとえば交換法則は $a_1 b_1 + a_2 b_2 = b_1 a_1 + b_2 a_2$ から明らかです。
✗ 誤:$(\vec{a} \cdot \vec{b}) \cdot \vec{c} = \vec{a} \cdot (\vec{b} \cdot \vec{c})$ が成り立つ
○ 正:$(\vec{a} \cdot \vec{b}) \cdot \vec{c}$ はスカラー倍、$\vec{a} \cdot (\vec{b} \cdot \vec{c})$ もスカラー倍で、一般に異なる
$\vec{a} \cdot \vec{b}$ はスカラーなので、$(\vec{a} \cdot \vec{b}) \cdot \vec{c}$ は「数 × ベクトル」つまりスカラー倍です。同様に $\vec{a} \cdot (\vec{b} \cdot \vec{c})$ も「ベクトル × 数」です。これらはベクトルになるため、内積ではなくスカラー倍の演算です。内積の「結合法則」は意味をなしません。
内積の分配法則を使うと、大きさの二乗を次のように展開できます。
$$|\vec{a} + \vec{b}|^2 = (\vec{a} + \vec{b}) \cdot (\vec{a} + \vec{b}) = |\vec{a}|^2 + 2\vec{a} \cdot \vec{b} + |\vec{b}|^2$$
$$|\vec{a} - \vec{b}|^2 = |\vec{a}|^2 - 2\vec{a} \cdot \vec{b} + |\vec{b}|^2$$
この2式の差を取ると、内積を「大きさの情報だけ」から求める公式が得られます。
$$\vec{a} \cdot \vec{b} = \frac{|\vec{a} + \vec{b}|^2 - |\vec{a} - \vec{b}|^2}{4}$$
上の演算法則を公理として採用し、内積が定義されたベクトル空間を「内積空間」と呼びます。さらに完備性という条件を加えたものが「ヒルベルト空間」で、量子力学の数学的基礎を成しています。高校で学ぶ内積の性質は、現代物理学の土台なのです。
内積の定義と余弦定理は、実は同じことを別の形で表現しています。この対応関係を理解すると、内積の公式を「覚える」必要がなくなります。
三角形 $OAB$ で $\overrightarrow{OA} = \vec{a}$、$\overrightarrow{OB} = \vec{b}$、$\angle AOB = \theta$ とすると:
$$AB^2 = OA^2 + OB^2 - 2 \cdot OA \cdot OB \cdot \cos\theta$$
ベクトルで書き直すと $\overrightarrow{AB} = \vec{b} - \vec{a}$ なので:
$$|\vec{b} - \vec{a}|^2 = |\vec{a}|^2 + |\vec{b}|^2 - 2|\vec{a}||\vec{b}|\cos\theta$$
一方、内積で展開すると:
$$|\vec{b} - \vec{a}|^2 = |\vec{a}|^2 - 2\vec{a} \cdot \vec{b} + |\vec{b}|^2$$
比較すると $\vec{a} \cdot \vec{b} = |\vec{a}||\vec{b}|\cos\theta$ が得られます。
余弦定理は三角形の辺と角の関係を述べています。これをベクトルで書き直すと、自然に内積の定義式が現れます。つまり内積は、余弦定理のベクトル版なのです。
内積を「新しい概念」として暗記する必要はありません。余弦定理を知っていれば、内積は自然に理解できます。
逆に、内積の性質から余弦定理を導くこともできます。三角形の3辺 $\vec{a}$、$\vec{b}$、$\vec{c} = \vec{b} - \vec{a}$ に対して $|\vec{c}|^2$ を展開すれば、直ちに余弦定理が出てきます。
このように、内積と余弦定理は相互に導出できる同値な関係にあります。
✗ 誤:$\overrightarrow{AB}$ と $\overrightarrow{BC}$ のなす角に余弦定理を直接適用
○ 正:始点をそろえて $\overrightarrow{BA}$ と $\overrightarrow{BC}$ のなす角($= \angle B$)を考える
内積の定義では2つのベクトルの始点を一致させます。$\overrightarrow{AB}$ と $\overrightarrow{BC}$ は始点が異なるので、$\overrightarrow{BA}$ と $\overrightarrow{BC}$(始点が $B$)に変換してからなす角を考えます。
内積にはもう一つ重要な幾何学的解釈があります。それが射影(projection)です。
$\vec{b}$ を $\vec{a}$ の方向に「影」を落とすことを考えます。$\vec{b}$ の始点から $\vec{a}$ の方向に垂線を下ろしたとき、$\vec{a}$ 方向の影の長さ(符号付き)は:
$$|\vec{b}|\cos\theta$$
この値に $|\vec{a}|$ をかけたものが内積です。つまり:
$$\vec{a} \cdot \vec{b} = |\vec{a}| \times (|\vec{b}|\cos\theta) = |\vec{a}| \times (\vec{b} \text{ の } \vec{a} \text{ 方向への射影の長さ})$$
※ $\vec{b}$ の $\vec{a}$ 方向への正射影ベクトルは $\dfrac{\vec{a} \cdot \vec{b}}{|\vec{a}|^2}\vec{a}$ と表せます。
$\vec{b}$ のうち $\vec{a}$ と同じ方向の成分だけを取り出し、$|\vec{a}|$ を重みとしてかけたものが内積です。直交する成分は内積に寄与しません。
物理で「力の仕事」が $W = |\vec{F}||\vec{d}|\cos\theta$ となるのは、力のうち移動方向に沿った成分だけが仕事をするからです。内積は本質的に「射影の量」なのです。
$\vec{b}$ を $\vec{a}$ の方向に射影したベクトル(正射影ベクトル)は:
$$\text{proj}_{\vec{a}}\vec{b} = \frac{\vec{a} \cdot \vec{b}}{|\vec{a}|^2}\vec{a}$$
$\vec{a}$ 方向の単位ベクトルが $\dfrac{\vec{a}}{|\vec{a}|}$ であり、射影の長さが $\dfrac{\vec{a} \cdot \vec{b}}{|\vec{a}|}$ なので、射影ベクトル $= $ 長さ $\times$ 単位ベクトルとして上の式が得られます。
データ分析でよく使われる「最小二乗法」は、データベクトルをモデル空間に射影する操作です。正射影の公式 $\text{proj}_{\vec{a}}\vec{b} = \dfrac{\vec{a} \cdot \vec{b}}{|\vec{a}|^2}\vec{a}$ を行列に拡張したものが、回帰分析の公式 $\hat{\boldsymbol{\beta}} = (X^T X)^{-1} X^T \boldsymbol{y}$ です。内積と射影の概念は、統計学・機械学習の基礎を支えています。
Q1. $\vec{a} = (3, 1)$、$\vec{b} = (2, -4)$ のとき、$\vec{a} \cdot \vec{b}$ を求めよ。
Q2. $|\vec{a}| = 3$、$|\vec{b}| = 4$、なす角 $\theta = 60^\circ$ のとき、$\vec{a} \cdot \vec{b}$ は?
Q3. $\vec{a} \cdot \vec{a} = 25$ のとき、$|\vec{a}|$ は?
Q4. $|\vec{a} + \vec{b}|^2$ を内積を使って展開せよ。
Q5. 内積の結合法則 $(\vec{a} \cdot \vec{b}) \cdot \vec{c} = \vec{a} \cdot (\vec{b} \cdot \vec{c})$ は成り立つか?
$|\vec{a}| = 2$、$|\vec{b}| = 3$、$\vec{a} \cdot \vec{b} = -3$ のとき、次を求めよ。
(1) $\vec{a}$ と $\vec{b}$ のなす角 $\theta$
(2) $|\vec{a} + \vec{b}|$
(3) $|2\vec{a} - \vec{b}|$
(1) $\cos\theta = \dfrac{\vec{a} \cdot \vec{b}}{|\vec{a}||\vec{b}|} = \dfrac{-3}{2 \cdot 3} = -\dfrac{1}{2}$
$0^\circ \le \theta \le 180^\circ$ より $\theta = 120^\circ$
(2) $|\vec{a}+\vec{b}|^2 = |\vec{a}|^2 + 2\vec{a}\cdot\vec{b} + |\vec{b}|^2 = 4 + 2(-3) + 9 = 7$
$|\vec{a}+\vec{b}| = \sqrt{7}$
(3) $|2\vec{a}-\vec{b}|^2 = 4|\vec{a}|^2 - 4\vec{a}\cdot\vec{b} + |\vec{b}|^2 = 16 - 4(-3) + 9 = 37$
$|2\vec{a}-\vec{b}| = \sqrt{37}$
$|\vec{a}| = 1$、$|\vec{b}| = 2$、$|\vec{a} - \vec{b}| = \sqrt{7}$ のとき、$\vec{a} \cdot \vec{b}$ と $\vec{a}$、$\vec{b}$ のなす角 $\theta$ を求めよ。
$|\vec{a}-\vec{b}|^2 = |\vec{a}|^2 - 2\vec{a}\cdot\vec{b} + |\vec{b}|^2$ より:
$7 = 1 - 2\vec{a}\cdot\vec{b} + 4 = 5 - 2\vec{a}\cdot\vec{b}$
$\vec{a}\cdot\vec{b} = -1$
$\cos\theta = \dfrac{-1}{1 \cdot 2} = -\dfrac{1}{2}$ より $\theta = 120^\circ$
$\vec{a} = (1, 2)$ とする。$|\vec{b}| = 1$ を満たすベクトル $\vec{b}$ に対して、内積 $\vec{a} \cdot \vec{b}$ の最大値と最小値を求めよ。
$\vec{a} \cdot \vec{b} = |\vec{a}||\vec{b}|\cos\theta = \sqrt{5} \cdot 1 \cdot \cos\theta = \sqrt{5}\cos\theta$
$0^\circ \le \theta \le 180^\circ$ で $\cos\theta$ は $-1 \le \cos\theta \le 1$ の範囲を動くので:
最大値:$\sqrt{5}$($\theta = 0^\circ$ のとき、$\vec{b}$ が $\vec{a}$ と同じ向き)
最小値:$-\sqrt{5}$($\theta = 180^\circ$ のとき、$\vec{b}$ が $\vec{a}$ と逆向き)
別解として成分で $\vec{b} = (\cos\alpha, \sin\alpha)$ とおき、$\vec{a}\cdot\vec{b} = \cos\alpha + 2\sin\alpha = \sqrt{5}\sin(\alpha + \phi)$(合成)から $-\sqrt{5} \le \vec{a}\cdot\vec{b} \le \sqrt{5}$ と求めることもできます。内積の定義式を使う方が直截的です。
$|\vec{a}| = 3$、$|\vec{b}| = 2$ とする。$\vec{c} = t\vec{a} + (1-t)\vec{b}$($t$ は実数)の大きさ $|\vec{c}|$ が最小となる $t$ の値を、$\vec{a} \cdot \vec{b}$ を用いて表せ。
$|\vec{c}|^2 = |t\vec{a} + (1-t)\vec{b}|^2$
$= t^2|\vec{a}|^2 + 2t(1-t)\vec{a}\cdot\vec{b} + (1-t)^2|\vec{b}|^2$
$= 9t^2 + 2t(1-t)\vec{a}\cdot\vec{b} + 4(1-t)^2$
$\vec{a}\cdot\vec{b} = d$ とおくと:
$= 9t^2 + 2(t - t^2)d + 4(1 - 2t + t^2)$
$= 9t^2 + 2td - 2t^2 d + 4 - 8t + 4t^2$
$= (13 - 2d)t^2 + (2d - 8)t + 4$
これは $t$ の2次関数($13 - 2d > 0$ であることは $|d| \le |\vec{a}||\vec{b}| = 6$ より保証される)。
最小となる $t$ は $t = -\dfrac{2d - 8}{2(13 - 2d)} = \dfrac{8 - 2d}{2(13 - 2d)} = \dfrac{4 - \vec{a}\cdot\vec{b}}{13 - 2\vec{a}\cdot\vec{b}}$
$|\vec{c}|^2$ を $t$ の2次関数とみて頂点の $t$ 座標を求める問題です。$\vec{a}\cdot\vec{b}$ が未知のまま文字で処理する必要があるため、展開と整理を丁寧に行うことが重要です。2次の係数が正であることの確認(コーシー・シュワルツの不等式 $|d| \le 6$ を利用)も採点対象です。