线性代数的本质(六)——点积

在学习线性代数的时候,通常在学完了向量的基本运算后就开始学习点积了, 但是为了能够正确理解点积的意义。我们在理解线性变换后使用线性变换的思想来重新理解点积。

点积的运算

如果我们有两个维数相同的向量,那这两个向量的点积就是相对应的坐标分量相乘再相加。

$\begin{bmatrix} a_1 \\ b_1 \end{bmatrix} \cdot \begin{bmatrix} a_2 \\ b_2 \end{bmatrix} = a_1 \times a_2 + b_1 \times b_2$

$\begin{bmatrix} a_1 \\ b_1 \\ c_1 \end{bmatrix} \cdot \begin{bmatrix} a_2 \\ b_2 \\ c_2 \end{bmatrix} = a_1 \times a_2 + b_1 \times b_2 + c_1 \times c_2$

这个运算在几何上也有这样一个投影的解释。

向量 $\vec{v}$ 在向量 $\vec{w}$ 上投影的长度乘以 $\vec{w}$ 的长度,这里两个向量 $\vec{v}$ 和 $\vec{w}$ 无论是投影还是被投影,结果都是一样的。

如果向量 $\vec{v}$ 和向量 $\vec{w}$ 方向相反,那么这个点积运算的结果为负数

如果向量 $\vec{v}$ 和向量 $\vec{w}$ 互相垂直,那么 $\vec{v} \cdot \vec{w}$ 的结果是0。由于一个向量投影到另一个向量后的长度为0。

所以向量点积的数值也可以使用余弦定理来计算

$\vec{v} \cdot \vec{w} = \cos(\theta) \times |\vec{v}| \times |\vec{w}|$

$\theta$ 是向量 $\vec{v}$ 和向量 $\vec{w}$ 之间的夹角

从二维到一维

我们看上面向量点积公式的运算方法,就像是矩阵向量乘法。

$\begin{bmatrix} a_1 & b_1 \end{bmatrix} \times \begin{bmatrix} a_2 \\ b_2 \end{bmatrix} = a_1 \times a_2 + b_1 \times b_2$

$\begin{bmatrix} a_1 \\ b_1 \end{bmatrix} \cdot \begin{bmatrix} a_2 \\ b_2 \end{bmatrix} = a_1 \times a_2 + b_1 \times b_2$

从上面的计算结果看来,在这里的 $1 \times 2$ 的矩阵与向量乘法跟向量点积的结果是一样的。也就是说在这里 $1 \times 2$ 的矩阵与二维向量之间有着微妙关系的。

首先让我们来看看将二维向量转换为数的变换,由于需要将二维向量压缩到一维,所以在原来二维空间中的基向量 $\hat{i}$ 和 $\hat{j}$ 都变成了一个数,也就是 $1 \times 2$ 矩阵中的两列。

为了更加直观地理解,我们在二维空间中添加一条数轴,并定义一个二维向量 $\hat{u}$ 刚好落在数轴的1上。

现在为了将二维空间中的任意向量投影到这一条数轴上,我们需要找到一个这样的 $1 \times 2$ 矩阵来表示基向量 $\hat{i}$ 和 $\hat{j}$ 在变换后对应数轴上的数。

为了搞清楚 $\hat{i}$ 投影到数轴上后的数是多少,我们在 $\hat{i}$ 和 $\hat{u}$ 上做一条对称轴,然后分别将 $\hat{u}$ 投影到 $\hat{i}$,同时将 $\hat{i}$ 投影到 $\hat{u}$,由于 $\hat{u}$ 和 $\hat{i}$ 的长度相同,所以 $\hat{i}$ 投影到 $\hat{u}$ 上的长度就等于 $\hat{u}$ 投影到 $\hat{i}$ 上的长度。同时 $\hat{u}$ 投影到 $\hat{i}$ 上的长度就等于 $\hat{u}$ 的横坐标 $u_x$,所以 $\hat{i}$ 投影到 $\hat{u}$ 上的长度就是 $u_x$。

同理,$\hat{j}$ 投影到 $\hat{u}$ 上的长度就是 $u_y$

至此,我们已经得出了这里变换后的 $\hat{i}$ 和 $\hat{j}$,将它们组合成 $1 \times 2$ 的矩阵就是 $\begin{bmatrix} u_x & u_y \end{bmatrix}$,此后当我们需要将二维空间中的任意向量 $\vec{v}$ 投影到 $\hat{u}$ 所处的数轴的结果,与这个向量 $\vec{v}$ 与 $\hat{u}$ 进行点积运算的结果一样 $\begin{bmatrix} v_x \\ v_y \end{bmatrix} \cdot \begin{bmatrix} u_x \\ u_y \end{bmatrix} = \begin{bmatrix} u_x & u_y \end{bmatrix} \times \begin{bmatrix} v_x \\ v_y \end{bmatrix}$。这也就说明了,某向量与单位向量做点积,就是将向量投影到单位向量所在直线后得到的长度。

如果我们把上面数轴中的 $\hat{u}$ 增长至三倍,用 $3\hat{u}$ 表示,二维空间中的向量 $\vec{v}$ 与 $3\hat{u}$ 作点积运算其实就是这里的公式 $\begin{bmatrix} v_x \\ v_y \end{bmatrix} \cdot \begin{bmatrix} 3u_x \\ 3u_y \end{bmatrix} = 3 \times \left( \begin{bmatrix} v_x \\ v_y \end{bmatrix} \cdot \begin{bmatrix} u_x \\ u_y \end{bmatrix} \right)$,所以向量 $\vec{v}$ 与向量 $\vec{w}$ 的点积,就是向量 $\vec{v}$ 往向量 $\vec{w}$ 上投影所得的长度乘以 $\vec{w}$ 的长度,或者倒过来是向量 $\vec{w}$ 往向量 $\vec{v}$ 上投影所得的长度乘以 $\vec{v}$ 的长度。

如果有一个将二维转换到一维的变换,那么这个变换肯定有一个对应的二维向量 $\vec{v}$。对其他向量而言,与 $1 \times 2$ 矩阵相乘和与 $\vec{v}$ 做点积运算是一样的。

这一部分放到三维向量空间也是适用的,一个代表三维到一维的变换能够和三维空间中的一个向量对应起来。任意一个三维向量与这个变换做乘法等于与这个向量作点积。

Last modification:May 20th, 2019 at 08:13 pm
如果觉得我的文章对你有用,请随意赞赏

Leave a Comment