Vam Works

理解向量的“点乘”

初学线性代数,此视频是对3Blue1Brown的教程中“点积与对偶性” 一节的理解与思路梳理,错误与不足请指正。

看 3Blue1Brown 的 Essense of Linear Algebra, 配合 PengTitus(彭士峰)的 “向量知识复习” 会成为互补。

crosbone和Maaaplestory在B站评论区的讨论给我很多启发, 特别是crosbone的叙述,感谢。

Essence of linear algebra by 3Blue1Brown: Youtube Bilibili

向量知识复习 by PengTitus(彭士峰): Youtube Bilibili(转发)

 

1. 一维与二维

一维空间(1D)是数轴;
二维空间(2D)平面是坐标系;
x轴与y轴是两个一维,但不是二维坐标系中唯二的一维;
2D中存在无穷多1D;

除了x轴,y轴以外,f, g, h, i, j 都是一维,也是数轴。

2. ”投影”是一个“线性变换”

现在有一种变换方式:2D中任意找一个1D,2D中任意的点往1D投射垂直线,在1D上标记这些点的位置作为结果。这个变换方式叫做“投影”,因为是垂直的,具体一些叫“正交投影”。

蓝色是2D中的点,橙色是被“变换(即投影)”到1D上面的点; 这个“变换方式”就是一个“线性变换”,是一个函数: $$L(\vec{v})$$

2D是输入空间,蓝色点在2D里;1D是输出空间,橙色点在1D里;即这个函数做了2D到1D的转换。 $$2D \to L(\vec{v}) \to 1D$$

2D中的每一个点,可以把它看成是一个向量 (Vector),1D中的每一个点,是一个标量 (Scalar)。

说它是“线性变换”,就要满足线性变换的条件:1D与2D共原点,平行 (parallel),均匀分布 (evenly spaced)。

既然这个投影(L(\vec{v}))是线性变换,那么它可以被2D中的两个基向量 $\hat i$ 和 $\hat j $ 的变化表达:

如上图,$\hat i$ 投影到1D的 f 数轴上,变成 $\hat i^{1D}$;$\hat j$ 投影到1D的 f 数轴上,变成 $\hat j^{1D}$;这个变换的视觉形象如下:

如上面视频,2D被压缩成了1D。

3. 从2D与1D两个视角看问题

在2D的视角中,$\hat i$ 与 $\hat j$ 都是向量;
在1D的视角中,$\hat i^{1D}$ 与 $\hat j^{1D}$ 都是标量;
但是在2D的视角中,$\hat i^{1D}$ 与 $\hat j^{1D}$ 仍然是向量;
$\hat i^{1D}$ 与 $\hat j^{1D}$ 存在于两个维度的空间中。

现在,我们不考虑1D,只考虑2D。有一个向量 $\vec{w}$ 要进行$L(\vec{v})$的转换,则需要: $$ \begin{bmatrix} \hat i_x^{1D} & \hat j_x^{1D} \ \hat i_y^{1D} & \hat j_y^{1D} \end{bmatrix} \begin{bmatrix} \vec{w}_x\ \vec{w}_y \end{bmatrix} $$

上面是只考虑2D的情况。回头来看,不用这么麻烦,因为转换结果是1D,我们需要的也可以是$\vec{w}$在1D的样子。所以,可以这样:

$$ \begin{bmatrix} \hat i^{1D} & \hat j^{1D} \ \end{bmatrix} \begin{bmatrix} \vec{w}_x\ \vec{w}_y \end{bmatrix} $$

上面的 $\hat i^{1D} \hat j^{1D} $的值是在1D空间f中的标量,也就是长度。计算方法:

$$\hat i^{1D} \vec{w}_x + \hat j^{1D} \vec{w}_y$$

得出的标量就是 $\vec{w}$ 在 f 上的投影的值。

到这里本来应该 Game Over,但是……

4. 1D的基向量、点乘与对偶性

$\hat u$ 是 1D 空间 f 的基,因为它的值是1。

$\hat u$是一个穿越者,在1D中是标量,在2D中是向量。$\hat i^{1D} \hat j^{1D} $也是穿越者; 能够同时存在于1D与2D空间的都是穿越者,它们能够被两个空间的表达方式分别表达。

$\hat u$是1D的基,长度是1,2D的基 $\hat i \hat j$ 在 x y 轴上的长度也是1。

1D的基 $\hat u$ 在2D中的表达,恰好与2D的基$\hat i \hat j$在1D中的表达的数值相等。

我们得出:

$$\hat u_x = \hat i^{1D}$$$$\hat u_y = \hat j^{1D}$$

于是:

$$ \begin{bmatrix} \hat i^{1D} & \hat j^{1D} \ \end{bmatrix} \begin{bmatrix} \vec{w}_x\ \vec{w}_y \end{bmatrix} \Rightarrow \begin{bmatrix} \hat u_x \ \hat u_y \end{bmatrix} \begin{bmatrix} \vec{w}_x\ \vec{w}_y \end{bmatrix} \Rightarrow \vec{u} \cdot \vec{w} $$

所以2D中任意向量想做投影到1D,则需要用 $\vec{u}$ 乘以该向量,也就是把 $\vec{u}$ 所代表的矩阵变换应用到该向量。这就是向量点乘的定义的来历。

上图中,$\hat u \cdot \hat w$ 得出 $\hat w$ 在 $\hat u$ 所在1D数轴 f 上的投影长度。

如果不是与1D的基 $\hat u$ 相乘:

$\vec{q} \cdot \vec{w}$,从1D角度,f 数轴上的 $\vec{q}$ 的长度是 $\hat u$ 的2倍,任何数都是1的任何倍;从2D角度,也就是原来的$\hat i \hat j$ 的投影分别被放大2倍,成为了新的$\hat i \hat j$;那么就等于 $\vec{w}$ 先乘以 $\hat u$,再乘以倍数2,点 $M$ 是结果。

$$ \vec{q} \cdot \vec{w} = \begin{bmatrix} \vec{q}_x \ \vec{q}_y \end{bmatrix} \begin{bmatrix} \vec{w}_x\ \vec{w}_y \end{bmatrix} $$

因为是线性变换,所以可以被一个矩阵(1行两列)所描述,这个矩阵恰好又是可以2D中的一个向量,这两者互相关联,就是对偶性。我们说,每一个这种投影的变化矩阵,都有一个向量与它关联。

$$ \begin{bmatrix} \vec{q}_x & \vec{q}_y \end{bmatrix} \begin{bmatrix} \vec{w}_x\ \vec{w}_y \end{bmatrix} \Leftrightarrow \begin{bmatrix} \vec{q}_x \ \vec{q}_y \end{bmatrix} \begin{bmatrix} \vec{w}_x\ \vec{w}_y \end{bmatrix} $$

##5. 向量内积公式

$$\vec{v} \cdot \vec{w} = |\vec{v}| |\vec{w}| \cos\theta$$$$\Downarrow$$$$\vec{v} \cdot \vec{w} =\vec{v}_x \vec{w}_x + \vec{v}_y \vec{w}_y$$