矩阵乘法的内涵和本质

理解矩阵乘法的内涵和本质。

下面的内容主要来自于《Linear Algebra with Applications》的第三章 向量空间和第四章 线性变换。1

向量空间

子空间与张成(空间)

我们先看子空间的概念。

定义\(S\) 为向量空间 \(V\) 的非空子集, 且 \(S\) 满足如下条件:

  • 对任意标量 \(\alpha\), 若 \(x \in S\), 则 \(\alpha x \in S\).
  • \(x \in S\)\(y \in S\), 则 \(x+y \in S\).

\(S\) 称为 \(V\)子空间 (subspace).

也就是说子空间 \(S\) 在标量乘法和向量加法的意义上应该是封闭的。

我们再看向量集合的张成的概念,如下:

定义\(v_{1}, v_{2}, \cdots, v_{n}\) 为向量空间 \(V\) 中的向量. \(\alpha_{1} v_{1}+\alpha_{2} v_{2}+\cdots+\alpha_{n} v_{n}\) (其中 \(\alpha_{1}\), \(\alpha_{2}, \cdots, \alpha_{n}\) 为标量) 称为向量 \(v_{1}, v_{2}, \cdots, v_{n}\)线性组合 (linear combination). 向量 \(v_{1}\), \(v_{2}, \cdots, v_{n}\) 的所有线性组合构成的集合称为 \(v_{1}, \cdots, v_{n}\)张成 (span). 向量 \(v_{1}, \cdots, v_{n}\) 的张成记 为 \(\operatorname{Span}\left(v_{1}, \cdots, v_{n}\right)\).

易证明,向量组合的张成是向量空间 \(V\) 的一个子空间。如果张成空间等于向量空间 \(V\) ,此时我们称向量集合 \(v_{1}\), \(v_{2}, \cdots, v_{n}\)\(V\) 的一个张集

举个例子,基向量 \(e_1, e_2, e_3\) 就是 \(\mathbb{R}^{3}\) 的一个张集, \(\mathbb{R}^{3}\) 中任何一个向量 \((a, b, c)^{T}\) 均可以表示为 \[ (a, b, c)^{T} = a\mathbf{e_1} + b\mathbf{e_2} + c\mathbf{e_3} \] 再举个例子,\(\left\{(1,1,1)^{\mathrm{T}},(1,1,0)^{\mathrm{T}},(1,0,0)^{\mathrm{T}}\right\}\) 是不是 \(\mathbb{R}^{3}\) 的一个张集呢?这个问题等价于,对于\(\mathbb{R}^{3}\) 中任何一个向量 \((a, b, c)^{T}\) 是不是都可以表示为这三个向量的线性组合?即总能找到相应的 \(\alpha_1, \alpha_2, \alpha_3\) ,使得下式成立 \[ \left[\begin{array}{l} a \\ b \\ c \end{array}\right]=\alpha_{1}\left[\begin{array}{l} 1 \\ 1 \\ 1 \end{array}\right]+\alpha_{2}\left[\begin{array}{l} 1 \\ 1 \\ 0 \end{array}\right]+\alpha_{3}\left[\begin{array}{l} 1 \\ 0 \\ 0 \end{array}\right] \] 你可以轻松证明,这三个向量是 \(\mathbb{R}^{3}\) 的一个张集。

线性相关和线性无关

定义 如果向量空间 \(V\) 中的向量 \(v_{1}, v_{2}, \cdots, v_{n}\) 满足 \(c_{1} v_{1}+c_{2} v_{2}+\cdots+c_{n} v_{n}=0\) 就可推出所有标量 \(c_{1}, \cdots, c_{n}\) 必为 0 , 则称它们为线性无关的 (linearly independent),反之则称它们是线性相关的。

如果一组向量线性相关,那就说明至少有一个向量可以表示为其他向量的线性组合。

基和维数

定义 当且仅当向量空间 \(V\) 中的向量 \(\boldsymbol{v}_{1}, \boldsymbol{v}_{2}, \cdots, \boldsymbol{v}_{n}\) 满足

  • \(v_{1}, \cdots, v_{n}\) 线性无关,
  • \(v_{1}, \cdots, v_{n}\) 张成 \(V\)

时, 称它们是向量空间 \(V\) (basis),如果 \(V\) 的一组基含有 \(n\) 个向量,那么我们称 \(V\)维数 (dimension)\(n\)

我们称 \(\mathbb{R}^{n}\)标准基\(\{e_1, e_2, \cdots, e_n\}\) ,之所以称这个基为标准基,是因为使用这个基表示向量空间 \(\mathbb{R}^{n}\) 最为自然。

举个例子, \(e_1, e_2, e_3\) 就是 \(\mathbb{R}^{3}\)标准基,但是实际上 \(\mathbb{R}^{3}\) 的基有无穷多种取法,比如上面例子中的 \(\left\{(1,1,1)^{\mathrm{T}},(1,1,0)^{\mathrm{T}},(1,0,0)^{\mathrm{T}}\right\}\) 也是 \(\mathbb{R}^{3}\) 的基。

这里定义基时要求线性无关,是因为只有 \(\boldsymbol{v}_{1}, \boldsymbol{v}_{2}, \cdots, \boldsymbol{v}_{n}\) 线性无关时,张集中的向量数目最小,并且向量空间 \(V\) 才可以唯一地\(\boldsymbol{v}_{1}, \boldsymbol{v}_{2}, \cdots, \boldsymbol{v}_{n}\) 的 线性组合来表示。反过来说,如果张集的向量之间存在线性相关,那么对于向量空间 \(V\)的每一个向量,你都可以找到张集的多个线性组合来表示这个向量。

定理\(\left\{v_{1}, v_{2}, \cdots, v_{n}\right\}\) 为向量空间 \(V\) 的一个张集, 则 \(V\) 中的任何 \(m\) ( \(m>n\)) 个向量必线性相关.

证 令 \(\boldsymbol{u}_{1}, \boldsymbol{u}_{2}, \cdots, \boldsymbol{u}_{m}\)\(V\) 中的 \(m\) 个向量, 其中 \(m>n\). 那么, 由于 \(\boldsymbol{v}_{1}, \boldsymbol{v}_{2}, \cdots, \boldsymbol{v_{n}}\) 张成 \(V\), 我们有 \[ \boldsymbol{u}_{i}=a_{i 1} \boldsymbol{v}_{1}+a_{i 2} \boldsymbol{v}_{2}+\cdots+a_{i n} \boldsymbol{v}_{n}, \quad i=1,2, \cdots, m \] 线性组合 \(c_{1} \boldsymbol{u}_{1}+c_{2} \boldsymbol{u}_{2}+\cdots+c_{m} \boldsymbol{u}_{m}\) 可写为 \[ c_{1} \sum_{j=1}^{n} a_{1 j} \boldsymbol{v}_{j}+c_{2} \sum_{j=1}^{n} a_{2 j} \boldsymbol{v}_{j}+\cdots+c_{m} \sum_{j=1}^{n} a_{m j} \boldsymbol{v}_{j} \] 重新排列各项, 我们看到 \[ \begin{aligned} c_{1} \boldsymbol{u}_{1}+c_{2} \boldsymbol{u}_{2}+\cdots+c_{m} \boldsymbol{u}_{m} &=\sum_{i=1}^{m}\left[c_{i}\left(\sum_{j=1}^{n} a_{i j} \boldsymbol{v}_{j}\right)\right] \\ &=\sum_{j=1}^{n}\left(\sum_{i=1}^{m} a_{i j} c_{i}\right) \boldsymbol{v}_{j} \end{aligned} \] 现在我们看下面这个方程组 \[ \sum_{i=1}^{m} a_{i j} c_{i}=0, \quad j=1,2, \cdots, n \] 这个齐次方程组的变量个数 (\(c_{i}\) 个数为 \(m\) ) 多于方程个数 ( \(n\) ). 因此, 方程组必有非平凡解 \(\left(\hat{c}_{1}, \hat{c}_{2}, \cdots, \hat{c}_{m}\right)^{\mathrm{T}}\). 而将其代入到上式中我们得到 \[ \hat{c}_{1} \boldsymbol{u}_{1}+\hat{c}_{2} \boldsymbol{u}_{2}+\cdots+\hat{c}_{m} \boldsymbol{u}_{m}=\sum_{j=1}^{n} 0 \boldsymbol{v}_{j}=\mathbf{0} \] 于是 \(\boldsymbol{u}_{1}, \boldsymbol{u}_{2}, \cdots, \boldsymbol{u}_{m}\) 为线性相关的。

根据这个定理,我们可以很容易推导出一个向量空间的维数是固定的,也就是说同一个向量空间的不同基的向量数目相同。另外,对于维数为 \(n > 0\) 的向量空间 \(V\),任意 \(n\) 个线性无关的向量张成 \(V\)

基变换

很多应用问题可以通过从一个坐标转化为另一坐标系而得到简化。在一个向量空间中转换坐标系,等同于从一组基转换为另外一组基

当我们从一组基转换为另一组基时,可以通过将给定的坐标向量 (coordinate vector) \(x\) (定义为由有序基的基向量的长度组成的向量) 左乘一个非奇异矩阵 \(S\) 来实现,即新坐标为: \[ \mathbf{y} = \mathbf{S}\mathbf{x} \] 我们以最简单也是最常用的情况为例,假如我们希望用一组不同的基替代 \(\mathbb{R}^{2}\) 的标准基,我们设新的基 \[ \mathbf{\mu_{1}}= \left[\begin{array}{l} 3 \\ 2 \\ \end{array}\right], \quad \mathbf{\mu_{2}}= \left[\begin{array}{l} 1 \\ 1 \\ \end{array}\right] \] 给定一个向量在新的基中的坐标向量为 \([c_{1}, c_{2}]\) ,我们可以计算得到其在标准基中的坐标 \[ \begin{aligned} c_1\mathbf{\mu_1} + c_2\mathbf{\mu_2} &= c_1(3\mathbf{e_1}+2\mathbf{e_2})+c_2(1\mathbf{e_1}+1\mathbf{e_2})\\ &=(3c_1+c_2) \mathbf{e_1} + (2c_1+c_2) \mathbf{e_2} \\ \end{aligned} \] 如果令 \[ \mathbf{U}= (\mathbf{\mu_1, \mu_2}) = \left[\begin{array}{l} 3 & 1 \\ 2 & 1\\ \end{array}\right] \] 上面的坐标转换等同于 \[ \mathbf{x} = \mathbf{U} \mathbf{c} \] 我们称矩阵 \(\mathbf{U}\) 为从基 \([\mathbf{\mu_{1}}, \mathbf{\mu_{2}}]\) 转换到基 \([\mathbf{e_{1}}, \mathbf{e_{2}}]\)转移矩阵 (transition matrix) ,其为非奇异矩阵,因此反过来有 \[ \mathbf{c} = \mathbf{U}^{-1} \mathbf{x} \] 即矩阵 \(\mathbf{U}^{-1}\) 为从基 \([\mathbf{e_{1}}, \mathbf{e_{2}}]\) 转换到基 \([\mathbf{\mu_{1}}, \mathbf{\mu_{2}}]\)转移矩阵 (transition matrix)

我们可以轻松推广多任意两个基的转换,如果我们设两个基为 \(\boldsymbol{v}_{1}, \boldsymbol{v}_{2}, \cdots, \boldsymbol{v}_{n}\)\(\boldsymbol{w}_{1}, \boldsymbol{w}_{2}, \cdots, \boldsymbol{w}_{n}\) ,关键在于如何将 \(\boldsymbol{v}\) 中的每一个基向量 \(\boldsymbol{v_{i}}\) 表示为 \(\boldsymbol{w}_{1}, \boldsymbol{w}_{2}, \cdots, \boldsymbol{w}_{n}\) ,然后我们就可以像上面一样构建转移矩阵。

小结

这里我们看到一种矩阵乘法的情况,当一个非奇异矩阵乘以一组坐标向量时,其本质是基变换。两组基之间的转换是可逆的,二者的转移矩阵互为逆矩阵。

线性变换

在向量空间的学习中, 最重要的一类映射为线性变换. 定义 一个将向量空间 \(V\) 映射到向量空间 \(W\) 的映射 \(L\), 如果对所有 \(v_{1}, v_{2} \in V\) 及所有的标量 \(\alpha\)\(\beta\), \[ L\left(\alpha v_{1}+\beta v_{2}\right)=\alpha L\left(v_{1}\right)+\beta L\left(v_{2}\right) \] 我们将该线性变换标记为: \[ L:V \rightarrow W \] 我们称线性变换 \(L:V \rightarrow V\)\(V\) 上的线性算子 (linear operator) (翻译成函数或者映射不行吗,非要整一个新名词,算子)。

事实上,我们可以将每一个线性变换均表示为一个矩阵,存在以下定理:

定理\(L\) 为一从 \(\mathbf{R}^{n}\)\(\mathbf{R}^{m}\) 的线性变换, 则存在一个 \(m \times n\) 矩阵 \(A\), 使得对 每一 \(x \in \mathbf{R}^{n}\), 有 \[ L(x)=A x \] 事实上, \(A\) 的第 \(j\) 个列向量为 \[ \boldsymbol{a}_{j}=L\left(\boldsymbol{e}_{j}\right) \quad j=1,2, \cdots, n \] 证明

\[ \boldsymbol{x}=x_{1} \boldsymbol{e}_{1}+x_{2} \boldsymbol{e}_{2}+\cdots+x_{n} \boldsymbol{e}_{n} \]\(\mathrm{R}^{n}\) 中的任意元素, 则 \[ \begin{aligned} L(\boldsymbol{x}) & = Ax \\ &=\left(\boldsymbol{a}_{1}, \boldsymbol{a}_{2}, \cdots, \boldsymbol{a}_{n}\right)\left[\begin{array}{c} x_{1} \\ x_{2} \\ \vdots \\ x_{n} \end{array}\right] \\ &=x_{1} \boldsymbol{a}_{1}+x_{2} \boldsymbol{a}_{2}+\cdots+x_{n} \boldsymbol{a}_{n} \end{aligned} \]

易得 \(\boldsymbol{a}_{j}=L\left(\boldsymbol{e}_{j}\right)\)

因此,我们可以通过这个特性对每一个特定的线性变换 \(L\) 构建矩阵 \(A\) 。举个例子,定义线性变换 \(L: \mathbb{R}^{3} \rightarrow \mathbb{R}^{2}\)\[ L(\boldsymbol{x})=\left(x_{1}+x_{2}, x_{2}+x_{3}\right)^{\mathrm{T}} \] 容易验证 \(L\) 为一线性变换. 我们希望求一个矩阵 \(A\), 使得对每一 \(x \in \mathbf{R}^{2}, L(x)=A x\). 用 做到这一点, 我们必须求 \(L\left(e_{1}\right), L\left(e_{2}\right)\)\(L\left(e_{3}\right)\) : \[ \begin{aligned} &L\left(\boldsymbol{e}_{1}\right)=L\left((1,0,0)^{\mathrm{T}}\right)=\left[\begin{array}{l} 1 \\ 0 \end{array}\right] \\ &L\left(\boldsymbol{e}_{2}\right)=L\left((0,1,0)^{\mathrm{T}}\right)=\left[\begin{array}{l} 1 \\ 1 \end{array}\right] \\ &L\left(\boldsymbol{e}_{3}\right)=L\left((0,0,1)^{\mathrm{T}}\right)=\left[\begin{array}{l} 0 \\ 1 \end{array}\right] \end{aligned} \] 选择这些向量作为矩阵 \(A\) 的列向量: \[ A=\left[\begin{array}{lll} 1 & 1 & 0 \\ 0 & 1 & 1 \end{array}\right] \] 为验证结果, 计算 \(A x\); \[ A x=\left[\begin{array}{lll} 1 & 1 & 0 \\ 0 & 1 & 1 \end{array}\right]\left[\begin{array}{l} x_{1} \\ x_{2} \\ x_{3} \end{array}\right]=\left[\begin{array}{l} x_{1}+x_{2} \\ x_{2}+x_{3} \end{array}\right] \] 我们注意到在线性转换前后的坐标轴往往发生了改变,在这个例子中转换之前的坐标轴为 \[ \boldsymbol{e}_{1} = \left[\begin{array}{l} 1 \\ 0 \\ 0 \end{array}\right], \boldsymbol{e}_{2} = \left[\begin{array}{l} 0 \\ 1 \\ 0 \end{array}\right], \boldsymbol{e}_{3} = \left[\begin{array}{l} 0 \\ 0 \\ 1 \end{array}\right] \] 转换之后的坐标轴为: \[ \boldsymbol{e}_{1} = \left[\begin{array}{l} 1 \\ 0 \\ \end{array}\right], \boldsymbol{e}_{2} = \left[\begin{array}{l} 0 \\ 1 \\ \end{array}\right] \]

小结

矩阵乘法 \(Ax\) 是一个函数,其本质是一个线性变换。如果 \(A\) 是一个 \(m \times n\) 的矩阵,那么就对应着一个 \(L:\mathbb{R}^{n} \rightarrow \mathbb{R}^{m}\) 的线性变换,在线性变换的过程中向量空间发生了改变。

总结

一般的矩阵乘法 \(y = Ax\) 对应着一个线性变换,一般来说这种线性变换不可逆,也就是一般找不到逆函数。

但是存在一种特殊情况,当 \(A\) 是一个非奇异矩阵时,此时 \(y = Ax\) 可以理解为基变换,即在两个坐标系中转换坐标,此时的线性变换可逆。


  1. 《Linear Algebra with Applications》 Ninth Edition↩︎

  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2019-2026 Vincere Zhou
  • 访问人数: | 浏览次数:

请我喝杯茶吧~

支付宝
微信