======Vector Spaces====== LAFF Week 9 Notes ---- 本章重点大致有两点: * 通过高斯-约当方法的结果判定解的数量 * 集合、向量空间的相关概念 ====从多项式到方程解==== 先来看看下面的例子: \\ \\ 假设知道二次函数上三点:$(-2,-1),(0,2),(2,3)$,求该二次函数的具体表达式。 \\ \\ 按照中学的解法,二次多项式表示为 $p(x) = \gamma_0 + \gamma_1\chi +\gamma_2 \chi^2$。对于本例,只需要将上面的三点代入该二次多项式,就能够求得每一项对应的系数值。如果用行列式表达以上步骤,则有: \\ \\ $$ \displaystyle \begin{array}{cccc} p(−2) &=& γ_0 &+& γ_1(−2) &+& γ_2(−2)^2 &=&−1\\ p(0) &=& γ_0 &+& γ_1 (0) &+& γ_2(0)^2 &=& 2\\ p(2) &=& γ_0 &+& γ_1 (2) &+& γ_2 (2)^2 &= &3 \end{array} $$ \\ 接下来将上面的行列式改写成矩阵形式,并利用矩阵求系数: $$ \begin{pmatrix} 1 & -2 & 4\\ 1 & 0 & 0\\ 1 & 2 & 4 \end{pmatrix} \begin{pmatrix} \gamma_0 \\ \gamma_1 \\ \gamma_2 \end{pmatrix} = \begin{pmatrix} -1 \\ 2 \\ 3 \end{pmatrix} $$ 根据系数的值,可以得到最终的多项式为: \\ $$ p(\chi) = 2+ \chi + \frac{1}{4}\chi^2 $$ \\ ===向量观点下的多项式=== 现在我们从另外一个角度来看待这个多项式。如果将每一个系数对应的 $\chi$ 的部分作为一个单独的表达式,那么这个多项式实际上是三个部分组成: * 一个常数方程 * 一个一元一次方程 * 一个二元一次方程 这些基础的多项式被称之为父方程(//Parent funtions//)。 接下来我们希望对这三个父方程进行离散化(//Discretization//),也就是使用几个方程曲线上的点(本例是三个点)来表示父方程,然后用这些父方程再来表示目标多项式。 \\ \\ {{ math:linear_algebra:laff:week9-min_1_.png?250 |}} \\ \\ 通过将在 X 轴上的 ''-2'', ''0'', ''2''(也就是线性方程组中三个点的 X 坐标)代入到父方程中,就能完成这种表示。而这种表示方法又可以转化为下面形式的线性方程组: \\ \\ $$ \begin{array}{cccc} p(−2) &=& γ_0(-2)^0 &+& γ_1(−2)^1 &+& γ_2(−2)^2\\ p(0) &=& γ_0(0)^0 &+& γ_1 (0)^1 &+& γ_2(0)^2\\ p(2) &=& γ_0(2)^0 &+& γ_1 (2)^1 &+& γ_2 (2)^2 \end{array} $$ \\ 再将系数提出来: \\ \\ $$ \begin{pmatrix} p(−2)\\ p(0) \\ p(2) \end{pmatrix} = γ_0 \begin{pmatrix} (-2)^0\\ (0)^0 \\ (2)^0 \end{pmatrix} + γ_1 \begin{pmatrix} (-2)^1\\ (0)^0 \\ (2)^1 \end{pmatrix} + γ_2 \begin{pmatrix} (-2)^2\\ (0)^0 \\ (2)^2 \end{pmatrix} $$ \\ 最后将之前的已知的点代入到上面的式子里,就有: \\ \\ $$ \begin{pmatrix} -1\\ 2 \\ 3 \end{pmatrix} = γ_0 \begin{pmatrix} 1\\ 1\\ 1 \end{pmatrix} + γ_1 \begin{pmatrix} -2\\ 0 \\ 2 \end{pmatrix} + γ_2 \begin{pmatrix} 4\\ 0 \\ 4 \end{pmatrix} $$ \\ 从列方向来看,也就是每一个纵列对应了一个使用三点表示的父方程。而我们注意到每一个纵列都是一个**列向量**。因此,使用父方程的上的点表示目标多项式的问题,就转化为了如何使用上述的列向量表示目标多项式的问题。 \\ \\ 根据本例,这个问题就是通过什么样 $\gamma$ 的值,才能使代表 $\chi$ 的向量表示(组合为)目标多项式向量(这里是 $(-1,2,3)^T$)。 \\ \\ 在数学上,我们将通过一系列离散的点来求得范围内的新数据点的方法称为**插值**(//Interpolation//)。因此,对于多项式的插值,可以有如下两种解释: - 将多项式描述为一系列满足线性方程组的**点**的集合 - 将多项式描述为一个线性组合,该组合的向量(代表父方程)可以产生用于表示多项式的向量。 ===多项式的点与解=== 接下来让我们尝试往上述的多项式中添加新的点。 \\ \\ 先来尝试一个点 $(2,4)$。我们直接将该点代入到多项式的方程中,然后再写成如下矩阵的形式: \\ $$ \begin{pmatrix} 1 & -2 & 4\\ 1 & 0 & 0\\ 1 & 2 & 4\\ 1 & 4 & 16 \end{pmatrix} \begin{pmatrix} \gamma_0 \\ \gamma_1 \\ \gamma_2 \end{pmatrix} = \begin{pmatrix} -1 \\ 2 \\ 3 \\ 2 \end{pmatrix} $$ \\ \\ 按照矩阵的划分,上述的矩阵实际上可以划分为两部分: \\ $$ \begin{pmatrix} 1 & -2 & 4\\ 1 & 0 & 0\\ 1 & 2 & 4 \end{pmatrix} \begin{pmatrix} \gamma_0 \\ \gamma_1 \\ \gamma_2 \end{pmatrix} = \begin{pmatrix} -1 \\ 2 \\ 3 \end{pmatrix} \tag{1} $$ \\ $$ \begin{pmatrix} 1 & 4 & 16 \end{pmatrix} \begin{pmatrix} \gamma_0 \\ \gamma_1 \\ \gamma_2 \end{pmatrix} = \begin{pmatrix} 2 \end{pmatrix}\tag{2} $$ \\ 因为我们之间已经验证过了线性方程组 ''1'' 是成立的。那么现在只需要验证线性方程组 ''2'' 是否成立,就能得知添加的点是否在目标多项式的曲线上了。当然,方程组 ''2'' 是成立的。根据之前的信息来做一下总结: - 点 $(2,4)$ 可以表示多项式上的点。 - 点 $(2,4)$ 满足多项式的向量观点,即使用 $\gamma$ 与对应的向量组合出代表多项式的向量。 我们称这样满足多项式条件的点(无论从哪个观点来看)为多项式的**解**。如果通过线性组合的观点来看待是否有解无解,则就是看**某个线性组合是否能表示代表多项式向量**。 \\ \\ 鉴于线性组合与列向量的联系,我们可以通过讨论列向量来讨论方程的解的问题。 ====线性方程组:解的情况==== 线性方程组的解情况如下: * 无解 * 有解 * 有唯一解 * 有多个解 * 有无限解 ===解不唯一的例子=== \\ $$ \left( \begin{array}{r r r} 2 & -4 & -2 \\ -2 & 4 & 1 \\ 2 & -4 & 0 \end{array} \right) \left( \begin{array}{c} \chi _0 \\ \chi _1 \\ \chi _2 \\ \end{array} \right) = \left( \begin{array}{r} 4 \\ -3 \\ 2 \end{array} \right) $$ \\ 这个方程组有很多解:比如 $(1,0,-1)^T, (3,1,-1)^T, (-1,-1,-1)^T$ 等等。 \\ \\ ===方程组无解=== 把上面的方程组稍微改一改,就求不到解了: \\ \\ $$ \left( \begin{array}{r r r} 2 & -4 & -2 \\ -2 & 4 & 1 \\ 2 & -4 & 0 \end{array} \right) \left( \begin{array}{c} \chi _0 \\ \chi _1 \\ \chi _2 \\ \end{array} \right) = \left( \begin{array}{r} 4 \\ -3 \\ 3 \end{array} \right) $$ \\ 为什么?我们用高斯变换对其求解,然后在某一步发现了这样的情况: \\ $$ \left( \begin{array}{ccc|c} 2 & 2 & −2 & 0\\ 0 & −1 & 2 & 3\\ 0 & 0 & 0 & 1 \end{array} \right) $$ \\ 注意最后一行。我们在对角线上发现了 ''0''。因为是最后一行,我们也不能置换行来继续运算。而如果将上述结果与未知数 $\chi$ 结合在一起的话,就会得到一个挺好笑的等式: \\ $$ 0 = 1 $$ \\ 想象一下,我们要怎么取 $\chi_0, \chi_1$ 的值,才能使 $ 0 = 1$? Never。因此,我们可以判断,该方程无解。 >If Gaussian elimination (with row exchanges) or Gauss-Jordan (with row exchanges) introduces an **inconsistent equation** ($0 \neq 0$), the system** has no solution**. ===方程组有很多解=== 来看看下面的例子: \\ $$ \left( \begin{array}{c c c|c} 2 & 2 & -2 & 0\\ -2 & -3 & 4 & 3\\ 4 & 3 & -2 & 3 \end{array} \right) $$ \\ 使用高斯-约当方法消元后,我们能得到如下的结果: \\ $$ \left( \begin{array}{c c c|c} 1 & 0 & 1 & 3\\ 0 & 1 & -2 & 3\\ 0 & 0 & 0& 0 \end{array} \right) $$ 注意看最后一行的等式: $$ 0 = 0 $$ 这是个恒等式!因此,不管 $\chi_2$ 取什么值,都不会影响这个等式。我们将 $\chi_2$ 这样的变量,称为**自由变量**(//Free variable//),而将 $\chi_0,\chi_1$ 这种受到等式约束的变量,称为**因变量**(//Dependent variable//)。由上述得知,要知道$\chi_0,\chi_1$ 的值有什么限制,只能从前两个等式入手了。 \\ \\ 因为 $\chi_2$ 不影响第三行恒等式的成立,因此 $\chi_2$ 取什么值都可以。不妨设 $\chi_2 = \beta$,将之前高斯-约当变换得到的结果与 $\chi$ 组合在一起,则有: \\ \\ $$ \begin{array}{r r r} χ_0 + χ_2 = 3\\ χ_1 − 2χ_2 = −3\\ χ_2 = β \end{array} $$ \\ 将 $\beta$ 带入第一个和第二个等式,并挪到等式右边: \\ $$ χ_0 = 3 − β\\ χ_1 = −3 + 2β\\ χ_2 = β $$ \\ 将上面的结果写成向量的形式,则有: \\ $$ \left( \begin{array}{r} \chi_0 \\ \chi_1 \\ \chi_2 \end{array} \right) = \left( \begin{array}{r} 3 \\ -3 \\ 0 \end{array} \right) + \beta \left( \begin{array}{r} -1 \\ 2 \\ 1 \end{array} \right) $$ \\ 我们将上面这种向量形式的结果称为 **//General solution//**。来看看为什么这么叫: - 将上式中的 $(3,-3,0)^T$ 代入到本小节开头的 append matrix 中,结果正好是 $(0,3,3)^T$ - 将上式中的 $(-1,2,1)^T$ 代入同样的矩阵乘法中,结果正好是 $(0,0,0)^T$ 这就意味着,我们可以将矩阵乘法的解,按照不同的功能,分成两个部分: * 第一部分(不含 $\beta$)给出了方程正确的解 * 第二部分(含 $\beta$)将方程映射到了 $0$ 因为含 $\beta$ 部分的向量,永远都将矩阵映射到 ''0'' 向量,因此无论 $\beta$ 有什么样的值,都不会影响该方程组的解。基于 $\beta$ 的无限取值范围,我们认定这样的方程组有**无限多个解**。 > If Gaussian Elimination or Gauss-Jordan elimination breaks down without introducing an inconsistent equation ($0=0$),then an **infinite number of solutions** exist. ===求解的一般过程=== 我们将之前学到的向量形式做如下的拆分: /*前提*/ 令 AXs = b, AXn = 0 也就是: Xs 为 Ax = b 的特殊解 Xn 为 mapping A 到 0 的向量 /*只有特殊解*/ 对 A(Xs+Xn),有: A(Xs+Xn) = AXs = b /*无限多解*/ A(Xs + βXn) = AXs + β*AXn = b 因此,求解的过程大致如下: * 首先通过 $A\chi_s = b$ 找到特殊解 * 如果有需要,再通过 $A\chi_n = 0$ 求出方程组的一般解形式 在求解的过程中有几个关键点: * 可以通过批量求解的方式将 b 和 0 组合到一起进行高斯(高斯-约当)变换 * 当存在无限多解的情况下: * 当求特殊解的时候,令 $\chi = 0$ 是个很方便的选择($\chi$ 指自由变量) * 当求一般解的时候,令 $\chi = 1$ 是个很方便的选择 ====集合 Set==== ===Notation=== /*concepts of set*/ Set: a collection of distinct objects objects: the elements of the set /*notations*/ x ∈ S // x 是 集合 S 的元素 {x,y,z} // S contains x,y,z, order doesn't matter |S| // size of S, 不同元素的数量 S ⊂ T // S is a subset of T S ⊂ T ⇔ (x ∈ S ⇒ x ∈ T) //子集的元素也是父集的元素 常用的集合有:整数集 $\mathbb{Z}$、实数集 $\mathbb{R}$。线性代数中主要讨论的是 $n$ 维空间,也就是 $n$ 维向量组成的集合,记做 $\mathbb{R}^n$。 ===Operation=== S ∪ T //并集 Union,{x| x ∈ S ∨ x ∈ T} S ∩ T //交集 Intersection, {x| x ∈ S ∧ x ∈ T} T \ S //complement , {x| x ∉ S ∧ x ∈ T} ====Vector Space==== ===什么是向量空间=== **向量空间**(//Vector Space//)是由无限多个向量组成的集合的**子集**。也就是说,我们可以使用向量空间中的向量来**描述无限多的向量**(\mathbb{R}^n)。向量空间有如下的性质: * 0 向量(n 维)属于向量空间 * 如果 向量 $v, w$ 属于向量空间,那么 $(v+w)$ 也属于向量空间 * 如果 $a \in R$,$v$ 属于向量空间,那么 $av$ 属于向量空间 也就是说,一切向量都可以使用向量空间中的向量,通过**相加**或**数乘**的方式得到。这两种操作属于**初等变换**(//Elementary Transformation//)的一部分。 ===Subspace=== 子空间的判断是通过向量空间的性质来判定的。 ==实例== 下列 $\mathbb{R}^3$ 的子集是否是向量空间? \\ $$ \left\{ x \left\vert x = \left( \begin{array}{c} 0 \\ \chi _1 \\ \chi _2 \end{array} \right) \right. \right\} $$ **详细解答:** \\ \\ **1. 判断该空间是否包含同维的零向量。** \\ \\ 我们观察到 $\chi_1,\chi_2$ 同时为 0 的时候 $x$ 为零向量,因此零向量属于该子空间。 \\ \\ **2. 判断 $x+y$ 是否属于子空间**。 \\ \\ 令 $x = \left( \begin{array}{c} 0 \\ \chi _1 \\ \chi _2 \end{array} \right), y = \left( \begin{array}{c} 0 \\ \psi _1 \\ \psi _2 \end{array} \right)$。我们观察到: \\ $$ x + y = \left( \begin{array}{c} 0 \\ \chi _1 + \psi _1 \\ \chi _2 + \psi _2 \end{array} \right) $$ \\ 我们发现 $x +y $ 得到的结果和 $x,y$ 的形式是一样的, $x,y$ 所属子空间是由向量形式像 $x,y$ 一样的向量组成的,既然$x+y$ 可以表示为这样形式的向量,那么 $x+y$ 也是属于该子空间的。 \\ \\ **3.判断 $ax$ 是否属于子空间。** \\ $$ \alpha x = \left( \begin{array}{c} 0 \\ \alpha \chi _1 \\ \alpha \chi _2 \end{array} \right) $$ \\ 证明 $ax$ 同样属于子空间。 ===The Column Space=== 在说明什么是**列空间**(//Column Space//)之前,我们先来看一个特殊的子空间:$\{Ax | x \in \mathbb{R}^n \}$。通过如下的证明很容易明白这是一个子空间: * 令 $x=0$,有$Ax=0$ * $A(x+y) = Ax + Ay$ * $A(ax) = aAx$ 为什么要提出这个子空间?我们之前一直在研究的是 $Ax=b$; 因此,$\{Ax | x \in \mathbb{R}^n \}$ 实际上就是所有 $b$ 的集合。因此,只要 $Ax$ 是**有解**的,那么 $b$ 必定属于 $\{Ax | x \in \mathbb{R}^n \}$ 这个子空间。而我们将这个子空间,称为 $A$ 的**列空间**,记做$\mathcal{C}(A)$。正式的定义如下: >Let $A ∈ \mathbb{R}^{m×n}$. Then **the column space** of $A$ equals the set $\{Ax | x ∈ \mathbb{R}^n\}$. 上述列空间的重要性质定义如下: >Let $A ∈ \mathbb{R}^{m×n}$, $x ∈ \mathbb{R}^n$, and $b ∈ \mathbb{R}^m$. Then $Ax = b$ has a solution if and only if $b ∈ \mathcal{C}(A)$ \\ \\ 为什么要叫列空间呢?以列观点看待 $Ax=b$ ,就可以知道 $Ax$ 实际上就是 $A$ 中的**列**与 $x$ 中的分量组成的**线性组合**。 ===The Null Space=== 在之前的内容中,我们将线性方程组 $Ax=b$ 的通用解的形式表示成了两个部分:特殊解 $X_s$,mapping to 0 的部分 $X_n$。当 $Ax=0$ 的时候我们知道方程组是有无穷多解的。也就是说,$Ax=0$ 的解是一个由无穷多向量组成的集合。我们将这个集合称为**零空间**(//The Null Space//),记做$\mathcal{N}(A)$来看一下正式的定义: >Let $A ∈ \mathbb{R}^m×n$. Then the set of all vectors $x ∈ \mathbb{R}^n $ that have the property that $Ax = 0$ is called the **null space** of $A$ and is denoted by $\mathcal{N}(A) = \{x|Ax = 0\}.$ ====Span and more==== ===Span=== **张成空间**(//Span//)的概念非常简单: * //Span// 是一个 Set * Set 里面都是由 //Span// 指定的**向量**通过**线性变换**(初等变换)产生的新向量 我们知道: - 矩阵可以描述成列向量的**集合** - 矩阵与向量的乘积可以描述为**线性组合** - 矩阵与向量乘积的集合可以描述为**列空间** 因此我们可以得出一个结论://Span// 就是其指定向量集合(矩阵)的列空间。 \\ \\ ===Linear Independence=== //Span// 的概念告诉我们,我们可以通过有限个向量的组合,描述出一个包含无限向量的子空间的。因此,我们很有必要找出哪些向量是描述空间必要的向量。来看一个下面的例子: \\ \\ $$ {\rm Span}\left( \left( \begin{array}{r} 1 \\ 0 \\ 1 \end{array} \right) , \left( \begin{array}{r} 0 \\ 0 \\ 1 \end{array} \right) \right) = {\rm Span}\left( \left( \begin{array}{r} 1 \\ 0 \\ 1 \end{array} \right) , \left( \begin{array}{r} 0 \\ 0 \\ 1 \end{array} \right) , \left( \begin{array}{r} 1 \\ 0 \\ 3 \end{array} \right) \right) $$ \\ 这两个张成空间实际上是等价的;因为我们可以使用向量 $\left( \begin{array}{r} 1 \\ 0 \\ 1 \end{array} \right)$ 和 $\left( \begin{array}{r} 0 \\ 0 \\ 1 \end{array} \right)$ 通过初等变换组合出向量 $\left( \begin{array}{r} 1 \\ 0 \\ 3 \end{array} \right)$。那么很显然如果要描述上述的空间,$\left( \begin{array}{r} 1 \\ 0 \\ 3 \end{array} \right)$ 就是不必要的一个向量了。 \\ \\ 那么要怎么样表示“//用于表示某个空间的集合中,每一个向量都是不可缺少的呢//”?这就是我们要谈到的**线性无关**(//Linear Independent//)。先来看看定义: >Let $\{v_0,..., v_{n−1}\} ⊂ \mathbb{R}^m$. Then this set of vectors is said to be **linearly independent** if $χ_0v_0 + χ_1v_1 + ··· +χ_{n−1}v_{n−1} = 0$ implies that $χ_0 = ··· = χ_{n−1} = 0$. \\ \\ 如果某个向量组不是线性无关的,那么它就是**线性相关**(//Linear dependent//)的。 为什么要这么定义?我们来反证一下: \\ \\ 假设 $\{ a_0, a_1 , \ldots , a_{n-1} \} \subset \mathbb {R}^ m$ 这个集合线性相关。那么必然存在一个向量组 $\chi _0, \chi _1, \ldots , \chi _{n-1} \in \mathbb {R}$,使得 $\chi _0 a_0 + \chi _1 a_1 + \cdots + \chi _{n-1} a_{n-1} = 0$ 至少存在一个元素 $X_j \neq 0$(线性无关的条件是所有 $X$ 都必须等于 0)。因此,我们将 $X_ja_j$ 放到上述等式的右边,则有: \\ $$\chi _ j a_ j = - {\chi _0} a_0 + - {\chi _1} a_1 - \cdots - {\chi _{j-1}} a_{j-1} - {\chi _{j+1}} a_{j+1} - \cdots - {\chi _{n-1}} a_{n-1} $$ \\ 因为 $X_j$ 不为 0,两边同时除以 $X_j$,则有: \\ $$ a_ j = - \frac{\chi _0}{\chi _ j} a_0 + - \frac{\chi _1}{\chi _ j} a_1 - \cdots - \frac{\chi _{j-1}}{\chi _ j} a_{j-1} - \frac{\chi _{j+1}}{\chi _ j} a_{j+1} - \cdots - \frac{\chi _{n-1}}{\chi _ j} a_{n-1} . $$ \\ 这就意味着,在给定的集合中,至少有一个向量可以用别的向量表示。那么反过来,如果要保证所有的向量不能互相表示,则需要满足线性无关的定义。 ==线性无关与零空间== 线性无关与零空间有以下的关系: >Let $\{a0,...,a_{n−1}\} ⊂ \mathbb{R}^m$ and let $A = (a_0|\cdots|a_{n-1})$. Then the vectors $\{a_0,...,a_{n−1}\}$ are **linearly independent** if and only if $\mathcal{N} (A) = {0}$. \\ \\ 简易的证明: /*充分性*/ 假设 {a0...an-1} 是线性无关的 令 x ∈ N(A) Ax = 0 ⇒ 线性组合中所有系数 $\chi$ 都为 0 //线性无关的定义 因此 x = 0 因此 N(A) = 0 //因为 Ax 只能得到 0 /*必要性(反证)*/ 假设 {a0...an-1} 线性相关 那么必然存在 {X0...Xn-1} 至少有一个元素 Xj ≠ 0 令 Ax = 0,则Xj ∈ N(A) 因此 N(A) ≠ 0 通过上述的定理,可以得出的结论有: * 单位矩阵线性无关 * 三角矩阵线性无关 === Basis for Subspaces=== 首先看概念。**基**(//Basis//)指的是一个**线性无关的向量组里包含的所有向量**。 \\ \\ 这个定义很形象,因为线性无关的向量组中每一个向量都是独一无二的,而通过他们的组合能得到表示整个空间的向量。因此,可以将线性无关向量组里的向量想象成建造空间的**基石**,相信这也是基这个概念的由来吧。 ==基的个数不超过空间的维度== 这是一个很有用的推论: >Let $S ⊂ \mathbb{R}^m$. Then $S$ contains at most $m$ linearly independent vectors. 证明过程: /*反证*/ 假设 S 包含的线性无关的向量大于 m 则可知 S 至少包含 m+1 线性无关的向量 那么 S 的向量组可以写成:{v0, v1,..., vm−1, vm}. 令 V = (v0 | v1| ... | vm−1 | vm) 因此该矩阵 V 是一个 m * (m + 1) 的矩阵 因此,该矩阵代表的行列式中,未知数的数量(m+1)大于关系的数量 m 那么至少有一个未知数是不确定的 因此,线性方程组存在无穷多个解 也就是说,可以找出一个非 0 的解 Xn,使得 VXn = 0 这与 {v0, v1,..., vm−1, vm} 线性无关的定义矛盾 得证 ==非平凡子空间一定有基== 这个定理是上面的推论,具体的说应该是: >若存在**非平凡子空间** $S \in \mathbb{R}^m$,则必定存在一组**数量有限的**基 $\{ v_0, v_1, \ldots , v_{n-1} \} \subset \mathbb {R}^ m$,使得 $Span\{ v_0, v_1, \ldots , v_{n-1} \} = S$ 非平凡子空间(//Non-trivial Space//)指该子空间不仅仅由零向量组成。 证明过程: 首先由 5.31 的推论得知, n ≤ m 令 S 为非平凡子空间 ∴ S 包含至少一个非零向量 令 v0 为该向量 ∴ Span(v0) 不为空且 S\Span(v0) 不为空 //某些向量不在 Span(v0) 中,但是在 S 中。因为 Span(v0) 只是由 v0 张成的空间, S 里面可能还会有 v1 v2 v3 等等。 我们接着往 Span 中添加 S 中不属于 Span 的向量,比如 Span(v0) ⇒ Span(v0,v1) ∴ 添加一次,Span 就能 表示更多 S 中的向量 按此循环下去,由于 S 中的向量有限,所以可以循环到 S 的向量取空的一天 ∴ 最终 Span 可以完全表示 S ∴ 肯定存在一组基使得 Span 可以完全表示 S ===子空间的维度 / Rank=== 根据 5.3.2 的推论,每个平凡子空间都存在一组基可以表示其自身。显而易见的是,**基并不是唯一的**(比如我们可以给所有基乘上一个常数,这些基依然可以表示子空间内所有向量)。但**基的数量一定是固定的**。而基的数量,我们就称为**子空间的维度**,也称为子空间的**秩**(//Rank//)。来看下正式的定义: > Let $S$ be a subspace of $\mathbb{R}^m$ and let $\{v_0, v_1,···, v_{n−1}\} ⊂ \mathbb{R}^m$ and $\{w_0,w_1,···,w_{k−1}\} ⊂ \mathbb{R}^m$ both be bases for $S$. Then $k = n$. In other words, **the number of vectors in a basis is unique. ** 证明过程: /*反证*/ 令 k > n 令 V = (v0 | v1| ... | vn−1) 令 W = (w0 | w1| ... | wk−1) 令 X = (x0 | x1| ... | xk−1)^T ∴ 存在 wj = Vxj // V 张成了 S,W 属于 S,因此一定能找到用 v 表示 w 的方法,也就是 V 和 X(系数) 的线性组合表示 W ∴ W = VX 为了匹配 V 的列数 n,X 中每个向量的大小也应该是 n 所以 X 是一个 n*k 的矩阵 因为 k > n ∴ 如果将 X 视作线性方程组,那么 X 有无穷多解 也就是 N(X) 中存在不等于 0 的向量 y ∴ Wy = VXy = V(Xy) = V(0) = 0 W 中必定含有非零的向量 这与 W 是子空间 S 的基矛盾 //基必须是线性无关的向量组 得证 ====相关资料==== * 非 SVG 图来源于 LAFF * [[http://www.cs.utexas.edu/users/flame/LAFF/Notes/Week9.pdf#page=31|本章 PDF]]