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)^{-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}\)
其中
- \((\mathcal{V},+)\)是阿贝尔群
-
分配律
-
\(\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}\)
-
\(\forall \lambda,\psi \in \mathbb{R},\boldsymbol{x} \in \mathcal{V}\): \((\lambda + \psi) \cdot \boldsymbol{x} = \lambda \cdot \boldsymbol{x} + \psi \cdot \boldsymbol{x}\)
-
结合律(外部操作)\(\forall \lambda,\psi \in \mathbb{R},\boldsymbol{x} \in \mathcal{V}\) : \(\lambda \cdot (\psi \cdot x) = (\lambda \psi) \cdot x\)
- 关于外部操作的单位元:\(\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}\) 逐元素相加
- 与标量相乘,记住\(\mathbb{R}^{m \times n}\)相当于\(\mathbb{R}^{mn}\)
- \(\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)表示
这样简化了向量运算的表示法。但是我们要区分 \(\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}\)的子空间,还需要确定
-
\(\mathcal{U} \neq \varnothing\),特别地,单位元 \(\boldsymbol{0} \in \mathcal{U}\)
-
\(U\)的封闭性:
-
关于外部操作:\(\forall \lambda \in \mathbb{R},\forall \boldsymbol{x} \in \mathcal{U}: \lambda \boldsymbol{x} \in \mathcal{U}\)
- 关于内部操作:\(\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}\)的解空间