Skip to content

Vector Space

前言

线性方程组可以用矩阵-向量表示法来表示

更深入地了解向量空间,即向量所在的结构化空间

本章的开头,我们非正式地将向量描述为相加并乘以标量后,仍然是相同类型的对象。现在,我们准备将其形式化,我们将首先介绍群的概念,它包含一组元素和一个定义在这些元素上的操作,该操作可以保持集合的某些结构完整

群在计算机科学中扮演着重要的角色。除了为集合上的运算提供一个基本框架外,它们还被大量应用于密码学、编码理论和图形学

定义 2.7

考虑一个集合 \(\mathcal{G}\) 和一个定义在 \(\mathcal{G}\) 上的运算 \(\otimes\)\(\mathcal{G} \otimes \mathcal{G} \rightarrow \mathcal{G}\),则 \(G := (\mathcal{G},\otimes)\)称之为群( group):

  • 1 \(\mathcal{G}\)\(\otimes\) 运算下的 封闭性(Closure): \(\forall x,y \in \mathcal{G} : x \otimes y \in \mathcal{G}\)
  • 2 结合律(Associativity):$\forall x,y,z \in \mathcal{G} : (x \otimes y)\otimes z = x \otimes (y \otimes z) $
  • 3 单位元(Neutral element)\(\exists e \in \mathcal{G},\forall x \in \mathcal{G}\)\(x \otimes e = x\) and \(e \otimes x = x\)
  • 4 逆元(Inverse element)\(\forall x \in \mathcal{G} ,\exists y \in \mathcal{G}\) : \(x \otimes y = e\) and \(y \otimes x = e\),其中 e是单位元。我们经常写 \(x^{-1}\) 来表示 \(x\)的逆元

备注 逆元是针对运算 \(\otimes\) 定义的,并不一定意味着逆元一定是 \(\frac{1}{x}\)

阿贝尔群: \(\forall x,y \in \mathcal{G},x \otimes y = y \otimes x\),那么 \(G = (\mathcal{G},\otimes)\) 是阿贝尔群

例如

\(\mathbb{Z}\) : 整数,\(N_0\):自然数,\(\mathbb{R}\):实数,\(\mathbb{C}\):复数

  • \((\mathbb{Z},+)\) 是一个阿贝尔群

  • \((N_0,+)\)不是一个群:虽然\((N_0,+)\)有一个单位元,但是缺少逆元

  • \((\mathbb{Z},\cdot)\) 不是一个群:虽然 \((\mathbb{Z},\cdot)\)包含一个单位元\((1)\),但是任何 \(z \in \mathbb{Z},z \neq \pm 1\) 的逆元都不是整数

  • \((\mathbb{R},\cdot)\)不是群:因为\(0\)不具有逆元

  • \(\left(\mathbb{R} \setminus \{0\}, \cdot\right)\)是阿贝尔群

  • \((\mathbb{R}^n,+)\)\((\mathbb{Z}^n,+)\)\(n \in \mathbb{Z}\) 是阿贝尔群,前提是 \(+\) 是按分量定义的,即

\[ (x_1,\cdots,x_n) + (y_1,\cdots,y_n) = (x_1+y_1,\cdots,x_n+y_n) \]

\((x_1,\cdots,x_n)^{-1} := (-x_1,\cdots,-x_n)\)为逆元;\(e = (0,\cdots,0)\) 为单位元

  • \((\mathbb{R}^{m \times n},+)\)\(m \times n\)-矩阵集是阿贝尔集,前提是具有上面例子一样的分量加法

  • 仔细看 \((\mathbb{R}^{n \times n},\cdot)\),即之前定义的具有矩阵乘法的 \(n \times n\)-矩阵集

  • 封闭性和结合性来自于矩阵乘法的定义

  • 单位元:单位矩阵 \(\boldsymbol{\mathit{I}}_n\)
  • 逆元:如果矩阵 \(\boldsymbol{\mathit{A}}\) 的逆存在(\(\boldsymbol{\mathit{A}}\) 是正则的),那么 \(\boldsymbol{\mathit{A}}^{-1}\)\(\boldsymbol{\mathit{A}} \in \mathbb{R}^{n \times n}\) 的逆元,在这种情况下,\((\mathbb{R}^{n \times n},\cdot)\) 就是一群,称为 一般线性群(general liner group)

定义 一般线性群

正则(可逆)矩阵集 \(\boldsymbol{\mathit{A}} \in \mathbb{R}^{n \times n}\) 关于矩阵乘法的群,称为一般线性群 \(\boldsymbol{GL}(n,\mathbb{R})\)。然而,由于矩阵的乘法是不可逆的,所以改群不是阿贝尔群

向量空间

当我们讨论群时,我们研究集合\(\mathcal{G}\)的内部运算,即\(\mathcal{G}\)内部元素的运算的映射 \(\mathcal{G} \otimes \mathcal{G} \rightarrow \mathcal{G}\)。在下面,除了考虑 内部运算(inner operation) "\(+\)"外的 外部运算(outer operation) "\(\cdot\)",向量\(x \in \mathcal{G}\)乘以一个标量 \(\lambda \in \mathbb{R}\)。 我们可以把内部运算看作是加法的形式,外部运算看作是缩放的形式。请注意,内部/外部操作 与内积/外积 无关。

定义 向量空间

实值 向量空间(Vector Space) \(\boldsymbol{V} = (\mathcal{V},+,\cdot)\) 是一个具有两类运算的集合 \(\mathcal{V}\)

\(+: \mathcal{V} + \mathcal{V} \rightarrow \mathcal{V}\)

\(\cdot: \mathbb{R} \cdot \mathcal{V} -> \mathcal{V}\)

其中

  1. \((\mathcal{V},+)\)是阿贝尔群
  2. 分配律

  3. \(\forall \lambda \in \mathbb{R},\boldsymbol{x},\boldsymbol{y} \in \mathcal{V}\)\(\lambda \cdot (\boldsymbol{x} + \boldsymbol{y}) = \lambda \cdot \boldsymbol{x} + \lambda \cdot \boldsymbol{y}\)

  4. \(\forall \lambda,\psi \in \mathbb{R},\boldsymbol{x} \in \mathcal{V}\): \((\lambda + \psi) \cdot \boldsymbol{x} = \lambda \cdot \boldsymbol{x} + \psi \cdot \boldsymbol{x}\)

  5. 结合律(外部操作)\(\forall \lambda,\psi \in \mathbb{R},\boldsymbol{x} \in \mathcal{V}\) : \(\lambda \cdot (\psi \cdot x) = (\lambda \psi) \cdot x\)

  6. 关于外部操作的单位元:\(\forall x \in \mathcal{V}\)\(1 \cdot x = x\)

元素 \(\boldsymbol{x} \in \mathcal{V}\) 称为向量。\((\mathcal{V},+)\)的单位元向量是 \(\boldsymbol{0} = [0,\cdots,0]^\mathrm{T}\) ,内部运算 \(+\) 称为 向量加法(vector addition)。 元素 \(\lambda \in \mathbb{R}\) 称为 标量(scalars),外部运算 \(\cdot\)被标量乘(multiplication by scalars) 。注意 标量积(scalar product) 与这个是不同的。

备注

向量乘法(vector multiplication) \(\boldsymbol{ab},a,b \in \mathbb{R}^{n}\) 是没有定义的。理论上,我们可以定义按元素的乘法 \(\boldsymbol{c = ab}\),其中 \(c_{j} = a_j b_j\)。这种数组乘法(array multiplication)在许多编程语言中都很常见,但这使得使用矩阵乘法的标准规则在数学意义上有限:通过将向量视为 $n \times 1 $ 的矩阵,可以使用之前定义的矩阵乘法进行运算。可这样的话,向量与向量直接相乘的维度却不匹配。仅以下向量乘法有定义

  • \(\boldsymbol{a}\boldsymbol{b}^\mathrm{T} \in \mathbb{R}^{n \times n}\)外积 outer product
  • \(\boldsymbol{a}^\mathrm{T}\boldsymbol{b} \in \mathbb{R}\) (内积/标量积/点积 inner/scalar/dot product)

向量空间重要例子

  • \(\mathcal{V} = \mathbb{R}^{n}, n \in \mathbb{N}\) 是一个向量空间,其运算定义如下

  • 相加:对于 \(\forall x,y \in \mathbb{R}^{n}, x + y = (x_1,\cdots,x_n)+(y_1,\cdots,y_n)=(x_1+y_1,\cdots,x_n+y_n)\)

  • 与标量相乘:对于 \(\forall \lambda \in \mathbb{R},\boldsymbol{x} \in \mathbb{R}^{n},\lambda x = \lambda(x_1,\cdots,x_n)=(\lambda x_1,\cdots,\lambda_n x_n)\)

  • \(\mathcal{V} = \mathbb{R}^{m \times n},m,n \in \mathbb{N}\)是一个向量空间

  • 相加:对于 \(A,B \in \mathcal{V}\) 逐元素相加

\[ A + B = \begin{bmatrix} a_{11}+b_{11}, \cdots ,a_{1n}+b_{1n} \\ \vdots \qquad \qquad \qquad \vdots \\ a_{m1}+b_{m1}, \cdots, a_{mn}+b_{mn} \end{bmatrix} \]
  • 与标量相乘,记住\(\mathbb{R}^{m \times n}\)相当于\(\mathbb{R}^{mn}\)
\[ \lambda A = \begin{bmatrix} \lambda a_{11},\cdots\lambda a_{1n} \\ \vdots \qquad \qquad \vdots \\ \lambda a_{m1},\cdots\lambda a_{mn} \end{bmatrix} \]
  • \(\mathcal{V} = \mathbb{C}\) 也是向量空间

备注

在下面,当\(+\)\(\cdot\) 是标准向量加法和标量乘法时,我们将用 \(V\) 表示向量空间 \((\mathcal{V},+,\cdot)\)。 此外,我们将使用符号 \(x \in V\)表示 \(\mathcal{V}\) 中的向量,以简化符号

备注

向量空间 \(\mathbb{R}^{n}\) \(\mathbb{R}^{n \times1}\) \(\mathbb{R}^{1 \times n}\) 只是我们写向量的方式不同。在下文中,我们将不区分 \(\mathbb{R}^{n}\)\(\mathbb{R}^{n \times 1}\),这允许我们用 \(n\) 元组用列向量(column vectors)表示

\[ \boldsymbol{x}= \begin{bmatrix}x_1\\\vdots\\x_n\end{bmatrix} \]

这样简化了向量运算的表示法。但是我们要区分 \(\mathbb{R}^{n \times 1}\)\(\mathbb{R}^{1 \times n}\)(行向量row vectors), 以避免在矩阵乘法时混淆。默认情况下

  • \(\boldsymbol{x}\) 来表示列向量
  • \(\boldsymbol{x}^\mathrm{T}\) 来表示行向量,即列向量的转置

向量子空间

向量子空间是原始向量空间中的集合,且具有这样的性质

  • 对子空间的元素进行向量空间运算,结果不会超出子空间。从这个意义上说,它是封闭的

向量子空间是机器学习的一个重要概念,利用向量子空间进行降维

定义 向量子空间

\(\mathrm{V}= (\mathcal{V},+,\cdot)\) 为向量空间,且$\mathcal{U} \subseteq \mathcal{V},\mathcal{U} \neq \varnothing $ ,如果 \(\mathrm{U}\) 是一个向量空间,且它的向量空间运算 \(+\)\(\cdot\) 限制为 \(\mathcal{U} \times \mathcal{U}\)\(\mathbb{R} \times \mathcal{U}\),那么 \(\mathrm{U}=(\mathcal{U},+,\cdot)\)称为 \(\mathrm{V}\)向量子空间(vector subspace 或 liner subspace)。用 \(\mathrm{U} \subseteq \mathrm{V}\)表示 \(\mathrm{V}\) 的子空间 \(\mathrm{U}\)

如果 \(\mathrm{U} \subseteq \mathrm{V}\)\(\mathrm{V}\) 是向量空间,那么\(\mathrm{U}\)自然地直接从\(\mathrm{V}\) 继承了许多性质,因为这些性质适用于所有的 \(x \subseteq \mathcal{V}\), 特别是所有 \(\boldsymbol{x} \subseteq \mathcal{U} \subseteq \mathcal{V}\)。这包括阿贝尔群的性质,分配律、结合律和基元。

为了确定 \((\mathcal{U},+,\cdot)\)是否是 \(\mathrm{V}\)的子空间,还需要确定

  1. \(\mathcal{U} \neq \varnothing\),特别地,单位元 \(\boldsymbol{0} \in \mathcal{U}\)

  2. \(U\)的封闭性:

  3. 关于外部操作:\(\forall \lambda \in \mathbb{R},\forall \boldsymbol{x} \in \mathcal{U}: \lambda \boldsymbol{x} \in \mathcal{U}\)

  4. 关于内部操作:\(\forall \boldsymbol{x},\boldsymbol{y} \in \mathcal{U}: \boldsymbol{x} + \boldsymbol{y} \in \mathcal{U}\)

向量子空间

对于每个向量空间\(\mathrm{V}\),其 平凡子空间(trivial subspaces)\(\mathrm{V}\)本身和 \(\boldsymbol{0}\)

具有\(n\)个未知量 \(\boldsymbol{x} = [x_1,\cdots,x_n]^\mathrm{T}\) 的齐次线性方程组 \(\boldsymbol{\mathit{A}}\boldsymbol{x} = \boldsymbol{0}\)的解集是 \(\mathbb{R}^{n}\) 的一个子空间

非齐次线性方程组 \(\boldsymbol{\mathit{A}} \boldsymbol{z} = \boldsymbol{b},\boldsymbol{b} \neq \boldsymbol{0}\) 的解不是 \(\mathbb{R}^{n}\)的子空间

任意子空间的交集是它们本身的子空间

备注

对于 $ \boldsymbol{x} \in \mathbb{R}^{n}$,每个子空间 \(\mathrm{U} \in (\mathbb{R}^{n},+,\cdot)\) 是齐次方程组 \(\boldsymbol{\mathit{A}}\boldsymbol{x}=\boldsymbol{0}\)的解空间