叉積

在數學和向量代數領域，外積（external product）又稱叉積（cross product）、叉乘、向量積（vector product），是對三維空間中的兩個向量的二元運算，使用符號$\times$。與點積不同，它的運算結果是向量。對於線性無關的兩個向量$\mathbf{a}$和$\mathbf{b}$，它們的外積寫作$\mathbf{a} \times \mathbf{b}$，是$\mathbf{a}$和$\mathbf{b}$所在平面的法線向量，與$\mathbf{a}$和$\mathbf{b}$都垂直。外積被廣泛運用於數學、物理、工程學、電腦科學領域。

如果兩個向量方向相同或相反（即它們沒有線性無關的分量），亦或任意一個的長度為零，那麼它們的外積為零。推廣開來，外積的模長和以這兩個向量為邊的平行四邊形的面積相等；如果兩個向量成直角，它們外積的模長即為兩者長度的乘積。

外積和點積一樣依賴於歐幾里德空間的度量，但與點積之不同的是，外積還依賴於定向或右手定則。

叉積的名稱源自表示叉積運算的叉乘號（$\mathbf a \times \mathbf b$），讀作`a cross b`，向量積的叫法則是在強調其運算結果為向量而非標量。向量的另一種乘法是點積（$\mathbf a \cdot \mathbf b$），讀作`a dot b`，其結果為標量，稱為點積或數量積或標量積。

<image>

## 定義

<image>

兩個向量$\mathbf{a}$和$\mathbf{b}$的外積僅在三維空間中有定義，寫作$\mathbf{a} \times \mathbf{b}$。在物理學中，外積有時也被寫成$\mathbf{a} \wedge \mathbf{b}$，但在數學中$\mathbf{a} \wedge \mathbf{b}$是外代數中的外積。

外積$\mathbf{a} \times \mathbf{b}$是與$\mathbf{a}$和$\mathbf{b}$都垂直的向量$\mathbf{c}$。其方向由右手定則決定，範數等於以兩個向量為邊的平行四邊形的面積。

外積可以定義為：

$$\mathbf{a} \times \mathbf{b} = \| \mathbf{a} \| \| \mathbf{b} \| \sin(\theta) \ \mathbf{n}$$

其中$\theta$表示$\mathbf{a}$和$\mathbf{b}$在它們所定義的平面上的夾角（$0^\circ \le \theta \le 180^\circ$）。$\| \mathbf{a} \|$和$\| \mathbf{b} \|$是向量$\mathbf{a}$和$\mathbf{b}$的模長，而$\mathbf{n}$則是一個與$\mathbf{a}$、$\mathbf{b}$所構成的平面垂直的單位向量，方向由右手定則決定。根據上述公式，當$\mathbf{a}$與$\mathbf{b}$平行（即$\theta$為0°或180°）時，它們的外積為零向量$\mathbf{0}$。

<image>

按照慣例，向量$\mathbf{n}$的方向由右手定則決定：將右手食指指向$\mathbf{a}$的方向、中指指向$\mathbf{b}$的方向，則此時拇指的方向即為$\mathbf{n}$的方向。使用這一定則意味著外積滿足反交換律，$\mathbf{a} \times \mathbf{b} = -(\mathbf{b} \times \mathbf{a})$：將右手食指指向$\mathbf{b}$、中指指向$\mathbf{a}$，那麼拇指就必定指向相反方向，即翻轉了外積的符號。

由此可以看出，使用外積需要考慮坐標系的利手性（Handedness），如果使用的是左手坐標系，向量$\mathbf{n}$的方向需要使用左手定則決定，與右手坐標系中的方向相反。

這樣就會帶來一個問題：參照系的變換不應該影響$\mathbf{n}$的方向（例如從右手坐標繫到左手坐標系的鏡像變換）。因此，兩個向量的外積並不是（真）向量，而是贗向量。

## 計算

### 坐標表示

<image>

右手坐標系中，基向量$\mathbf{i}$、$\mathbf{j}$、$\mathbf{k}$滿足以下等式：

$$\begin{align} <pre> \mathbf{i}\times\mathbf{j} &= \mathbf{k}\\ \mathbf{j}\times\mathbf{k} &= \mathbf{i}\\ \mathbf{k}\times\mathbf{i} &= \mathbf{j} </pre> \end{align}$$

根據反交換律可以得出：

$$\begin{align} <pre> \mathbf{j\times i} &= -\mathbf{k}\\ \mathbf{k\times j} &= -\mathbf{i}\\ \mathbf{i\times k} &= -\mathbf{j} </pre> \end{align}$$

根據外積的定義可以得出：

$\mathbf{i}\times\mathbf{i} = \mathbf{j}\times\mathbf{j} = \mathbf{k}\times\mathbf{k} = \mathbf{0}$（零向量）。

根據以上等式，結合外積的分配律和線性關係，就可以確定任意向量的外積。

向量$\mathbf{u}$和$\mathbf{v}$可以定義為平行於基向量的三個正交元素之和：

$$\begin{align} <pre> \mathbf{u} &= u_1\mathbf{i} + u_2\mathbf{j} + u_3\mathbf{k} \\ \mathbf{v} &= v_1\mathbf{i} + v_2\mathbf{j} + v_3\mathbf{k} </pre> \end{align}$$

兩者的外積$\mathbf{u} \times \mathbf{v}$可以根據分配律展開：

$$\begin{align} <pre> \mathbf{u}\times\mathbf{v} = {} &(u_1\mathbf{i} + u_2\mathbf{j} + u_3\mathbf{k}) \times (v_1\mathbf{i} + v_2\mathbf{j} + v_3\mathbf{k})\\ = {} &u_1v_1(\mathbf{i} \times \mathbf{i}) + u_1v_2(\mathbf{i} \times \mathbf{j}) + u_1v_3(\mathbf{i} \times \mathbf{k}) + {}\\ &u_2v_1(\mathbf{j} \times \mathbf{i}) + u_2v_2(\mathbf{j} \times \mathbf{j}) + u_2v_3(\mathbf{j} \times \mathbf{k}) + {}\\ &u_3v_1(\mathbf{k} \times \mathbf{i}) + u_3v_2(\mathbf{k} \times \mathbf{j}) + u_3v_3(\mathbf{k} \times \mathbf{k})\\ </pre> \end{align}$$

即把$\mathbf{u} \times \mathbf{v}$分解為九個僅涉及$\mathbf{i}$、$\mathbf{j}$、$\mathbf{k}$的簡單外積之和。九個外積各自所涉及的向量，要麼相互平行、要麼相互正交。將最前面所述的幾個等式帶入其中，然後合併同類項，可以得到：

$$\begin{align} <pre> \mathbf{u}\times\mathbf{v} = {} &- u_1v_1\mathbf{0} + u_1v_2\mathbf{k} - u_1v_3\mathbf{j} \\ &- u_2v_1\mathbf{k} - u_2v_2\mathbf{0} + u_2v_3\mathbf{i} \\ &+ u_3v_1\mathbf{j} - u_3v_2\mathbf{i} - u_3v_3\mathbf{0} \\ = {} &(u_2v_3 - u_3v_2)\mathbf{i} + (u_3v_1 - u_1v_3)\mathbf{j} + (u_1v_2 - u_2v_1)\mathbf{k}\\ </pre> \end{align}$$

即結果向量$\mathbf{s} = s_1\mathbf{i} + s_2\mathbf{j} + s_3\mathbf{k} = \mathbf{u} \times \mathbf{v}$的三個標量元素為：

$$\begin{align} <pre> s_1 &= u_2v_3-u_3v_2\\ s_2 &= u_3v_1-u_1v_3\\ s_3 &= u_1v_2-u_2v_1 </pre> \end{align}$$

也可以記作列向量的形式：

$$\begin{pmatrix}s_1,s_2,s_3\end{pmatrix}=\begin{pmatrix}u_2v_3-u_3v_2,u_3v_1-u_1v_3,u_1v_2-u_2v_1\end{pmatrix}$$

### 矩陣表示

<image>

外積可以表達為這樣的行列式：

$\mathbf{u\times v} = \begin{vmatrix} <pre> \mathbf{i}&\mathbf{j}&\mathbf{k}\\ u_1&u_2&u_3\\ v_1&v_2&v_3\\ </pre> \end{vmatrix}$

這個行列式可以使用薩呂法則或拉普拉斯展開計算。使用薩呂法則可以展開為：

$$\begin{align} <pre> \mathbf{u\times v} &=(u_2v_3\mathbf{i}+u_3v_1\mathbf{j}+u_1v_2\mathbf{k}) - (u_3v_2\mathbf{i}+u_1v_3\mathbf{j}+u_2v_1\mathbf{k})\\ &=(u_2v_3 - u_3v_2)\mathbf{i} +(u_3v_1 - u_1v_3)\mathbf{j} +(u_1v_2 - u_2v_1)\mathbf{k} </pre> \end{align}$$

使用拉普拉斯展開可以沿第一行展開為：

$$\begin{align} \mathbf{u\times v} &= <pre> \begin{vmatrix} u_2&u_3\\ v_2&v_3 \end{vmatrix}\mathbf{i} - \begin{vmatrix} u_1&u_3\\ v_1&v_3 \end{vmatrix}\mathbf{j} + \begin{vmatrix} u_1&u_2\\ v_1&v_2 \end{vmatrix}\mathbf{k} \\ &=(u_2v_3 - u_3v_2)\mathbf{i} -(u_1v_3 - u_3v_1)\mathbf{j} +(u_1v_2 - u_2v_1)\mathbf{k} </pre> \end{align}$$

都可以直接得到結果向量。

## 性質

### 代數性質

對於任意三個向量$\mathbf{a}$、$\mathbf{b}$、$\mathbf{c}$。

- $$\mathbf{a} \times \mathbf{a} = \mathbf{0}$$
- $$\mathbf{a} \times \mathbf{0} = \mathbf{0}$$
- $\mathbf{a} \times \mathbf{b} = - \mathbf{b} \times \mathbf{a}$（反交換律）
- $\mathbf{a} \times (\mathbf{b} + \mathbf{c}) = \mathbf{a} \times \mathbf{b} + \mathbf{a} \times \mathbf{c}$（加法的左分配律）
- $(\mathbf{a} + \mathbf{b}) \times \mathbf{c} = \mathbf{a} \times \mathbf{c} + \mathbf{b} \times \mathbf{c}$（加法的右分配律）
- $$(\lambda \mathbf{a}) \times \mathbf{b} = \lambda ( \mathbf{a} \times \mathbf{b}) = \mathbf{a} \times (\lambda \mathbf{b})$$
- $$\mathbf{a} \times \mathbf{b} + \mathbf{c} \times \mathbf{d} = (\mathbf{a} - \mathbf{c}) \times (\mathbf{b} - \mathbf{d}) + \mathbf{a} \times \mathbf{d} + \mathbf{c} \times \mathbf{b}$$
- $$| \mathbf{a} \times \mathbf{b}| = | \mathbf{b} \times \mathbf{a}|$$
- $| \mathbf{a} \times \mathbf{b}|^2 = |\mathbf{a}|^2 |\mathbf{b}|^2 - (\mathbf{a} \cdot \mathbf{b})^2 = \begin{vmatrix} \mathbf{a} \cdot \mathbf{a} & \mathbf{a} \cdot \mathbf{b} \\ \mathbf{a} \cdot \mathbf{b} & \mathbf{b} \cdot \mathbf{b} \\ \end{vmatrix}$（拉格朗日恆等式）

一般來說，向量外積不遵守約簡律，即$\mathbf{a} \times \mathbf{b} = \mathbf{a} \times \mathbf{c}$不表示$\mathbf{b} = \mathbf{c}$。此外，$\mathbf{a} \times \mathbf{b} = \mathbf{0}$不表示$\mathbf{a} = \mathbf{0}$或$\mathbf{b} = \mathbf{0}$。

但對於兩個非零向量$\mathbf{a}$和$\mathbf{b}$。

- $\mathbf{a} \times \mathbf{b} = \mathbf{0}$當且僅當 $\mathbf{a}$平行於$\mathbf{b}$

### 幾何意義

<image>

<image>

如果以向量$\mathbf{a}$和$\mathbf{b}$為邊構成一個平行四邊形，那麼這兩個向量外積的範數與這個平行四邊形的正面積相等（如圖1）：

$$\left\| \mathbf{a} \times \mathbf{b} \right\| = \left\| \mathbf{a} \right\| \left\| \mathbf{b} \right\| \sin \theta .$$

同時，如果以向量$\mathbf{a}$、$\mathbf{b}$、$\mathbf{c}$為棱構成一個平行六面體，那麼這個平行六面體的體積$\mathbf{V}$也可以通過外積和點積的組合得到，這種積稱作標量三重積（如圖2）：

$$<pre> \mathbf{a}\cdot(\mathbf{b}\times \mathbf{c})= \mathbf{b}\cdot(\mathbf{c}\times \mathbf{a})= \mathbf{c}\cdot(\mathbf{a}\times \mathbf{b}). </pre>$$

因為標量三重積可能為負，平行六面體的體積需要取其絕對值：

$$V = |\mathbf{a} \cdot (\mathbf{b} \times \mathbf{c})|$$

因為外積的模長與其參數夾角的正弦有關，可以認為外積是「垂直度」的度量，正如點積是「平行度」的度量一樣。對於任意兩個單位向量，外積為1意味著它們互相垂直，外積為0意味著它們互相平行。點積則相反：點積為0意味著它們互相垂直。

單位向量還能帶來兩個特性：兩個單位向量的點積是它們夾角的餘弦（可正可負）；它們外積的模長則為夾角的正弦（始終為正）。

### 向量微分

對於實數$t$和兩個向量值函數$\mathbf{a}(t)$、$\mathbf{b}(t)$，乘積法則成立：

- $$\frac{d}{dt}(\mathbf{a} \times \mathbf{b}) = \frac{d\mathbf{a}}{dt} \times \mathbf{b} + \mathbf{a} \times \frac{d\mathbf{b}}{dt}$$

## 三維坐標

給定直角坐標系的單位向量$\mathbf{i}$，$\mathbf{j}$，$\mathbf{k}$滿足下列等式：

$\mathbf{i}\times\mathbf{j} =\mathbf{k}$、$\mathbf{j} \times \mathbf{k} = \mathbf{i}$、$\mathbf{k} \times \mathbf{i} = \mathbf{j}$

通過這些規則，兩個向量的外積的坐標可以方便地計算出來，不需要考慮任何角度：設

$$\mathbf{a} = a_1\mathbf{i} + a_2\mathbf{j} + a_3\mathbf{k}$$

$$\mathbf{b} = b_1\mathbf{i} + b_2\mathbf{j} + b_3\mathbf{k}$$

則

$$\begin{align} \mathbf{a} \times \mathbf{b} & = (a_2b_3 - a_3b_2)\mathbf{i}+(a_3b_1 - a_1b_3)\mathbf{j}+(a_1b_2 - a_2b_1)\mathbf{k}\\ <pre> &= \begin{vmatrix} </pre> \mathbf{i} & \mathbf{j} & \mathbf{k} \\ a_1 & a_2 & a_3 \\ b_1 & b_2 & b_3 \\ \end{vmatrix} \end{align}$$

外積也可以用四元數來表示。注意到上述$\mathbf{i}$、$\mathbf{j}$、$\mathbf{k}$之間的外積滿足四元數的乘法。一般而言，若將向量a1, a2, a3表示成四元數a1i + a2j + a3k，兩個向量的外積可以這樣計算：計算兩個四元數的乘積得到一個四元數，並將這個四元數的實部去掉，即為結果。更多關於四元數乘法，向量運算及其幾何意義請參見四元數與空間旋轉。

## 高維情形

七維向量的外積可以通過八元數得到，與上述的四元數方法相同。

七維外積具有與三維外積相似的性質：

$$\mathbf{x} \times (a\mathbf{y} + b\mathbf{z}) = a\mathbf{x} \times \mathbf{y} + b\mathbf{x} \times \mathbf{z}$$

$$(a\mathbf{y} + b\mathbf{z}) \times \mathbf{x} = a\mathbf{y} \times \mathbf{x} + b\mathbf{z} \times \mathbf{x}$$

$$\mathbf{x} \times \mathbf{y} + \mathbf{y} \times \mathbf{x} = \mathbf{0}$$

- $\mathbf{x} \times \mathbf{y}$同時與$\mathbf{x}$和$\mathbf{y}$垂直：

$$\mathbf{x} \cdot (\mathbf{x} \times \mathbf{y}) = \mathbf{y} \cdot (\mathbf{x} \times \mathbf{y}) = \mathbf{0}$$

$$| \mathbf{x} \times \mathbf{y}|^2 = |\mathbf{x}|^2 |\mathbf{y}|^2 - (\mathbf{x} \cdot \mathbf{y})^2$$

- 不同於三維情形，它並不滿足雅可比恆等式：

$$\mathbf{x}\times (\mathbf{y}\times \mathbf{z}) \; + \mathbf{y}\times (\mathbf{z}\times \mathbf{x}) \; + \mathbf{z}\times (\mathbf{x}\times \mathbf{y}) \ne \mathbf{0}$$

## 應用

另外，在物理學力學、電磁學、光學和電腦圖形學等理工學科中，外積應用十分廣泛。例如力矩、角動量、洛倫茲力等矢量都可以由向量的外積求解。在進行這些物理量的計算時，往往可以藉助右手定則輔助判斷方向。

## 歷史

1773年，約瑟夫·拉格朗日引入了點積和叉積的概念來研究三維空間中的四面體。1843年，威廉·哈密頓引入了四元數乘法，同時區分了「向（矢）量」和「標量」的概念。給定兩個四元數0,u和0,v，其中u和v是$R^3$空間中的向量，使得其乘積可以寫成為$[-\mathbf{u} \cdot \mathbf{v},\mathbf{u}\times\mathbf{v}]$的形式。詹姆斯·克拉克·麥克斯韋在四元數的基礎建立了著名的麥克斯韋方程組。四元數因此（同時也因為其他方面的）應用，在很長一段時間內都是物理學教育的必備內容。

在1878年威廉·金頓·克利福德在發表的《Elements of Dynamic》中將兩個向量的叉積的範數定義為以這兩個向量為邊的平行四邊形的面積，且在在方向上垂直於它們所確定的平面。

四元數方法通常需要提取結果中的標量和矢量部分的資訊，因此奧利弗·亥維賽和喬賽亞·威拉德·吉布斯都認為其過於冗長。於是在四元數乘法被引入約四十年後，他們在激烈的反對聲中引入了點積和叉積以作為替代方案。新方法在效率上的便捷最終得到了一致認可，使得亥維賽可以將麥克斯韋方程組由最初的20個減為今天常見的4個。

在很大程度上獨立於這種發展，而且當時基本上不受歡迎，赫爾曼·格拉斯曼發明了一種與二維和三維空間無關幾何代數，外積在其中起著中心作用。在1853年，與格拉斯曼同時代的人奧古斯丁·路易·柯西發表了一篇關於代數鍵的文章。代數鍵可用於求解方程，且和叉積有著相同的乘法特性。克利福德將哈密頓和格拉斯曼的代數結合起來，創建了克利福德代數。在三維矢量的情況下，由兩個矢量產生的雙向量二重化為一個矢量，從而產生叉積。

交叉符號和「叉積」這個名字是從喬賽亞·威拉德·吉布斯開始的，它們最初出現在1881年給他的學生的私人出版筆記中，叫做《向量分析的元素》。吉布斯的符號以及「叉乘」這個名字後來通過他以前的學生埃德溫·B·威爾遜編寫的教科書《向量分析》(Vector Analysis)獲得了廣泛的讀者。威爾遜從吉布斯的課件中重新組織了材料，以及Heaviside，Föpps和Hamilton出版的材料。他把向量分析分為下列三個部分：

第一，關於向量的加法和標量與向量的乘積。第二，關於微分和積分與標量函數和向量函數的關係。第三，包含了線性向量函數的理論。

定義了兩個主要的向量乘法，稱為：

- 兩個向量的直接乘，標量乘或者點乘。
- 兩個向量的斜乘，向量乘或叉乘。

還研究了幾種三重積和三重以上向量的乘積。還包括上述的三重積擴展。