线性代数09-线性无关,基和维数
Linear Algebra-线性无关,基和维数-09
引言
在上一篇文章中,我们认识了向量空间和子空间这两个重要概念,也知道了矩阵天然对应着两个子空间——列空间和零空间。但要真正描述清楚一个子空间的”大小”和”结构”,我们还需要几个更深入的核心概念:线性无关、基和维数。
本文我们就来一步步解开这些概念:向量的线性无关到底意味着什么?如何用线性无关来描述子空间?又如何量化一个空间的大小?让我们开始吧。
线性无关(Linear Independence)
我们先从一个大家已经熟悉的结论入手:对于 $m \times n$ 矩阵 $A$,如果 $m < n$,也就是未知数个数多于方程数,那么 $A$ 中至少存在一个自由变量,因此 $Ax=0$ 一定有非零解。
这意味着什么呢?这说明 $A$ 的列向量可以通过非零的线性组合得到零向量,所以 $A$ 的列向量是线性相关的。
那么反过来,究竟什么是线性无关呢?我们给出严格定义:
对于一组向量 $x_1,x_2,…,x_n$,若方程:
只有当 $c_1=c_2=…=c_n=0$ 时才成立,则称 $x_1,x_2,…,x_n$ 是线性无关的。
这个定义可以转换成几种等价表述,方便我们在不同场景下使用:
- 如果把这些向量作为列向量构成矩阵 $A$,那么线性无关等价于:方程 $Ax=0$ 只有零解 $x=0$
- 换句话说,矩阵 $A$ 的零空间 只有零向量
- 反之,如果存在非零向量 $c$ 使得 $Ac=0$,那么矩阵 $A$ 的列向量就是线性相关的
让我们用几何直观来加深理解:
- 在 $R^2$ 空间中,两个向量只要不在同一条直线上,它们就是线性无关的
- 在 $R^3$ 空间中,三个向量线性无关的条件是:它们不在同一个平面上
一个有趣的推论是:在 $R^2$ 空间中任选三个向量,它们必然是线性相关的。比如:
这个 2×3 矩阵满足 $m < n$,方程 $Ax=0$ 必有非零解,所以三个列向量一定线性相关。这个结论其实可以推广到一般情况:在n维空间中,任意 n+1 个向量必然线性相关。
现在,我们可以把线性无关和之前学的”秩”这个概念直接联系起来:
- 如果矩阵 $A$ 的列向量线性无关,则 $A$ 的所有列都是主元列,没有自由列,矩阵的秩就是 $n$
- 如果矩阵 $A$ 的列向量线性相关,则矩阵的秩小于 $n$,并且一定存在自由列
这个关系太重要了——它把抽象的线性无关概念,直接落地到我们熟悉的矩阵消元和主元计数上,让我们有了可操作的判断方法。
张成空间(Spanning Space)
讲完线性无关,我们再来看另一个基础概念——张成空间。
当一个空间是由向量 $v_1,v_2,…,v_k$ 的所有线性组合组成时,我们称这些向量张成了这个空间。
其实我们早就接触过张成空间了——矩阵的列向量就张成了该矩阵的列空间,这正是我们对列空间的定义。
关于张成空间,有一个关键性质需要记住:
如果向量 $v_1,v_2,…,v_k$ 张成空间 $S$,那么 $S$ 就是包含这些向量的最小空间。
换句话说,因为向量空间对线性组合封闭,所以任何包含这组向量的空间都必须包含它们所有的线性组合,因此最小的那个就是它们张成的空间 $S$。这个定义既优雅又严谨。
基与维数(Basis and Dimension)
现在我们可以引入线性代数中最核心的概念之一——基。
向量空间的基是同时满足如下两个性质的一组向量 $v_1,v_2,…,v_d$:
- $v_1,v_2,…,v_d$ 线性无关
- $v_1,v_2,…,v_d$ 张成该向量空间
可以这么理解:空间的基就像是空间的一套”坐标系”,空间中的任何向量都可以唯一地表示为基向量的线性组合。所以说,一组基告诉我们关于这个空间的一切信息。
我们来看最简单也最经典的例子——$R^3$ 空间的标准基:
我们来验证一下它为什么是基:
首先,考虑方程:
左边展开就是 $\begin{bmatrix}c_1 \ c_2 \ c_3\end{bmatrix} = \begin{bmatrix}0 \ 0 \ 0\end{bmatrix}$,显然只有零解 $c_1=c_2=c_3=0$,所以它们线性无关。
其次,任何 $R^3$ 中的向量都可以写成 $\begin{bmatrix}x \ y \ z\end{bmatrix} = x\begin{bmatrix}1\0\0\end{bmatrix} + y\begin{bmatrix}0\1\0\end{bmatrix} + z\begin{bmatrix}0\0\1\end{bmatrix}$,所以它们确实张成了整个 $R^3$ 空间。
两个条件都满足,所以这确实是一组基。
再来看一个反例:下面这三个向量能不能构成 $R^3$ 的一组基呢?
答案是不能。为什么?因为以它们为列向量组成的矩阵,第一行和第二行分别是 $[1,2,3]$ 和 $[1,2,5]$,但第一列和第二列的第一个分量都是 $1$ 和 $2$,第三行又是第一行的重复,消元之后肯定会产生自由列,因此这三个向量线性相关,自然不能构成基。
这里分享一个非常实用的小技巧:当判定线性相关性时,可以随时在矩阵、空间和方程组的概念之间切换,哪个判据更容易就用哪个。在这个例子中,因为有两行重复,矩阵显然不可逆,这个判断就比其他方法来得更快。从这里也能得到一个结论:如果矩阵的行向量线性相关,那么它的列向量不可能线性无关。
关于 $R^n$ 空间中的基,我们有一个非常重要的判定定理:
若 $R^n$ 空间中的 $n$ 个向量为列向量构成的矩阵是可逆矩阵,则这些向量可以构成 $R^n$ 空间中的一组基。
记住这个结论,后面会经常用到。
子空间的基(Basis for a subspace)
刚才我们讨论的是整个空间 $R^n$ 的基,但在实际应用中,我们更关心的其实是子空间的基。
比如,向量:
它们张成了 $R^3$ 中的一个平面,这确实是 $R^3$ 的一个子空间,但它们无法成为 $R^3$ 空间的一组基——很简单,两个向量不可能撑得起一个三维空间。
这里我们得到了线性代数中另一个深刻的结论:
空间的每一组基都具有相同数量的向量,这个固定的数量就是空间的维数(dimension)。
所以,$R^n$ 空间的每组基都必然包含 $n$ 个向量,$R^n$ 的维数就是 $n$,这完全符合我们的直觉。
这个结论非常重要——维数是空间的固有属性,和你选哪一组基无关,基可以有很多组,但它们的大小一定相同。
列空间和零空间的基(Basis of a column space and nullspace)
说了这么多抽象概念,让我们用一个具体的例子亲手实践一下,看看如何找出矩阵的列空间和零空间的基。
给定矩阵:
我们先来找列空间的基。矩阵 $A$ 有四个列向量,它们张成了列空间 $C(A)$。通过观察我们很容易发现线性相关性:
- 第3列正好是第1列加第2列:$1+2=3$,$1+1=2$,$1+2=3$,完全匹配
- 第4列和第1列完全相同
而前两个列向量显然线性无关,不可能互相表示。因此,前两列就是主元列,它们本身就构成了列空间 $C(A)$ 的一组基。所以矩阵的秩 $r = 2$,列空间的维数也是 2。
从这个例子,我们可以总结出一个贯穿始终的重要结论:
对于任何矩阵 $A$:矩阵的秩 $r$ = 主元列的数目 = 列空间的维数
这里一定要注意一个容易混淆的概念区分:
矩阵说的是秩(rank),不说维数;空间说的是维数(dimension),不说秩。
秩是矩阵的属性,维数是空间的属性,不要搞混了。
另外,基并不是唯一的。当我们知道了列空间的维数是 $r$,只要从矩阵列向量中随意选出 $r$ 个线性无关的向量,它们就能构成列空间的一组基。主元列只是其中一组特别容易找到的基而已,不是说只能选主元列。
再看零空间的基
接下来我们看看同一个例子的零空间 $N(A)$。
因为矩阵 $A$ 的列向量不是线性无关的,所以零空间不只有零向量,它的维数大于零。
我们已经知道第3列就是第1列加第2列,这个关系可以写成:
这说明什么?这说明 $x = \begin{bmatrix}-1\-1\1\0\end{bmatrix}$ 就满足 $Ax = 0$,所以这个向量必然在零空间 $N(A)$ 之内。
同样,我们处理第4列的时候,可以对 $x_4$ 赋值为 $1$,通过解方程就能得到 $x = \begin{bmatrix}-1\0\0\1\end{bmatrix}$,这个向量也满足 $Ax = 0$,所以它也在零空间里。
这两个向量就是我们在求解 $Ax = 0$ 过程中得到的两个特解,它们满足:
- 线性无关(一个在第三个分量有1,一个在第四个分量有1,不可能互相线性表示)
- 它们的所有线性组合正好覆盖整个零空间
所以,这两个特解就构成了零空间的一组基。
那么零空间的维数怎么算?结论也很漂亮:
零空间的维数 = 自由列的数目 = $n - r$
在我们这个例子中,矩阵 $A$ 有 $n = 4$ 列,秩 $r = 2$,所以零空间的维数就是 $4 - 2 = 2$,正好和我们找到两个基向量对应得上,完美。
我们可以用一张流程图来总结找基和计算维数的完整过程:
flowchart LR
A[输入矩阵 A] --> B[消元得到行阶梯形]
B --> C[统计主元列<br>统计自由列]
C --> D[原矩阵中对应主元位置的列<br>就是列空间的一组基]
D --> E[列空间维数 = r = 主元列数]
C --> F[对每个自由列<br>依次令对应自由变量为1<br>其他自由变量为0<br>求解得到特解]
F --> G[所有特解<br>就是零空间的一组基]
G --> H[零空间维数 = n - r = 自由列数]
总结
今天我们学习了线性代数描述空间结构的三个核心概念,它们之间的关系可以用两个非常简洁的等式总结:
- 矩阵的秩 r = 主元列的数目 = 列空间的维数
- 零空间的维数 = 自由变量的数目 = n - r
从线性无关到张成空间,再到基和维数,这一串概念层层递进,最终给了我们一套完整描述向量空间结构的工具:
- 基告诉你用哪些”基本构件”可以组合出空间中所有的向量
- 维数告诉你这个空间到底”有多大”
这些概念是理解线性代数中空间结构的基础,在后续讨论秩、逆矩阵和子空间投影时,我们会反复用到它们。掌握了这些,你对线性代数的理解就会上一个新台阶。



