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

点积的运算

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

[a1b1][a2b2]=a1×a2+b1×b2\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

[a1b1c1][a2b2c2]=a1×a2+b1×b2+c1×c2\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

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

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

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

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

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

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

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

vw=cos(θ)×v×w\vec{v} \cdot \vec{w} = \cos(\theta) \times |\vec{v}| \times |\vec{w}|

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

从二维到一维

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

[a1b1]×[a2b2]=a1×a2+b1×b2\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

[a1b1][a2b2]=a1×a2+b1×b2\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×21 \times 2 的矩阵与向量乘法跟向量点积的结果是一样的。也就是说在这里 1×21 \times 2 的矩阵与二维向量之间有着微妙关系的。

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

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

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

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

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

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

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

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

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

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

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

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

如果我们把上面数轴中的 u^\hat{u} 增长至三倍,用 3u^3\hat{u} 表示,二维空间中的向量 v\vec{v}3u^3\hat{u} 作点积运算其实就是这里的公式 [vxvy][3ux3uy]=3×([vxvy][uxuy])\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),所以向量 v\vec{v} 与向量 w\vec{w} 的点积,就是向量 v\vec{v} 往向量 w\vec{w} 上投影所得的长度乘以 w\vec{w} 的长度,或者倒过来是向量 w\vec{w} 往向量 v\vec{v} 上投影所得的长度乘以 v\vec{v} 的长度。

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

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

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

相关文章: