跳到主要内容

向量

向量是既有大小又有方向的量。在几何上,向量用一条有向线段(箭头)表示:

  • 线段的长度表示向量的大小(模)
  • 箭头的指向表示向量的方向
提示

向量与位置无关,只由大小和方向决定。也就是说,两个大小相等、方向相同的向量被视为同一个向量,即使它们的起点不同——这称为向量的自由性(平移不变性)。

如下图,从点 OO 到点 AA 的有向线段就是一个向量,记作 OA→\overrightarrow{OA},一般也可以加粗字母表示向量,如a=OA→\bm{a} = \overrightarrow{OA}。

向量首尾依次相连,起点到终点的新向量为它们的和,如 AC→=AB→+BC→\overrightarrow{AC} = \overrightarrow{AB} + \overrightarrow{BC}。

另一个向量的终点指向当前向量的终点的向量二者的差,如 BC→=AC→−AB→\overrightarrow{BC} = \overrightarrow{AC} - \overrightarrow{AB}

\...
\...
\...

\...

\...

\...
Text is not SVG - cannot display

在坐标系中,通常使用终点减起点坐标来表示向量,对于 R3\mathbb{R}^3 空间中的向量,通常表示为一个 3×13 \times 1 的列向量:

a=OA→=[axayaz]\bm{a} = \overrightarrow{OA} = \begin{bmatrix} a_x \\ a_y \\ a_z \end{bmatrix}

其中 axa_x、aya_y、aza_z 分别是向量在 xx、yy、zz 轴上的分量。

零向量:0=[000]\bm{0} = \begin{bmatrix} 0 \\ 0 \\ 0 \end{bmatrix},模为 0,方向任意。

基向量:坐标轴方向的单位向量,记作 i^=[100]\hat{i} = \begin{bmatrix} 1 \\ 0 \\ 0 \end{bmatrix},j^=[010]\hat{j} = \begin{bmatrix} 0 \\ 1 \\ 0 \end{bmatrix},k^=[001]\hat{k} = \begin{bmatrix} 0 \\ 0 \\ 1 \end{bmatrix},任意向量都可以表示为基向量的线性组合:

a=axi^+ayj^+azk^\bm{a} = a_x \hat{i} + a_y \hat{j} + a_z \hat{k}
列向量与行向量

向量有两种等价的记法:

  • 列向量(n×1n \times 1):[axayaz]\begin{bmatrix} a_x \\ a_y \\ a_z \end{bmatrix}
  • 行向量(1×n1 \times n):[axayaz]\begin{bmatrix} a_x & a_y & a_z \end{bmatrix},是列向量的转置,记作 aT\bm{a}^T

两者本质相同,只是进行矩阵运算时运算方向的区别。

1. 基础运算​

加法与减法

向量加减法按对应分量进行:

a±b=[axayaz]±[bxbybz]=[ax±bxay±byaz±bz]\bm{a} \pm \bm{b} = \begin{bmatrix} a_x \\ a_y \\ a_z \end{bmatrix} \pm \begin{bmatrix} b_x \\ b_y \\ b_z \end{bmatrix} = \begin{bmatrix} a_x \pm b_x \\ a_y \pm b_y \\ a_z \pm b_z \end{bmatrix}

数乘

标量与向量相乘:

k⋅a=[k⋅axk⋅ayk⋅az]k \cdot \bm{a} = \begin{bmatrix} k \cdot a_x \\ k \cdot a_y \\ k \cdot a_z \end{bmatrix}

k>0k > 0 方向不变,k<0k < 0 方向反向。

模(长度)

∣a∣=ax2+ay2+az2|\bm{a}| = \sqrt{a_x^2 + a_y^2 + a_z^2}

单位化(归一化)

a^=a∣a∣\hat{a} = \frac{\bm{a}}{|\bm{a}|}

单位化后的向量长度为 1,仅保留方向信息。

2. 点积 / 内积(Dot Product / Inner Product)​

点积也称为内积(英语:inner product),两个向量 a\bm{a} 和 b\bm{b} 的点积定义为对应分量相乘再求和:

a⋅b=⟨a,b⟩=axbx+ayby+azbz\bm{a} \cdot \bm{b} = \langle \bm{a}, \bm{b} \rangle = a_x b_x + a_y b_y + a_z b_z

用矩阵形式可以写为 aTb\bm{a}^T \bm{b},推广到 nn 维即:

⟨u,v⟩=uTv=u1v1+u2v2+⋯+unvn\langle \bm{u}, \bm{v} \rangle = \bm{u}^T \bm{v} = u_1 v_1 + u_2 v_2 + \cdots + u_n v_n

几何意义:

a⋅b=∣a∣∣b∣cos⁡θ\bm{a} \cdot \bm{b} = |\bm{a}| |\bm{b}| \cos\theta

其中 θ\theta 是两向量之间的夹角。

点积是向量运算中最基础的桥梁,它直接关联了模、夹角、正交和投影:

  • 模(长度):∣a∣=a⋅a|\bm{a}| = \sqrt{\bm{a} \cdot \bm{a}}
  • 夹角:cos⁡θ=a⋅b∣a∣∣b∣\cos\theta = \frac{\bm{a} \cdot \bm{b}}{|\bm{a}| |\bm{b}|}
  • 正交(垂直):a⋅b=0\bm{a} \cdot \bm{b} = 0
  • 投影长度:a⋅b∣b∣\frac{\bm{a} \cdot \bm{b}}{|\bm{b}|}
点积的性质
  • a⋅b>0\bm{a} \cdot \bm{b} > 0:两向量夹角小于 90°,方向大致相同
  • a⋅b=0\bm{a} \cdot \bm{b} = 0:两向量垂直
  • a⋅b<0\bm{a} \cdot \bm{b} < 0:两向量夹角大于 90°,方向大致相反
  • a⋅a=∣a∣2\bm{a} \cdot \bm{a} = |\bm{a}|^2:向量与自身的点积等于模的平方

3. 三维空间的向量定向​

在 R3\mathbb{R}^3 中,给定三个列向量 u\bm{u}、v\bm{v}、w\bm{w} 构成的矩阵 M=[u v w]M = [\bm{u} \ \bm{v} \ \bm{w}],其行列式:

det⁡(M)=det⁡[u v w]\det(M) = \det[\bm{u} \ \bm{v} \ \bm{w}]

定向判定

  • det⁡(M)>0\det(M) > 0:(u,v,w)(\bm{u}, \bm{v}, \bm{w}) 构成右手系(与标准基 i^,j^,k^\hat{i}, \hat{j}, \hat{k} 定向一致)
  • det⁡(M)<0\det(M) < 0:(u,v,w)(\bm{u}, \bm{v}, \bm{w}) 构成左手系(定向相反)
  • det⁡(M)=0\det(M) = 0:三个向量共面(线性相关),无法构成空间定向

4. 叉积(Cross Product)​

求与 a\bm{a}、b\bm{b} 都垂直的向量

设 a=(ax,ay,az)\bm{a} = (a_x, a_y, a_z),b=(bx,by,bz)\bm{b} = (b_x, b_y, b_z),求向量 c=(x,y,z)\bm{c} = (x, y, z) 满足:

  1. c⊥a\bm{c} \perp \bm{a},即 c⋅a=0\bm{c} \cdot \bm{a} = 0
  2. c⊥b\bm{c} \perp \bm{b},即 c⋅b=0\bm{c} \cdot \bm{b} = 0

由垂直条件得方程组:

{axx+ayy+azz=0bxx+byy+bzz=0\begin{cases} a_x x + a_y y + a_z z = 0 \\ b_x x + b_y y + b_z z = 0 \end{cases}

消元求解,从第一个方程解出 xx(假设 ax≠0a_x \neq 0):

x=−ayy+azzaxx = -\frac{a_y y + a_z z}{a_x}

代入第二个方程:

bx(−ayy+azzax)+byy+bzz=0b_x \left(-\frac{a_y y + a_z z}{a_x}\right) + b_y y + b_z z = 0

整理得:

(axby−aybx)y+(axbz−azbx)z=0(a_x b_y - a_y b_x) y + (a_x b_z - a_z b_x) z = 0

即:

yazbx−axbz=zaxby−aybx=t\frac{y}{a_z b_x - a_x b_z} = \frac{z}{a_x b_y - a_y b_x} = t

令 tt 为任意实数,可得通解:

y=t(azbx−axbz)z=t(axby−aybx)x=t(aybz−azby)\begin{aligned} y &= t(a_z b_x - a_x b_z) \\ z &= t(a_x b_y - a_y b_x) \\ x &= t(a_y b_z - a_z b_y) \end{aligned}

取 t=1t = 1,得到方向向量:

c=[aybz−azbyazbx−axbzaxby−aybx]\bm{c} = \begin{bmatrix} a_y b_z - a_z b_y \\ a_z b_x - a_x b_z \\ a_x b_y - a_y b_x \end{bmatrix}

求该向量的模:

∣c∣2=(aybz−azby)2+(azbx−axbz)2+(axby−aybx)2=(ax2+ay2+az2)(bx2+by2+bz2)−(axbx+ayby+azbz)2=∣a∣2∣b∣2−(a⋅b)2=∣a∣2∣b∣2−∣a∣2∣b∣2cos⁡2θ=∣a∣2∣b∣2(1−cos⁡2θ)=∣a∣2∣b∣2sin⁡2θ\begin{aligned} |\bm{c}|^2 &= (a_y b_z - a_z b_y)^2 + (a_z b_x - a_x b_z)^2 + (a_x b_y - a_y b_x)^2 \\ &= (a_x^2 + a_y^2 + a_z^2)(b_x^2 + b_y^2 + b_z^2) - (a_x b_x + a_y b_y + a_z b_z)^2 \\ &= |\bm{a}|^2 |\bm{b}|^2 - (\bm{a} \cdot \bm{b})^2 \\ &= |\bm{a}|^2 |\bm{b}|^2 - |\bm{a}|^2 |\bm{b}|^2 \cos^2\theta \\ &= |\bm{a}|^2 |\bm{b}|^2 (1 - \cos^2\theta) \\ &= |\bm{a}|^2 |\bm{b}|^2 \sin^2\theta \end{aligned}

向量夹角 θ\theta 的范围是 [0,π][0, \pi],在此范围内 sin⁡θ≥0\sin\theta \geq 0,因此 ∣c∣=∣a∣∣b∣sin⁡θ|\bm{c}| = |\bm{a}| |\bm{b}| \sin\theta。

选择

与a\bm{a} 和 b\bm{b} 正交(垂直)且模为 ∣a∣∣b∣sin⁡θ|\bm{a}| |\bm{b}| \sin\theta 的向量有两个,分别是 c\bm{c} 与 −c-\bm{c},选择 c\bm{c} 作为 a\bm{a} 和 b\bm{b}的叉积。

对于向量 a\bm{a} 和 b\bm{b},如果存在一个向量 c\bm{c},满足:

  1. c⊥a\bm{c} \perp \bm{a} 并且 c⊥b\bm{c} \perp \bm{b}
  2. ∣c∣=∣a∣∣b∣sin⁡θ|\bm{c}| = |\bm{a}| |\bm{b}| \sin\theta
  3. (a,b,c)(\bm{a}, \bm{b}, \bm{c}) 为正定向,即 det⁡([a b c])>0\det([\bm{a} \ \bm{b} \ \bm{c}]) > 0,也就是满足右手法则。

那么 c\bm{c} 就是 a\bm{a} 和 b\bm{b} 的叉积,记作:

a×b=[aybz−azbyazbx−axbzaxby−aybx]\bm{a} \times \bm{b} = \begin{bmatrix} a_y b_z - a_z b_y \\ a_z b_x - a_x b_z \\ a_x b_y - a_y b_x \end{bmatrix}
叉积的性质
  • a×b=−(b×a)\bm{a} \times \bm{b} = -(\bm{b} \times \bm{a}):叉积不满足交换律
  • a×a=0\bm{a} \times \bm{a} = \bm{0}:相同向量的叉积为零向量
  • ∣a×b∣=∣a∣∣b∣sin⁡θ|\bm{a} \times \bm{b}| = |\bm{a}| |\bm{b}| \sin\theta ,即为 a\bm{a} 和 b\bm{b} 构成的平行四边形面积

叉积可以写成三阶行列式(i^,j^,k^\hat{i}, \hat{j}, \hat{k} 为单位基向量):

a×b=∣i^j^k^axayazbxbybz∣=i^∣ayazbybz∣−j^∣axazbxbz∣+k^∣axaybxby∣\bm{a} \times \bm{b} = \begin{vmatrix} \hat{i} & \hat{j} & \hat{k} \\ a_x & a_y & a_z \\ b_x & b_y & b_z \end{vmatrix} = \hat{i}\begin{vmatrix} a_y & a_z \\ b_y & b_z \end{vmatrix} - \hat{j}\begin{vmatrix} a_x & a_z \\ b_x & b_z \end{vmatrix} + \hat{k}\begin{vmatrix} a_x & a_y \\ b_x & b_y \end{vmatrix}
右手法则

单位正交基i,j,k\bm{i},\bm{j},\bm{k}存在一个循环顺序:

i×j=k,j×k=i,k×i=j\bm{i}\times\bm{j}=\bm{k},\quad \bm{j}\times\bm{k}=\bm{i},\quad \bm{k}\times\bm{i}=\bm{j}

按 i→j→k→i\bm{i}\to\bm{j}\to\bm{k}\to\bm{i} 正向循环;如果颠倒顺序,结果向量取反:

j×i=−k,k×j=−i,i×k=−j\bm{j}\times\bm{i}=-\bm{k},\quad \bm{k}\times\bm{j}=-\bm{i},\quad \bm{i}\times\bm{k}=-\bm{j}

这个几何上的方向,和右手螺旋的操作是匹配的。

可以对叉积的计算改为矩阵运算:

a×b=[a]×b=[0−azayaz0−ax−ayax0][bxbybz]\bm{a} \times \bm{b} = [\bm{a}]_{\times} \bm{b} = \begin{bmatrix} 0 & -a_z & a_y \\ a_z & 0 & -a_x \\ -a_y & a_x & 0 \end{bmatrix} \begin{bmatrix} b_x \\ b_y \\ b_z \end{bmatrix}

其中 [a]×[\bm{a}]_{\times} 是 a\bm{a} 的叉积矩阵(反对称矩阵)。

5. 混合积(Scalar Triple Product)​

三个向量 a\bm{a}、b\bm{b}、c\bm{c} 的混合积定义为:

a⋅(b×c)=∣axayazbxbybzcxcycz∣\bm{a} \cdot (\bm{b} \times \bm{c}) = \begin{vmatrix} a_x & a_y & a_z \\ b_x & b_y & b_z \\ c_x & c_y & c_z \end{vmatrix}

几何意义

混合积的绝对值等于以 a\bm{a}、b\bm{b}、c\bm{c} 为棱的平行六面体的体积:

V=∣a⋅(b×c)∣V = |\bm{a} \cdot (\bm{b} \times \bm{c})|

推导:b×c\bm{b} \times \bm{c} 得到底面平行四边形的法向量,其模等于底面积;再与 a\bm{a} 点积,相当于将 a\bm{a} 投影到法向量方向得到高,底面积乘以高即为体积。

混合积的性质
  • a⋅(b×c)=b⋅(c×a)=c⋅(a×b)\bm{a} \cdot (\bm{b} \times \bm{c}) = \bm{b} \cdot (\bm{c} \times \bm{a}) = \bm{c} \cdot (\bm{a} \times \bm{b}):轮换对称性
  • a⋅(b×c)=−a⋅(c×b)\bm{a} \cdot (\bm{b} \times \bm{c}) = -\bm{a} \cdot (\bm{c} \times \bm{b}):交换两个向量符号取反
  • 混合积为 0:三个向量共面(线性相关)
  • 混合积的符号表示 a\bm{a} 在 b×c\bm{b} \times \bm{c} 方向的投影方向,可用于判断右手系或左手系

6. 外积​

外积(英语:outer product),又称张量积,是两个向量生成矩阵的运算。对于列向量 u∈Rm\bm{u} \in \mathbb{R}^m、v∈Rn\bm{v} \in \mathbb{R}^n:

u⊗v=uvT=[u1u2⋮um][v1v2⋯vn]=[u1v1u1v2⋯u1vnu2v1u2v2⋯u2vn⋮⋮⋱⋮umv1umv2⋯umvn]\bm{u} \otimes \bm{v} = \bm{u} \bm{v}^T = \begin{bmatrix} u_1 \\ u_2 \\ \vdots \\ u_m \end{bmatrix} \begin{bmatrix} v_1 & v_2 & \cdots & v_n \end{bmatrix} = \begin{bmatrix} u_1 v_1 & u_1 v_2 & \cdots & u_1 v_n \\ u_2 v_1 & u_2 v_2 & \cdots & u_2 v_n \\ \vdots & \vdots & \ddots & \vdots \\ u_m v_1 & u_m v_2 & \cdots & u_m v_n \end{bmatrix}

结果是一个 m×nm \times n 的矩阵,其中每个元素 (u⊗v)ij=uivj(\bm{u} \otimes \bm{v})_{ij} = u_i v_j。

外积的性质
  • 秩为 1:外积生成的矩阵 u⊗v\bm{u} \otimes \bm{v} 的列空间由 u\bm{u} 张成,行空间由 v\bm{v} 张成,秩恒为 1(当 u,v≠0\bm{u}, \bm{v} \neq \bm{0} 时)。
  • 作用方式:(u⊗v)x=u(vTx)=(v⋅x)u(\bm{u} \otimes \bm{v}) \bm{x} = \bm{u} (\bm{v}^T \bm{x}) = (\bm{v} \cdot \bm{x}) \bm{u},即先将 x\bm{x} 投影到 v\bm{v} 方向得到一个标量,再沿 u\bm{u} 方向放缩。
  • 与内积的关系:uTv\bm{u}^T \bm{v} 是标量(内积),uvT\bm{u} \bm{v}^T 是矩阵(外积)。
  • 不满足交换律:u⊗v≠v⊗u\bm{u} \otimes \bm{v} \neq \bm{v} \otimes \bm{u},但 (u⊗v)T=v⊗u(\bm{u} \otimes \bm{v})^T = \bm{v} \otimes \bm{u}。

7. 正交投影​

7.1 投影矩阵​

将 a\bm{a} 投影到 b\bm{b} 方向上:

projb(a)=a⋅b∣b∣2b=a⋅bb⋅bb\mathrm{proj}_{\bm{b}}(\bm{a}) = \frac{\bm{a} \cdot \bm{b}}{|\bm{b}|^2} \bm{b} = \frac{\bm{a} \cdot \bm{b}}{\bm{b} \cdot \bm{b}} \bm{b}

标量 a⋅b∣b∣\frac{\bm{a} \cdot \bm{b}}{|\bm{b}|} 是 a\bm{a} 在 b\bm{b} 方向上的投影长度(带符号),再乘以 b\bm{b} 的单位向量 b∣b∣\frac{\bm{b}}{|\bm{b}|} 即得到投影向量。

并且

(a⋅b)b=(a1b1+⋯+anbn)b=[a1b1b1+⋯+anbnb1⋮a1b1bn+⋯+anbnbn]=a1[b1b1⋮b1bn]+⋯+an[bnb1⋮bnbn]=[b1b1…b1bn⋮b1bn…bnbn][a1⋮an]=bbTa=b⊗ba\begin{aligned} (\bm{a} \cdot \bm{b})\bm{b} &= (a_1 b_1 + \dots + a_n b_n)\bm{b} \\ &= \begin{bmatrix} a_1 b_1 b_1 + \dots + a_n b_n b_1 \\ \vdots \\ a_1 b_1 b_n + \dots + a_n b_n b_n \end{bmatrix} \\ &= a_1 \begin{bmatrix} b_1 b_1 \\ \vdots \\b_1 b_n \end{bmatrix} + \dots + a_n \begin{bmatrix} b_n b_1 \\ \vdots \\b_n b_n \end{bmatrix} \\ &= \begin{bmatrix} b_1 b_1 & \dots & b_1 b_n \\ &\vdots \\ b_1 b_n & \dots & b_n b_n \end{bmatrix} \begin{bmatrix} a_1 \\ \vdots \\ a_n \end{bmatrix} \\ &= \bm{b} \bm{b}^T \bm{a} \\ &= \bm{b} \otimes \bm{b} \bm{a} \end{aligned}
投影矩阵

一个向量的外积除以内积即为投影矩阵:

Pb=b⊗bbTbP_{\bm{b}} = \frac{\bm{b} \otimes \bm{b}}{\bm{b}^T \bm{b}}

即:

projb(a)=a⋅bb⋅bb=bbTbTba=b⊗bbTba\mathrm{proj}_{\bm{b}}(\bm{a}) = \frac{\bm{a} \cdot \bm{b}}{\bm{b} \cdot \bm{b}} \bm{b} = \frac{\bm{b} \bm{b}^T}{\bm{b}^T \bm{b}} \bm{a} = \frac{\bm{b} \otimes \bm{b} }{\bm{b}^T \bm{b}} \bm{a}

7.2 正交分解​

a\bm{a} 可以分解为平行于 b\bm{b} 的分量和垂直于 b\bm{b} 的分量:

a∥=projb(a)(投影,平行分量)a⊥=a−projb(a)(排斥,垂直分量)\begin{aligned} \bm{a}_{\parallel} &= \mathrm{proj}_{\bm{b}}(\bm{a}) & &\text{(投影,平行分量)} \\ \bm{a}_{\perp} &= \bm{a} - \mathrm{proj}_{\bm{b}}(\bm{a}) & &\text{(排斥,垂直分量)} \end{aligned}