向量内积与矩阵乘法的等价关系

很多初学者在学习线性代数时,常常会对“为什么两个向量的点积(内积),可以写成一行乘以一列的矩阵乘法?”感到困惑。今天我们就把它们拆解成最基础的单个元素,来一探究竟。

1. 什么是向量的点积(内积)?

假设我们有两个普通的 3 维列向量 \(\mathbf{a}\) 和 \(\mathbf{t}\),它们里面的元素分别是:

\[ \mathbf{a} = \begin{bmatrix} a_1 \\ a_2 \\ a_3 \end{bmatrix}, \quad \mathbf{t} = \begin{bmatrix} t_1 \\ t_2 \\ t_3 \end{bmatrix} \]

根据向量点积的代数定义,两个向量的点积就是把它们对应位置的元素相乘,然后再全部加起来。所以:

\[ \mathbf{a} \cdot \mathbf{t} = a_1 t_1 + a_2 t_2 + a_3 t_3 \]

注意,点积的结果是一个纯数字(标量)

2. 什么是矩阵的乘法?

现在,我们来看看矩阵乘法。矩阵乘法的规则是:左边矩阵的“行” 乘以 右边矩阵的“列”,对应元素相乘再相加。

如果我们要进行矩阵乘法,我们需要确保:左边矩阵的列数 = 右边矩阵的行数。

3. 将点积转换为矩阵乘法

我们依然使用上面那两个列向量。但是,如果我们直接把两个列向量相乘,是不符合矩阵乘法规则的(因为 \(3 \times 1\) 的矩阵不能乘以 \(3 \times 1\) 的矩阵)。

为了能进行矩阵乘法,我们需要把左边的向量 \(\mathbf{t}\) 躺平,变成一个行向量。这在数学上叫做转置(Transpose),记作 \(\mathbf{t}^T\):

\[ \mathbf{t}^T = \begin{bmatrix} t_1 & t_2 & t_3 \end{bmatrix} \]

现在,我们用这个行向量(也就是一个 \(1 \times 3\) 的矩阵)去乘以列向量 \(\mathbf{a}\)(一个 \(3 \times 1\) 的矩阵):

\[ \mathbf{t}^T \mathbf{a} = \begin{bmatrix} t_1 & t_2 & t_3 \end{bmatrix} \begin{bmatrix} a_1 \\ a_2 \\ a_3 \end{bmatrix} \]

根据矩阵乘法的“行乘列”规则,我们将它们对应的元素相乘并相加:

\[ \mathbf{t}^T \mathbf{a} = (t_1 \times a_1) + (t_2 \times a_2) + (t_3 \times a_3) \]

稍微整理一下顺序(乘法交换律):

\[ \mathbf{t}^T \mathbf{a} = a_1 t_1 + a_2 t_2 + a_3 t_3 \]

4. 结论:它们是完全等价的!

对比一下第 1 步和第 3 步的结果,你会发现它们一模一样!

\[ \mathbf{a} \cdot \mathbf{t} = a_1 t_1 + a_2 t_2 + a_3 t_3 = \mathbf{t}^T \mathbf{a} \]

因此,我们可以得出结论:两个列向量的点积,完全等价于把其中一个向量转置成行向量后,再与另一个列向量进行矩阵乘法。

为什么要这么写呢?因为写成矩阵形式后,我们就可以利用矩阵乘法的结合律等强大工具,来推导更复杂的公式(比如投影矩阵!)。

返回投影矩阵推导