1 成分による内積
定義 1.1 (内積). 実成分の平面ベクトルa=(a1,a2)、b=(b1,b2)の 内積 (inner product) を
a⋅b=a1b1+a2b2で定める。空間ベクトルa=(a1,a2,a3)、b=(b1,b2,b3)では
a⋅b=a1b1+a2b2+a3b3で定める。内積の値は実数であり、どちらかのベクトルが零なら0である。
2 長さとなす角による表示
証明. 二つのベクトルを同じ始点Oに置き、終点をA,Bとする。成分の差の平方を展開すると、平面でも空間でも
∣a−b∣2=∣a∣2+∣b∣2−2a⋅bとなる。二つのベクトルが平行でない場合、O,A,Bが定める平面上の三角形に余弦定理§A2.1 定理 3.2を用いると
∣a−b∣2=∣a∣2+∣b∣2−2∣a∣∣b∣cosθを得る。空間の場合にも、この平面上での辺の長さは空間の成分で計算した長さと同じである。二つの等式を比較すると角による表示を得る。平行な場合にはb=ta(t=0)と書く。a⋅b=t∣a∣2であり、∣b∣=∣t∣∣a∣である。t>0ならθ=0、t<0ならθ=πなので、どちらの場合も角による表示が成り立つ。▨
非零ベクトルのなす角を成分から求めるには、次の式を使います。
cosθ=∣a∣∣b∣a⋅b.
3 垂直条件と射影
定義 3.1 (直交). 平面または空間のベクトルa,bが 直交 (orthogonality) するとは、a⋅b=0であることをいう。零ベクトルはすべてのベクトルに直交する。両ベクトルが非零なら、直交はなす角がπ/2であることと同値である。
非零の場合の同値性は、角の式と、[0,π]の範囲ではcosθ=0がθ=π/2に限ることから従います。
定義 3.2 (符号付き射影の長さ). 平面または空間のベクトルa=0とbを同じ始点Oに置き、bの終点をBとする。Oを通りaの方向に延びる直線へ、Bから下ろした垂線の足をHとする。HがOからaと同じ向きにあるときはOH、逆向きにあるときは−OH、H=Oのときは0を、bのa方向への 符号付き射影の長さ (signed projection length) と呼ぶ。
証明.b=0のとき、aとbのなす角をθ∈[0,π]とする。余弦の定義と射影の符号からp=∣b∣cosθである。平行な場合にも、θ=0,πを代入すれば同じ式が成り立つ。定理 2.1の等式を∣a∣>0で割ると公式を得る。b=0のときは垂線の足が始点に一致するのでp=0であり、成分による内積も0である。▨
下の図では、bのa方向への符号付き射影の長さを、緑点のx座標で表します。この長さの5倍が内積です。
例 3.4.a=(3,0)、b=(−2,2)では、a⋅b=−6、∣a∣=3、∣b∣=22である。したがって
cosθ=3⋅22−6=−21,θ=43π,p=3−6=−2.射影はaと逆向きなので符号が負となる。一方、c=(0,2)に対してはa⋅c=0であり、両ベクトルは直交する。
解答.
a=AB=(1,2)、b=AP=(2,−2)とおく。a⋅b=−2、∣a∣=5なので、公式 3.3により、符号付き射影の長さは
p=−52である。a/∣a∣は直線ABの正の向きを表す単位ベクトルだから、
AH=p∣a∣a=−52(1,2).したがって
H=(53,56),HP=(512,−56),PH=56.実際、HP⋅a=12/5−12/5=0なので、求めた点は垂線の足である。AH=−(2/5)ABであるから、点Hは点A側の延長上にある。射影の長さが負となることは、点Hが点AからABと逆向きにあることに対応する。▨
閑話休題:コサイン類似度と埋め込み 非零ベクトルに対するa⋅b/(∣a∣∣b∣)は、−1から1の値をとり、コサイン類似度と呼ばれます。ベクトルの成分が三つより多い場合にも、対応する成分の積を足す内積と、平方和の平方根である長さを用いて同じ比を定めます。文書を単語の出現回数のベクトルで表す検索モデルでは、質問文と文書のコサイン類似度を比較します。視聴履歴をベクトルで表す推薦モデルでも、コサイン類似度をユーザー間の類似度の指標として用いることができます。
言葉の埋め込みは、学習によって単語などを多成分のベクトルとして表す方法です。学習した表示によっては、意味の近い語のコサイン類似度が高くなるほか、
v王−v男+v女≈v女王のように、語の関係がベクトルの差と和によって近似的に表される場合があります。この近似の精度は、学習データとベクトルの作り方に依存します。言語モデルでも、語などを多成分のベクトルで表します。内積は、それらのベクトルの間の関係を計算する演算の一つとして用いられます。
4 例題
実ベクトルを扱う。次の問いに答えよ。
解法の型内積 = 成分の積の和。垂直⟺内積 =0
例 4.1. 内積を計算せよ。
a=(4,−2), b=(3,−3) のときa⋅b答18
例 4.2. 内積を計算せよ。
a=(−4,−3), b=(2,3) のときa⋅b答−17
例 4.3. 内積を計算せよ。
a=(−2,−4), b=(−2,−1) のときa⋅b答8
例 4.4. ベクトルが垂直になる t を求めよ。
a=(−3,1), b=(3,−1) のとき、 a⊥(b+ta) となる t答t=1
注意a⋅(b+ta)=a⋅b+t∣a∣2=0を解く
例 4.5. 内積を計算せよ。
a=(−2,4), b=(1,−3) のときa⋅b答−14
例 4.6. 内積を計算せよ。
a=(−1,3), b=(5,−2) のときa⋅b答−11
例 4.7. ベクトルが垂直になる t を求めよ。
a=(3,3), b=(−3,−9) のとき、 a⊥(b+ta) となる t答t=2
注意a⋅(b+ta)=a⋅b+t∣a∣2=0を解く
例 4.8. 内積を計算せよ。
a=(−2,0), b=(−3,−1) のときa⋅b答6
例 4.9. 内積を計算せよ。
a=(−4,2), b=(−1,5) のときa⋅b答14
例 4.10. ベクトルが垂直になる t を求めよ。
a=(−1,3), b=(−4,−8) のとき、 a⊥(b+ta) となる t答t=2
注意a⋅(b+ta)=a⋅b+t∣a∣2=0を解く
5 演習
実ベクトルを扱う。次の問いに答えよ。
解法の型内積 = 成分の積の和。垂直⟺内積 =0
問題 5.1. 内積を計算せよ。
a=(3,3), b=(4,−1) のときa⋅b解答.
答9▨
問題 5.2. 内積を計算せよ。
a=(2,3), b=(−3,−4) のときa⋅b解答.
答−18▨
問題 5.3. 内積を計算せよ。
a=(1,4), b=(5,−2) のときa⋅b解答.
答−3▨
問題 5.4. 内積を計算せよ。
a=(2,1), b=(−2,−1) のときa⋅b解答.
答−5▨
問題 5.5. 内積を計算せよ。
a=(−3,3), b=(1,−5) のときa⋅b解答.
答−18▨
問題 5.6. 内積を計算せよ。
a=(−5,−2), b=(−1,−2) のときa⋅b解答.
答9▨
問題 5.7. 内積を計算せよ。
a=(5,−4), b=(3,4) のときa⋅b解答.
答−1▨
問題 5.8. 内積を計算せよ。
a=(1,4), b=(−3,2) のときa⋅b解答.
答5▨
問題 5.9. ベクトルが垂直になる t を求めよ。
a=(−1,2), b=(−2,−6) のとき、 a⊥(b+ta) となる t解答.
答t=2
注意a⋅(b+ta)=a⋅b+t∣a∣2=0を解く▨
問題 5.10. ベクトルが垂直になる t を求めよ。
a=(3,3), b=(−2,−10) のとき、 a⊥(b+ta) となる t解答.
答t=2
注意a⋅(b+ta)=a⋅b+t∣a∣2=0を解く▨
問題 5.11. 内積を計算せよ。
a=(−4,−1), b=(0,4) のときa⋅b解答.
答−4▨
問題 5.12. 内積を計算せよ。
a=(2,4), b=(3,−2) のときa⋅b解答.
答−2▨
問題 5.13. ベクトルが垂直になる t を求めよ。
a=(3,1), b=(2,−16) のとき、 a⊥(b+ta) となる t解答.
答t=1
注意a⋅(b+ta)=a⋅b+t∣a∣2=0を解く▨
問題 5.14. 内積を計算せよ。
a=(−5,5), b=(0,4) のときa⋅b解答.
答20▨
問題 5.15. 内積を計算せよ。
a=(3,3), b=(5,4) のときa⋅b解答.
答27▨