クロス積

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索

クロス積(外積)(クロスせき、cross product)、ベクトル積(ベクトルせき、vector product)とは、ベクトル解析において、2 つの3次元ベクトル ab に対して定義される演算 a × b である。これは、外積の3次元での特殊ケースである。

定義[編集]

3次元ベクトル a, b の外積は次の定義による大きさと向きを持つ3次元ベクトルである。a, bなす角を θとするとき、外積の大きさ |a × b| は、

|\mathbf a\times\mathbf b| = |\mathbf a||\mathbf b|\sin\theta

で与えられる。これからわかるように、外積の大きさは、二つのベクトルが作る平行四辺形の面積である。また、その向きは、右手系の場合、a, b を含む平面で a をその始点の周りに (θだけ) 回転させて b に重ねるとき、右ねじの進む向きである。すなわち,右手の親指をa、人差し指をbとしたときに中指が外積の向きを表す。なお、左手系の場合、b をその始点の周りに (θだけ) 回転させて a に重ねるとき、右ねじの進む向きである。すなわち、左手の親指をa、人差し指をbとしたときに中指が外積の向きを表す。

成分で書くと、\mathbf a = (a_x, a_y, a_z) , \mathbf b = (b_x, b_y, b_z) のとき、

\mathbf a\times\mathbf b = (a_y b_z - a_z b_y, a_z b_x - a_x b_z, a_x b_y - a_y b_x)

エディントンのイプシロン\epsilon_{ijk}を用いると、

(\mathbf a\times\mathbf b)_i=\sum_{j,k}\epsilon_{ijk} a_j b_k

行列式を使うと次のようにも書ける。


 \mathbf a\times\mathbf b =
 \begin{vmatrix}
 a_x & a_y & a_z\\
 b_x & b_y & b_z\\
 \mathbf e_x & \mathbf e_y & \mathbf e_z
 \end{vmatrix} = 
 \left(
 \begin{vmatrix}a_y & a_z \\ b_y & b_z\end{vmatrix},
 \begin{vmatrix}a_z & a_x \\ b_z & b_x\end{vmatrix},
 \begin{vmatrix}a_x & a_y \\ b_x & b_y\end{vmatrix}
 \right)

ここで、ex, ey, ez はそれぞれ x 軸, y 軸, z 軸の正の向きの単位ベクトル、ex = (1, 0, 0), ey = (0, 1, 0), ez = (0, 0, 1) である。

座標系との関係[編集]

クロス積の定義は、直交座標系の座標軸の正の順序(もしくはその偶置換\, i,\,j,\,kに基づき、\, \boldsymbol{e}_i \times \boldsymbol{e}_j = \boldsymbol{e}_k(例えば\, \boldsymbol{e}_x \times \boldsymbol{e}_y = \boldsymbol{e}_z)となる。実空間でどのような方向関係にあるかは、座標系が右手系左手系かに依存することになる。

外積の性質[編集]

任意のベクトル a, b, cR3、任意のスカラー kR について、

  1. \mathbf a\times\mathbf a = \mathbf 0
  2. \mathbf b\times\mathbf a = -\mathbf a\times\mathbf b
  3. (\mathbf a + \mathbf b)\times\mathbf c = \mathbf a\times\mathbf c + \mathbf b\times\mathbf c
  4. \mathbf a\times(\mathbf b + \mathbf c) = \mathbf a\times\mathbf b + \mathbf a\times\mathbf c
  5. (k\mathbf a)\times\mathbf b = \mathbf a\times(k\mathbf b) = k(\mathbf a\times\mathbf b)
  6. \mathbf a\times\mathbf 0 = \mathbf 0\times\mathbf a = \mathbf 0
  7. \mathbf a\times(\mathbf b\times \mathbf c) + \mathbf b\times(\mathbf c\times \mathbf a) +
\mathbf c\times(\mathbf a\times \mathbf b) = \mathbf 0
  8. ベクトル三重積 \mathbf a \times ( \mathbf b \times \mathbf c) = (\mathbf a \cdot \mathbf c)\mathbf b - (\mathbf a \cdot \mathbf b)\mathbf c

が成立する。ドット積とは性質

1'. \mathbf a\cdot\mathbf a = |\mathbf a|^2
2'. \mathbf a\cdot\mathbf b = \mathbf b\cdot\mathbf a

が異なることに注意が必要。7式は、いわゆるヤコビ恒等式(Jacobi Identity)である。

ベクトル三重積性質の証明[編集]

ベクトル三重積: \mathbf a \times ( \mathbf b \times \mathbf c)

ベクトル\mathbf aとベクトル(\mathbf b \times \mathbf c)の外積であるから、これはベクトルである。そのx 成分は

\begin{align}
\{a \times (b \times c) \}_x 
&= a_y (b \times c)_z - a_z (b \times 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 \\
&=(a \cdot c) b_x - (a \cdot b) c_x \end{align}

同様にして、y 成分、z 成分は、

\begin{align}&\{a \times (b \times c) \}_y = (a \cdot c) b_y - (a \cdot b) c_y \\
& \{a \times (b \times c) \}_z = (a \cdot c) b_z - (a \cdot b) c_z \end{align}

ゆえに、

a \times (b \times c) = (a \cdot c) b - (a \cdot b) c

多次元への拡張[編集]

行列式を使った拡張[編集]

行列式による定義

 \mathbf a \times  \mathbf b =
 \begin{vmatrix}
 \mathbf e_1 & \mathbf e_2 & \mathbf e_3 \\
 a_1 & a_2 & a_3 \\
 b_1 & b_2 & b_3
 \end{vmatrix} =
 \begin{vmatrix}
 a_1 & a_2 & a_3 \\
 b_1 & b_2 & b_3 \\
 \mathbf e_1 & \mathbf e_2 & \mathbf e_3
 \end{vmatrix} =
 \left(
 \begin{vmatrix} a_2 & a_3 \\ b_2 & b_3 \end{vmatrix},
 \begin{vmatrix} a_3 & a_1 \\ b_3 & b_1 \end{vmatrix},
 \begin{vmatrix} a_1 & a_2 \\ b_1 & b_2 \end{vmatrix}
\right)

を拡張して、n 次元ベクトルの n - 1 項演算としてのクロス積

 \times(\mathbf a_1, \mathbf a_2, \cdots, \mathbf a_{n-1}) = \mathbf a_1 \times \mathbf a_2 \times \cdots \times \mathbf a_{n-1} = (\pm)^{n+1}
 \begin{vmatrix}
 \mathbf e_1 & \mathbf e_2 & \cdots & \mathbf e_n \\
 a_{1,1} & a_{1,2} & \cdots & a_{1,n} \\
 a_{2,1} & a_{2,2} & \cdots & a_{2,n} \\
 \vdots & \vdots & \ddots & \vdots \\
 a_{n-1,1} & a_{n-1,2} & \cdots & a_{n-1,n}
 \end{vmatrix}

を定義できる。なお、2項演算以外では中置記法  a \times b は不便なため、 \times(\cdots) の関数表現を使った。

(\pm)^{n+1} は、奇数次元では1だが偶数次元では複号 \pm となることを意味する。これは、上の式では基底を1行目においたが、最後の行に置いた場合、偶数次元では上の行列式の-1倍になることに起因する。

たとえば、1、2、4次元ではそれぞれ定数単項演算三項演算

 \times() = \det(\mathbf e_1) = (1)
 \times(\mathbf a) = \pm \begin{vmatrix} \mathbf e_1 & \mathbf e_2 \\ a_1 & a_2 \end{vmatrix} = (\pm a_2, \mp a_1)
 \times(\mathbf a, \mathbf b, \mathbf c) = \mathbf a \times \mathbf b \times \mathbf c =
 \pm \begin{vmatrix}
 \mathbf e_1 & \mathbf e_2 & \mathbf e_3 & \mathbf e_4 \\
 a_1 & a_2 & a_3 & a_4\\
 b_1 & b_2 & b_3 & b_4 \\
 c_1 & c_2 & c_3 & c_4
 \end{vmatrix} = \left(
 \pm \begin{vmatrix} a_2 & a_3 & a_4 \\ b_2 & b_3 & b_4 \\ c_2 & c_3 & c_4 \end{vmatrix},
 \mp \begin{vmatrix} a_3 & a_4 & a_1 \\ b_3 & b_4 & b_1 \\ c_3 & c_4 & c_1 \end{vmatrix},
 \pm \begin{vmatrix} a_4 & a_1 & a_2 \\ b_4 & b_1 & b_2 \\ c_4 & c_1 & c_2 \end{vmatrix},
 \mp \begin{vmatrix} a_1 & a_2 & a_3 \\ b_1 & b_2 & b_3 \\ c_1 & c_2 & c_3 \end{vmatrix} \right)

となる(複合は同順)。

多元数を使った拡張[編集]

3次元のクロス積

 (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元数グラスマンのäußeres Produkt(外積)の概念をもとにして、米国の物理学者・数学者であるウィラード・ギブズによって定義された。

これを多元数に拡張すると、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次元のクロス積は常に零ベクトルである。

直積を使った拡張(外積)[編集]

クロス積は、直積

 \mathbf{a} \circ \mathbf{b} = \mathbf{a} \mathbf{b}^{\operatorname{T}} = (a_i b_j)

を使って

 \mathbf a \times \mathbf b = \mathbf a \circ \mathbf b - \mathbf b \circ \mathbf a (*)

と定義できる。ただしここで、反対称テンソル擬ベクトルを等価

 (x, y, z) = \begin{pmatrix} 0 & z & -y \\ -z & 0 & x \\ y & -x & 0 \end{pmatrix}

としたが、これをホッジ作用素写像として明示すると

 \mathbf a \times \mathbf b = * ( \mathbf a \circ \mathbf b - \mathbf b \circ \mathbf a)

と書ける。

(*)式はそのまま、一般次元での定義に使える。ただし、これで定義できる積は、クロス積ではなく外積と呼び、

 \mathbf a \wedge \mathbf b = \mathbf a \circ \mathbf b - \mathbf b \circ \mathbf a

で表す。外積は3次元ではクロス積に一致するが、同義語ではないので注意が必要である。

外積は2階の反対称テンソルであり、これはホッジ作用素により、n 次元では n - 2 階の擬テンソルに写像できる。つまり、2次元では擬スカラー(0階の擬テンソル)、3次元では擬ベクトル(1階の擬テンソル)に写像できるが、4次元以上ではテンソルとして扱うしかない。

関連項目[編集]