クロス積
ベクトル積(英語: vector product)とは、ベクトル解析において、3次元の向き付けられた内積空間において定義される、2つのベクトルから新たなベクトルを与える二項演算である。2つのベクトル a、b のベクトル積は a×b や [a,b] で表される。演算の記号からクロス積(cross product)と呼ばれることもある。2つのベクトルからスカラーを与える二項演算である内積に対して外積(がいせき)とも呼ばれるが、英語でouter productは直積を意味するので注意を要する。ベクトル積を拡張した外積代数があり、ベクトル積はその3次元における特殊な場合である。
Contents
定義
3次元の向き付けられたベクトル空間におけるベクトル積 [ · , · ] は、任意のベクトル v に対して内積 ( · , · ) との間に
[math](\boldsymbol{v}, [\boldsymbol{a}, \boldsymbol{b}]) =\det \langle \boldsymbol{v}, \boldsymbol{a}, \boldsymbol{b} \rangle[/math]
の関係を満たすベクトルの二項演算である。ここで 〈 · , · , · 〉 はベクトルを標準的な基底により列ベクトルと同一視することで得られる3次正方行列である。det は行列式を表す。
成分による表示
標準的な基底を (ei,ej)=δi,j として、ベクトル a の成分 ai=(ei,a) により列ベクトルとの同一視
[math]\boldsymbol{a} \doteq \begin{pmatrix} a_1 \\ a_2 \\ a_3 \\ \end{pmatrix}[/math]
を行う。ベクトル a、b のベクトル積 [a,b] は
[math][\boldsymbol{a},\boldsymbol{b}]_1 =(\boldsymbol{e}_1,[\boldsymbol{a},\boldsymbol{b}]) = \begin{vmatrix} 1 & a_1 & b_1 \\ 0 & a_2 & b_2 \\ 0 & a_3 & b_3 \\ \end{vmatrix} =a_2 b_3 -a_3 b_2[/math]
[math][\boldsymbol{a},\boldsymbol{b}]_2 =(\boldsymbol{e}_2,[\boldsymbol{a},\boldsymbol{b}]) = \begin{vmatrix} 0 & a_1 & b_1 \\ 1 & a_2 & b_2 \\ 0 & a_3 & b_3 \\ \end{vmatrix} =a_3 b_1 -a_1 b_3[/math]
[math][\boldsymbol{a},\boldsymbol{b}]_3 =(\boldsymbol{e}_3,[\boldsymbol{a},\boldsymbol{b}]) = \begin{vmatrix} 0 & a_1 & b_1 \\ 0 & a_2 & b_2 \\ 1 & a_3 & b_3 \\ \end{vmatrix} =a_1 b_2 -a_2 b_1[/math]
あるいは
[math][\boldsymbol{a},\boldsymbol{b}] \doteq \begin{pmatrix} a_2 b_3 -a_3 b_2 \\ a_3 b_1 -a_1 b_3 \\ a_1 b_2 -a_2 b_1 \\ \end{pmatrix}[/math]
となる。以上のことを形式的に
[math][\boldsymbol{a},\boldsymbol{b}] = \begin{vmatrix} \boldsymbol{e}_1 & a_1 & b_1 \\ \boldsymbol{e}_2 & a_2 & b_2 \\ \boldsymbol{e}_3 & a_3 & b_3 \end{vmatrix}[/math]
と表現することもある。
エディントンのイプシロン εijk を用いると
[math][\boldsymbol{a}, \boldsymbol{b}]_i=\sum_{j,k}\epsilon_{ijk} a_j b_k[/math]
である。
性質
双線型性
行列式の多重線型性から、ベクトル積も双線型性である。任意のベクトルに a、b、c とスカラー k、l に対して
[math][\boldsymbol{a},k\boldsymbol{b}+l\boldsymbol{c}] =k[\boldsymbol{a},\boldsymbol{b}] +l[\boldsymbol{a},\boldsymbol{c}][/math]
[math][k\boldsymbol{b}+l\boldsymbol{c},\boldsymbol{a}] =k[\boldsymbol{b},\boldsymbol{a}] +l[\boldsymbol{c},\boldsymbol{a}][/math]
が成り立つ。特に k=l=0 であれば
[math][\boldsymbol{a},\boldsymbol{0}] =[\boldsymbol{0}, \boldsymbol{a}] =\boldsymbol{0}[/math]
である。内積(スカラー積)の場合は零ベクトルとの積はスカラーのゼロであるが、ベクトル積の場合は零ベクトルであることに注意が必要。
交代性
行列式の交代性から、ベクトル積も交代性をもつ。任意のベクトル a、b に対して
[math][\boldsymbol{b}, \boldsymbol{a}] = -[\boldsymbol{a}, \boldsymbol{b}][/math]
が成り立つ。特に、自分自身とのベクトル積は
[math][\boldsymbol{a}, \boldsymbol{a}] = \boldsymbol{0}[/math]
であり恒等的に零ベクトルである。(複零性)
内積の性質
[math](\boldsymbol{b}, \boldsymbol{a}) = (\boldsymbol{a}, \boldsymbol{b})[/math]
[math](\boldsymbol{a}, \boldsymbol{a}) = | \boldsymbol{a} |^2[/math]
と異なることに注意が必要。
ヤコビ恒等式
ベクトル積による演算結果はベクトルなので、別のベクトルとのベクトル積を考えることができる。3つのベクトルのベクトル積はベクトル三重積と呼ばれている。ベクトル三重積は
[math][\boldsymbol{a},[\boldsymbol{b},\boldsymbol{c}]] =(\boldsymbol{a},\boldsymbol{c})\, \boldsymbol{b} -(\boldsymbol{a},\boldsymbol{b})\, \boldsymbol{c}[/math]
となる。3つのスカラーの積と異なり、ベクトル三重積では一般に
[math][\boldsymbol{a},[\boldsymbol{b},\boldsymbol{c}]] -[[\boldsymbol{a},\boldsymbol{b}],\boldsymbol{c}] \neq \boldsymbol{0}[/math]
であり、結合法則が成り立たない。ベクトル積では結合法則に代わって
[math][\boldsymbol{a},[\boldsymbol{b},\boldsymbol{c}]] -[[\boldsymbol{a},\boldsymbol{b}],\boldsymbol{c}] =[\boldsymbol{b},[\boldsymbol{a},\boldsymbol{c}]][/math]
の関係式が成り立つ。これを変形すれば
[math][\boldsymbol{a},[\boldsymbol{b},\boldsymbol{c}]] +[\boldsymbol{c},[\boldsymbol{a},\boldsymbol{b}]] +[\boldsymbol{b},[\boldsymbol{c},\boldsymbol{a}]] =\boldsymbol{0}[/math]
が得られ、ヤコビ恒等式と呼ばれている。
三重積の証明
ベクトル三重積:[math] \boldsymbol a \times ( \boldsymbol b \times \boldsymbol c) [/math]
ベクトル[math]\boldsymbol a[/math]とベクトル[math](\boldsymbol b \times \boldsymbol c)[/math]の外積であるから、これはベクトルである。そのx 成分は
- [math]\begin{align} \{\boldsymbol a \times (\boldsymbol b \times \boldsymbol c) \}_x &= a_y (\boldsymbol b \times \boldsymbol c)_z - a_z (\boldsymbol b \times \boldsymbol c)_y \\ &= a_y (b_x c_y - b_y c_x) - a_z (b_z c_x -b_x c_z) \\ &= a_y b_x c_y - a_y b _y c_x - a_z b_z c_x + a_z b_x c_z \\ &= ( a_y c_y + a_z c_z) b_x - (a_y b_y + a_z b_z) c_x \\ &= (a_y c_y + a_z c_z) b_x + a_x b_x c_x - (a_y b_y + a_z b_z) c_x - a_x b_x c_x \\ &=(a_x c_x + a_y c_y + a_z c_z) b_x - (a_x b_x + a_y b_y + a_z b_z) c_x \\ &=(\boldsymbol a \cdot \boldsymbol c) b_x - (\boldsymbol a \cdot \boldsymbol b) c_x \end{align}[/math]
同様にして、y 成分、z 成分は、
- [math]\begin{align} &\{\boldsymbol a \times (\boldsymbol b \times \boldsymbol c) \}_y = (\boldsymbol a \cdot \boldsymbol c) b_y - (\boldsymbol a \cdot \boldsymbol b) c_y \\ & \{\boldsymbol a \times (\boldsymbol b \times \boldsymbol c) \}_z = (\boldsymbol a \cdot \boldsymbol c) b_z - (\boldsymbol a \cdot \boldsymbol b) c_z \end{align}[/math]
ゆえに、
- [math]\boldsymbol a \times (\boldsymbol b \times \boldsymbol c) = (\boldsymbol a \cdot \boldsymbol c) \boldsymbol b - (\boldsymbol a \cdot \boldsymbol b) \boldsymbol c[/math]
図形的な理解
ベクトル積は幾何学的なベクトルに対する演算と解釈することで、図形的な理解が可能となる。 行列式の交代性から
[math]\boldsymbol{a} \cdot (\boldsymbol{a} \times \boldsymbol{b}) =\boldsymbol{b} \cdot (\boldsymbol{a} \times \boldsymbol{b} )=0[/math]
である。 従って、2つのベクトル a、b のベクトル積 a×b は、元のベクトル a、b の両方と直交する。言い換えれば、2つのベクトルが作る平面の法線と平行な方向を向いている。
ただし、法線のどちらの方向に向いているかは座標軸の選び方に依存し、右手系と左手系に分けられる。右手系の場合は、a をその始点の周りに180度以下の回転角で回して b に重ねるときに右ねじの進む方向である。すなわち、右手の親指を a、人差し指をb としたときの中指がベクトル積 a×b の向きを表す。左手系の場合は、b をその始点の周りに180度以下の回転角で回して a に重ねるときに右ねじの進む向きである。
行列式とスカラー積の線型性からベクトル積も双線型性をもつ。 特に、2つのベクトル a、b のベクトル積 a×b は、元のベクトル a、b の大きさに比例する。 また、二つのベクトル a、b のなす角を θ とすれば、標準的な基底の下で
[math]\boldsymbol{a} = \begin{pmatrix} a \\ 0 \\ 0 \\ \end{pmatrix},~ \boldsymbol{b} = \begin{pmatrix} b\cos\theta \\ b\sin\theta \\ 0 \\ \end{pmatrix}[/math]
と成分表示することができる。これらのベクトル積は
[math]\boldsymbol{a} \times \boldsymbol{b} = \begin{pmatrix} 0 \\ 0 \\ ab\sin\theta \\ \end{pmatrix}[/math]
となる。従って、ベクトル積の大きさは
[math]\vert \boldsymbol{a} \times \boldsymbol{b} \vert =\vert \boldsymbol{a} \vert\, \vert \boldsymbol{b} \vert \sin\theta[/math]
であり、2つのベクトルが作る平行四辺形の面積に等しい。
多次元への拡張
行列式を使った拡張
行列式による定義を拡張して、n 次元ベクトル空間における n - 1 項演算としてのベクトル積が
[math](\boldsymbol{v}, [\boldsymbol{a}_1, \ldots, \boldsymbol{a}_{n-1}]) =\det \langle \boldsymbol{v}, \boldsymbol{a}_1, \ldots, \boldsymbol{a}_{n-1} \rangle[/math]
を定義できる。 完全反対称行列を用いれば
[math][\boldsymbol{a}_1, \ldots, \boldsymbol{a}_{n-1}]_i =\sum_{j_1,\ldots,j_{n-1}}\epsilon_{i,j_1,\ldots,j_{n-1}} a_1^{j_1} \cdots a_{n-1}^{j_{n-1}}[/math]
となる。
例えば、2次元のベクトル空間では単項演算として
[math][\boldsymbol{a}] = \begin{pmatrix} a_2 \\ -a_1 \\ \end{pmatrix} [/math]
となり、4次元ではそれぞれ三項演算として
[math][\boldsymbol{a}, \boldsymbol{b}, \boldsymbol{c}] = \begin{pmatrix} a_2 b_3 c_4 +a_3 b_4 c_2 +a_4 b_2 c_3 -a_2 b_4 c_3 -a_3 b_2 c_4 -a_4 b_3 c_2 \\ a_3 b_4 c_1 +a_4 b_1 c_3 +a_1 b_3 c_4 -a_3 b_1 c_4 -a_4 b_3 c_1 -a_1 b_4 c_3 \\ a_4 b_1 c_2 +a_1 b_2 c_4 +a_2 b_4 c_1 -a_4 b_2 c_1 -a_1 b_4 c_2 -a_2 b_1 c_4 \\ a_1 b_2 c_3 +a_2 b_3 c_1 +a_3 b_1 c_2 -a_1 b_3 c_2 -a_2 b_1 c_3 -a_3 b_2 c_1 \\ \end{pmatrix} [/math]
となる。また、1次元では定数 1 となる。
多元数を使った拡張
3次元のクロス積
- [math] (a_1, a_2, a_3) \times (b_1, b_2, b_3) = (a_2 b_3 - a_3 b_2, a_3 b_1 - a_1 b_3, a_1 b_2 - a_2 b_1) [/math]
は、4元数([math]a + bi + cj + dk[/math])のベクトル成分([math]bi + cj + dk[/math] の部分)の乗算
- [math] (a_1 i + a_2 j + a_3 k) (b_1 i + b_2 j + b_3 k) = -(a_1 b_1 + a_2 b_2 + a_3 b_3) + (a_2 b_3 - a_3 b_2) i + (a_3 b_1 - a_1 b_3) j + (a_1 b_2 - a_2 b_1) k \,[/math]
のベクトル成分で定義できる。ちなみに、スカラー成分を符号反転した [math] a_1 b_1 + a_2 b_2 + a_3 b_3 [/math] は内積になっている。
3次元のクロス積はハミルトンの4元数の概念をもとにして、ウィラード・ギブズとオリヴァー・ヘヴィサイドがそれぞれ独立に、ドット積と対になる数学的概念として考案した。
これを多元数に拡張すると、n + 1 元数の乗算から n 次元でのクロス積を定義できる。つまり、実数(1元数)、複素数(2元数)、4元数、8元数の乗算から、0次元、1次元、3次元、7次元でのクロス積が定義できる(要素数が多くなるため縦ベクトルで表す)。
- [math]\begin{align} &() \times () = () \\ & (a_1) \times (b_1) = (0) \\ & \begin{pmatrix} a_1 \\ a_2 \\ a_3 \end{pmatrix} \times \begin{pmatrix} b_1 \\ b_2 \\ b_3 \end{pmatrix} = \begin{pmatrix} a_2 b_3 - a_3 b_2 \\ a_3 b_1 - a_1 b_3 \\ a_1 b_2 - a_2 b_1 \end{pmatrix} \\ & \begin{pmatrix} a_1 \\ a_2 \\ a_3 \\ a_4 \\ a_5 \\ a_6 \\ a_7 \end{pmatrix} \times \begin{pmatrix} b_1 \\ b_2 \\ b_3 \\ b_4 \\ b_5 \\ b_6 \\ b_7 \end{pmatrix} = \begin{pmatrix} a_2 b_3 - a_3 b_2 - a_4 b_5 + a_5 b_4 - a_6 b_7 + a_7 b_6 \\ -a_1 b_3 + a_3 b_1 - a_4 b_6 + a_5 b_7 + a_6 b_4 - a_7 b_5 \\ a_1 b_2 - a_2 b_1 - a_4 b_7 - a_5 b_6 + a_6 b_5 + a_7 b_4 \\ a_1 b_5 + a_2 b_6 + a_3 b_7 - a_5 b_1 - a_6 b_2 - a_7 b_3 \\ -a_1 b_4 - a_2 b_7 + a_3 b_6 + a_4 b_1 - a_6 b_3 + a_7 b_2 \\ a_1 b_7 - a_2 b_4 - a_3 b_5 + a_4 b_2 + a_5 b_3 - a_7 b_1 \\ -a_1 b_6 + a_2 b_5 - a_3 b_4 + a_4 b_3 - a_5 b_2 + a_6 b_1 \end{pmatrix} \end{align}[/math]
これら以外の次元では、必要な対称性を持つ乗算が定義できないため(これはアドルフ・フルヴィッツによって証明された)、クロス積は定義できない。また、0次元では自明なことを確認できるにすぎず、1次元のクロス積は常に零ベクトルである。
直積を使った拡張(外積)
クロス積は、直積
- [math] \boldsymbol{a} \circ \boldsymbol{b} = \boldsymbol{a} \boldsymbol{b}^{\operatorname{T}} = (a_i b_j) [/math]
を使って
- [math] \boldsymbol a \times \boldsymbol b = \boldsymbol a \circ \boldsymbol b - \boldsymbol b \circ \boldsymbol a [/math] (*)
と定義できる。ただしここで、反対称テンソルと擬ベクトルを等価
- [math] (x, y, z) = \begin{pmatrix} 0 & z & -y \\ -z & 0 & x \\ y & -x & 0 \end{pmatrix} [/math]
- [math] \boldsymbol a \times \boldsymbol b = * ( \boldsymbol a \circ \boldsymbol b - \boldsymbol b \circ \boldsymbol a) [/math]
と書ける。
(*)式はそのまま、一般次元での定義に使える。ただし、これで定義できる積は、クロス積ではなく外積と呼び、
- [math] \boldsymbol a \wedge \boldsymbol b = \boldsymbol a \circ \boldsymbol b - \boldsymbol b \circ \boldsymbol a [/math]
で表す。外積は3次元ではクロス積に一致するが、同義語ではないので注意が必要である。
外積は2階の反対称テンソルであり、これはホッジ作用素により、n 次元では n - 2 階の擬テンソルに写像できる。つまり、2次元では擬スカラー(0階の擬テンソル)、3次元では擬ベクトル(1階の擬テンソル)に写像できるが、4次元以上ではテンソルとして扱うしかない。
外積(ドイツ語でäußeres Produkt)は、グラスマンによって導入されたが、当時はそれほど注目されず、彼の死後に高く評価された。