クロス積
クロス積は、3次元空間(3次元有向内積空間)において定義される、2つのベクトルから新たなベクトルを与える二項演算である。
2つのベクトル a, b のクロス積は乗算記号を用いて a × b、あるいは角括弧を用いて [a, b] と表される。
「クロス積」という呼称は、積の記号に十字(×)を用いることに由来する(同様にベクトルの内積は点(⋅)を用いることからドット積と呼ばれる)。またクロス積の別称として、ベクトル積がある。「ベクトル積」は積 a × b がベクトルとなることに由来する(同様に積 a ⋅ b はスカラーとなるため、ドット積はスカラー積とも呼ばれる)。
日本語や中国語では、クロス積(叉積、叉积)をしばしば外積(外積、外积)と呼び、しばしば同義語として扱う。しかし「外積」という語は、より一般には外積代数における楔積も指し、必ずしも「クロス積」とは一致しない。
楔積とクロス積を区別のため、前者を外積と呼び後者をクロス積と呼ぶ。
outer product もまた「外積」と訳されるが、こちらは直積(direct product)を意味する。
2つのベクトル a, b のクロス積は、以下のように表記される。
乗算記号を用いる場合:\boldsymbol{a} \times \boldsymbol{b}
角括弧を用いる場合:[\boldsymbol{a}, \boldsymbol{b}]
3次元空間上の2つのベクトル a, b のクロス積 a × b は、以下のように定義される:
\boldsymbol{a} \times \boldsymbol{b}
= \left| \boldsymbol{a} \right|
\left| \boldsymbol{b} \right|
\sin (\theta) \ \boldsymbol{n}
ただし、θ は2つのベクトルのなす角の角度、⋅ はベクトルの大きさ、n は2つのベクトルがなす平面に対し垂直な単位ベクトルを表す(n は右手系になるように取る)。
3次元の向き付けられたベクトル空間におけるクロス積は、任意のベクトル v に対してドット積との間に
\det \langle
\boldsymbol{v},
\boldsymbol{a},
\boldsymbol{b}
\rangle
の関係を満たすベクトルの二項演算である。ここで ⟨ · , · , · ⟩ はベクトルを標準的な基底により列ベクトルと同一視することで得られる3次正方行列である。det は行列式を表す。
幾何的なベクトルの演算として定義できる。
行列式の交代性から、
\boldsymbol{b} \cdot (\boldsymbol{a} \times \boldsymbol{b} )=0
である。
従って、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 のなす角を θ とすれば、標準的な基底の下で
\begin{pmatrix}
a \\ 0 \\ 0 \\
\end{pmatrix},~
\boldsymbol{b} =
\begin{pmatrix}
b\cos\theta \\ b\sin\theta \\ 0 \\
\end{pmatrix}
と成分表示することができる。これらのクロス積は
\begin{pmatrix}
0 \\ 0 \\ ab\sin\theta \\
\end{pmatrix}
となる。従ってクロス積の大きさは
\vert \boldsymbol{a} \vert\, \vert \boldsymbol{b} \vert \sin\theta
であり、2つのベクトルが作る平行四辺形の面積に等しい。
標準的な基底を (ei,ej)=δi,j として、ベクトル a の成分 ai=(ei,a) により列ベクトルとの同一視
\boldsymbol{a}  \doteq
\begin{pmatrix}
a_1 \\ a_2 \\ a_3 \\
\end{pmatrix}
を行う。ベクトル a、b のベクトル積 [a,b] は
(\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
(\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
(\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
[\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}
となる。以上のことを形式的に
\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}
と表現することもある。
エディントンのイプシロン εijk を用いると
\sum_{j,k}\epsilon_{ijk} a_j b_k
である。
2つのベクトルのクロス積は、2つのベクトルが作る平行四辺形の大きさに等しい(図1)。
\left\| \boldsymbol{a} \times \boldsymbol{b} \right\| = \left\| \boldsymbol{a} \right\| \left\| \boldsymbol{b} \right\| \left| \sin \theta \right|
また、3つのベクトル a、b、cは、平行六面体を定義する。(図2)。この平行六面体の体積 Vについて、
V = |\boldsymbol{a} \cdot (\boldsymbol{b} \times \boldsymbol{c})|
が成り立つ。ここで絶対値記号を付けたのは、3つのベクトルのクロス積が負になる場合を考慮してのことである。
なお、
\boldsymbol{a}\cdot(\boldsymbol{b}\times \boldsymbol{c})=
\boldsymbol{b}\cdot(\boldsymbol{c}\times \boldsymbol{a})=
\boldsymbol{c}\cdot(\boldsymbol{a}\times \boldsymbol{b})
である。
a × (b + c)  a × b + a × c (角括弧表記では[a, b+c] = [a×b] + [a×c])
が成り立つ。
a × b  − b × a (角括弧表記では[b, a] = -[a, b])
が成り立つ。これは、行列式の交代性やリー代数の反交換性からも説明できる。特に、自分自身とのベクトル積は \boldsymbol{0}
であり恒等的に零ベクトルである。(複零性)
内積の性質、
(\boldsymbol{a}, \boldsymbol{b})
と異なることに注意が必要。
行列式の多重線型性から、ベクトル積も双線型性である。任意のベクトルに a、b、c とスカラー k、l に対して
が成り立つ。特に k=l=0 であれば
[\boldsymbol{0}, \boldsymbol{a}] =\boldsymbol{0}
である。内積(スカラー積)の場合は零ベクトルとの積はスカラーのゼロであるが、ベクトル積の場合は零ベクトルであることに注意が必要。
ベクトル積による演算結果はベクトルなので、別のベクトルとのベクトル積を考えることができる。3つのベクトルのベクトル積はベクトル三重積と呼ばれている。ベクトル三重積は
{Indent|
[\boldsymbol{a},[\boldsymbol{b},\boldsymbol{c}]
=(\boldsymbol{a},\boldsymbol{c})\, \boldsymbol{b}
-(\boldsymbol{a},\boldsymbol{b})\, \boldsymbol{c}
}
となる。3つのスカラーの積と異なり、ベクトル三重積では一般に
{Indent|
[\boldsymbol{a},[\boldsymbol{b},\boldsymbol{c}]
-[\boldsymbol{a},\boldsymbol{b}],\boldsymbol{c}] \neq \boldsymbol{0}
}
であり、結合法則が成り立たない。ベクトル積では結合法則に代わって
{Indent|
[\boldsymbol{a},[\boldsymbol{b},\boldsymbol{c}]
-\boldsymbol{a},\boldsymbol{b}],\boldsymbol{c}]
=[\boldsymbol{b},[\boldsymbol{a},\boldsymbol{c}
}
の関係式が成り立つ。これを変形すれば
{Indent|
[\boldsymbol{a},[\boldsymbol{b},\boldsymbol{c}]
+[\boldsymbol{b},[\boldsymbol{c},\boldsymbol{a}]
+[\boldsymbol{c},[\boldsymbol{a},\boldsymbol{b}]
=\boldsymbol{0}
}
が得られ、ヤコビ恒等式と呼ばれている。
ベクトル三重積: \boldsymbol a \times ( \boldsymbol b \times \boldsymbol c)
ベクトル\boldsymbol aとベクトル(\boldsymbol b \times \boldsymbol c)の外積であるから、これはベクトルである。そのx 成分は
\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}
同様にして、y 成分、z 成分は、
\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}
ゆえに、
\boldsymbol a \times (\boldsymbol b \times \boldsymbol c) = (\boldsymbol a \cdot \boldsymbol c) \boldsymbol b - (\boldsymbol a \cdot \boldsymbol b) \boldsymbol c
行列式による定義を拡張して、n 次元ベクトル空間における n - 1 項演算としてのベクトル積が
\det \langle \boldsymbol{v}, \boldsymbol{a}_1, \ldots, \boldsymbol{a}_{n-1} \rangle
を定義できる。
\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}
}
となる。
例えば、2次元のベクトル空間では単項演算として
\begin{pmatrix}
a_2 \\ -a_1 \\
\end{pmatrix}
となり、4次元ではそれぞれ三項演算として
\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}
となる。また、1次元では定数 1 となる。
(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)
は、4元数(a + bi + cj + dk)のベクトル成分(bi + cj + dk の部分)の乗算
(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 \,
のベクトル成分で定義できる。ちなみに、スカラー成分を符号反転した  a_1 b_1 + a_2 b_2 + a_3 b_3  は内積になっている。
3次元のクロス積はハミルトンの4元数の概念をもとにして、ウィラード・ギブズとオリヴァー・ヘヴィサイドがそれぞれ独立に、ドット積と対になる数学的概念として考案した。
これを多元数に拡張すると、n + 1 元数の乗算から n 次元でのクロス積を定義できる。つまり、実数(1元数)、複素数(2元数)、4元数、8元数の乗算から、0次元、1次元、3次元、7次元でのクロス積が定義できる(要素数が多くなるため縦ベクトルで表す)。
\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}
これら以外の次元では、必要な対称性を持つ乗算が定義できないため(これはアドルフ・フルヴィッツによって証明された)、クロス積は定義できない。また、0次元では自明なことを確認できるにすぎず、1次元のクロス積は常に零ベクトルである。
クロス積は、直積
\boldsymbol{a} \circ \boldsymbol{b} = \boldsymbol{a} \boldsymbol{b}^{\intercal} = (a_i b_j)
\boldsymbol a \times \boldsymbol b = \boldsymbol a \circ \boldsymbol b - \boldsymbol b \circ \boldsymbol a \quad (*)
と定義できる。ただしここで、反対称テンソルと擬ベクトルを等価
(x, y, z) = \begin{pmatrix} 0 & z & -y \\ -z & 0 & x \\ y & -x & 0 \end{pmatrix}
としたが、これをホッジ作用素\starで写像として明示すると
\boldsymbol a \times \boldsymbol b = \star ( \boldsymbol a \circ \boldsymbol b - \boldsymbol b \circ \boldsymbol a)
と書ける。
(*)式はそのまま、一般次元での定義に使える。ただし、これで定義できる積は、クロス積ではなく外積と呼び、
\boldsymbol a \wedge \boldsymbol b = \boldsymbol a \circ \boldsymbol b - \boldsymbol b \circ \boldsymbol a
で表す。外積は3次元ではクロス積に一致するが、同義語ではないので注意が必要である。
外積は2階の反対称テンソルであり、これはホッジ作用素により、n 次元では n - 2 階の擬テンソルに写像できる。つまり、2次元では擬スカラー(0階の擬テンソル)、3次元では擬ベクトル(1階の擬テンソル)に写像できるが、4次元以上ではテンソルとして扱うしかない。
外積(äußeres Produkt)は、グラスマンによって導入されたが、当時はそれほど注目されず、彼の死後に高く評価された。