クロス積

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

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

定義

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

<math>|\mathbf a\times\mathbf b| = |\mathbf a||\mathbf b|\sin\theta</math>

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

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

<math>\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)</math>

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

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

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

<math>
\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)
</math>

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

座標系との関係

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

外積の性質

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

  1. <math>\mathbf a\times\mathbf a = \mathbf 0</math>
  2. <math>\mathbf b\times\mathbf a = -\mathbf a\times\mathbf b</math>
  3. <math>(\mathbf a + \mathbf b)\times\mathbf c = \mathbf a\times\mathbf c + \mathbf b\times\mathbf c</math>
  4. <math>\mathbf a\times(\mathbf b + \mathbf c) = \mathbf a\times\mathbf b + \mathbf a\times\mathbf c</math>
  5. <math>(k\mathbf a)\times\mathbf b = \mathbf a\times(k\mathbf b) = k(\mathbf a\times\mathbf b)</math>
  6. <math>\mathbf a\times\mathbf 0 = \mathbf 0\times\mathbf a = \mathbf 0</math>
  7. <math>\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 </math>

  1. ベクトル三重積)<math> \mathbf a \times ( \mathbf b \times \mathbf c) = (\mathbf a \cdot \mathbf c)\mathbf b - (\mathbf a \cdot \mathbf b)\mathbf c </math>

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

1'. <math>\mathbf a\cdot\mathbf a = |\mathbf a|^2</math>
2'. <math>\mathbf a\cdot\mathbf b = \mathbf b\cdot\mathbf a </math>

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

ベクトル三重積性質の証明

テンプレート:Main ベクトル三重積:<math> \mathbf a \times ( \mathbf b \times \mathbf c) </math>

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

<math>\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}</math>

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

<math>\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}</math>

ゆえに、

<math>a \times (b \times c) = (a \cdot c) b - (a \cdot b) c</math>

多次元への拡張

行列式を使った拡張

行列式による定義

<math> \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) </math>

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

<math> \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} </math>

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

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

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

<math> \times() = \det(\mathbf e_1) = (1) </math>
<math> \times(\mathbf a) = \pm \begin{vmatrix} \mathbf e_1 & \mathbf e_2 \\ a_1 & a_2 \end{vmatrix} = (\pm a_2, \mp a_1) </math>
<math> \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) </math>

となる(複合は同順)。

多元数を使った拡張

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> は内積になっている。

これを多元数に拡張すると、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> \mathbf{a} \circ \mathbf{b} = \mathbf{a} \mathbf{b}^{\operatorname{T}} = (a_i b_j) </math>

を使って

<math> \mathbf a \times \mathbf b = \mathbf a \circ \mathbf b - \mathbf b \circ \mathbf a </math> (*)

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

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

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

<math> \mathbf a \times \mathbf b = * ( \mathbf a \circ \mathbf b - \mathbf b \circ \mathbf a) </math>

と書ける。

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

<math> \mathbf a \wedge \mathbf b = \mathbf a \circ \mathbf b - \mathbf b \circ \mathbf a </math>

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

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

関連項目