子空间、张成、线性无关、基与维数
前几章已经把线性方程组写成了矩阵方程 Ax=b,也看见了矩阵乘法的列视角:Ax 是矩阵 A 的列向量按 x 中的系数组合出来的向量。本章把这件事说得更精确:列向量能组合出的全部结果形成一个空间;齐次方程 Ax=0 的全部解也形成一个空间。
这些空间不是随便的一堆点。它们有稳定的结构,可以用少量方向描述,可以换一套方向表示同一个空间,也可以用一个不变的数记录自由方向的多少。这里出现的四个词会反复陪着我们走完整门课:子空间、张成、线性无关、基与维数。

子空间必须同时满足包含零向量、加法封闭和数乘封闭;任一条件不满足就不是子空间。
从方程组走向空间
看一个矩阵方程:
Ax=b
如果 A 的列向量是 a1,a2,…,an,未知数是 x1,x2,…,xn,那么左边就是:
Ax=x1a1+x2a2+⋯+xnan
所以“方程是否有解”可以换成一句向量语言:b 能不能由 A 的列向量线性组合得到。列向量能组合出的全部向量,就是 A 的列空间。

方程组 Ax=b 是否有解,取决于右端向量 b 是否位于矩阵 A 的列空间中。
本章的概念看起来抽象,其实都在回答同一个问题:给定几根向量,它们能覆盖哪里,里面有没有多余方向,最少需要几根方向才能描述整个空间。
另一个常见对象是齐次方程:
Ax=0
它的解集叫零空间。零空间中的每个向量都是一个系数组合方案,它让 A 的列向量相互抵消,最后得到零向量。列空间住在输出空间里,零空间住在输入空间里;它们都和同一个矩阵有关。
子空间
定义
一个集合 W 如果是 Rn 的一部分,并且满足下面三个条件,就叫 Rn 的子空间:
- 零向量在 W 中。
- 如果 u 和 v 在 W 中,那么 u+v 也在 W 中。
- 如果 u 在 W 中,c 是任意实数,那么 cu 也在 W 中。
第二个条件叫加法封闭,第三个条件叫数乘封闭。封闭的意思是:你在集合内部做允许的线性操作,结果不会跑出集合。
子空间一定经过原点。因为零向量必须在里面,数乘还要求一个向量可以被任意放大、缩小、反向。三维空间中不过原点的平面可以很平整,但它不是子空间。
常见例子
在 R2 中,过原点的一条直线是子空间。任取直线上的两个向量,它们的和还在这条直线上;任取一个向量乘任意实数,也还在这条直线上。
在 R3 中,过原点的一个平面是子空间。平面内两个向量相加仍在平面内,平面内向量被数乘后仍在平面内。
整个 Rn 是自己的子空间,只包含零向量的集合 {0} 也是子空间。
非例子
下面这些集合都不是子空间:
- R2 中不过原点的直线。
- R2 中第一象限的点集。
- R2 中单位圆上的点。
第一种不包含零向量。第二种虽然包含零向量,也可能对加法封闭,但不对负数数乘封闭,例如 (1,1) 在第一象限,−1(1,1)=(−1,−1) 不在第一象限。第三种通常连加法和数乘都不封闭。
例题:判断集合是否为子空间
判断下面的集合是否是 R3 的子空间:
W={(x,y,z)∈R3:x+y+z=0}
先检查零向量。把 (0,0,0) 代入条件,得到 0+0+0=0,所以零向量在 W 中。
再检查加法封闭。设 u=(x1,y1,z1) 和 v=(x2,y2,z2) 都在 W 中,则 x1+y1+z1=0 且 x2+y2+z2=0。它们相加后得到 u+v=(x1+x2,y1+y2,z1+z2)。
把 u+v 代入条件,得到:
(x1+x2)+(y1+y2)+(z1+z2)=0+0=0所以 u+v 仍在 W 中。
最后检查数乘封闭。若 u=(x,y,z) 在 W 中,则 x+y+z=0。对任意实数 c,有:
cx+cy+cz=c(x+y+z)=0因此 cu 仍在 W 中。
三个条件都满足,所以 W 是 R3 的子空间。几何上,它是过原点的一个平面。
张成
线性组合的全部结果
给定向量 v1,v2,…,vk,它们的张成记作:
span(v1,v2,…,vk)
意思是所有线性组合的集合:
span(v1,v2,…,vk)={c1v1+c2v2+⋯+ckvk:c1,c2,…,ck∈R}
张成关心的是“这些向量能覆盖哪些向量”。一根非零向量张成过原点的一条直线;两根不共线向量在 R3 中张成过原点的一个平面;三根合适的向量可以张成整个 R3。

两个不共线向量 v 和 w 的所有线性组合 av+bw 构成一个过原点的平面。
张成本身总是子空间
由一组向量张成的集合一定是子空间。原因很直接:线性组合之间相加,仍然是这些向量的线性组合;线性组合再乘一个实数,也仍然是这些向量的线性组合。
如果:
u=c1v1+⋯+ckvk
并且:
w=d1v1+⋯+dkvk
那么:
u+w=(c1+d1)v1+⋯+(ck+dk)vk
这还是同一组向量的线性组合。
例题:描述两个向量的张成
设:
v1=120,v2=011
描述 span(v1,v2) 中的向量。
先写出一般线性组合:
av1+bv2=a120+b011合并坐标,得到:
av1+bv2=a2a+bb因此张成中的每个向量都长成 (a,2a+b,b)。如果记 x=a、z=b,那么中间坐标满足:
y=2x+z所以 span(v1,v2) 是 R3 中过原点的平面:
y−2x−z=0
线性无关
有没有多余向量
一组向量 v1,v2,…,vk 线性无关,意思是只有一种方式能把它们线性组合成零向量:所有系数都等于 0。
c1v1+c2v2+⋯+ckvk=0
只能推出:
c1=c2=⋯=ck=0
如果存在不全为 0 的系数,也能组合出零向量,那么这组向量线性相关。

线性无关表示没有多余方向;线性相关表示某个向量可以由其他向量线性合成。
线性相关还有一个很实用的解释:其中至少有一个向量可以由其他向量线性组合得到。也就是说,它没有带来新的方向。
判断线性无关时,不要只看向量数量,也不要只看图形是否“分散”。可靠方法是设线性组合等于零向量,再解系数是否只能全为零。
例题:用方程判断线性无关
判断下面两向量是否线性无关:
v1=[12],v2=[36]
设它们的线性组合等于零向量:
c1[12]+c2[36]=[00]写成方程组:
{c1+3c2=02c1+6c2=0第二个方程只是第一个方程的两倍,所以有无穷多组解。例如取 c2=1,则 c1=−3。
于是存在不全为零的系数,使得:
−3v1+v2=0所以这两向量线性相关。几何上,v2=3v1,它们在同一条过原点的直线上。
基
既要覆盖,也不能多余
如果一组向量满足两件事,它就是某个空间 V 的一组基:
- 它们张成 V。
- 它们线性无关。
张成保证“够用”,线性无关保证“没有多余”。这两条合在一起,基就成了描述一个空间的最小可靠坐标框架。
基不是唯一的。二维平面可以用横平竖直的两根方向当基,也可以用两根斜着的、不共线的方向当基。只要能张成整个平面并且线性无关,它们都是基。
在 R2 中,标准基是:
e1=[10],e2=[01]
它们张成整个 R2,也线性无关。另一组向量:
u1=[11],u2=[1−1]
同样是 R2 的一组基。它们不是标准方向,但仍然能唯一表示平面中的每个向量。
坐标依赖于基
同一个向量,在不同基下的坐标可能不同。例如:
p=[42]
在标准基下,坐标就是 (4,2)。但若使用:
u1=[11],u2=[1−1]
我们要找 a,b,使:
p=au1+bu2
也就是:
[42]=a[11]+b[1−1]=[a+ba−b]
解得:
a=3,b=1
所以同一个向量 p 在基 (u1,u2) 下的坐标是 (3,1)。

基与坐标:不同基下坐标表示会改变,但向量本身不变。
维数
维数是一个空间中基向量的个数。如果一个空间的一组基有 k 个向量,那么这个空间的维数就是 k。
这句话里藏着一个重要事实:虽然基不唯一,但同一个空间的所有基都有相同数量的向量。你可以换坐标轴,换斜方向,换另一组更方便计算的方向;只要它们确实是同一个空间的基,向量个数不会变。

维数可以理解为基向量的个数,也就是空间中相互独立的自由方向数。
常见维数如下:
- {0} 的维数是 0。
- 过原点的一条直线维数是 1。
- 过原点的一个平面维数是 2。
- 整个 R3 的维数是 3。
维数也可以理解成自由方向的数量。直线只有一个自由方向:沿着直线前后移动。平面有两个自由方向。三维空间有三个自由方向。
不要把“在三维空间里”误读成“维数一定是 3”。R3 中的一条过原点直线仍然是一维子空间,一个过原点平面仍然是二维子空间。
例题:从参数解读出基和维数
求方程组的解空间的一组基和维数:
x+2y+z=0
这是 R3 中的一个齐次方程。把 y 和 z 当作自由变量:
y=s,z=t
则:
x=−2s−t
所以解向量可以写成:
xyz=−2s−tst=s−210+t−101
因此解空间由下面两个向量张成:
−210,−101
这两个向量线性无关,所以它们构成解空间的一组基。解空间的维数是 2。几何上,它是 R3 中过原点的一个平面。
基、方程组与坐标表达
现在把几条线接起来。
矩阵 A 的列空间是 A 的列向量张成的空间:
C(A)=span(a1,a2,…,an)
方程 Ax=b 有解,当且仅当 b 在 C(A) 中。若列向量中有多余向量,列空间并不会变大,只是同一个空间被重复描述了。
零空间是齐次方程的解集:
N(A)={x:Ax=0}
它描述的是列向量之间如何发生线性相关。如果存在非零向量 x 使 Ax=0,就说明 A 的列向量线性相关。
列空间回答“哪些右端向量有解”,零空间回答“解有没有自由度”。基给空间一套最少方向,维数告诉我们自由方向有几个。
例题:列空间中的基
设矩阵:
A=101202011
它的列向量是:
a1=101,a2=202,a3=011
因为:
a2=2a1
所以 a2 没有带来新的方向。列空间可以写成:
C(A)=span(a1,a3)
再检查 a1 和 a3 不互为倍数,因此它们线性无关。于是列空间的一组基是:
⎩⎨⎧101,011⎭⎬⎫
列空间的维数是 2。
小结
本章的概念可以按一条线记:
线性组合→张成→子空间→基→维数
张成说明向量能覆盖哪里。线性无关说明有没有多余方向。基同时满足“覆盖”和“无多余”。维数是基向量的个数,也是自由方向的数量。基可以换,维数不能随便变。
在方程组中,列空间决定 Ax=b 是否有解,零空间决定齐次方程 Ax=0 有多少自由方向。后面学习秩、零化度、投影、特征向量和奇异值分解时,这些词会继续出现。
练习
练习一
判断下面集合是否是 R2 的子空间:
W={(x,y):y=3x}
这是子空间。它包含 (0,0);两点 (x1,3x1) 和 (x2,3x2) 相加得到 (x1+x2,3(x1+x2)),仍满足 y=3x;任意数乘也保持这个关系。几何上,它是过原点的一条直线。
练习二
判断下面三个向量是否线性无关:
v1=101,v2=011,v3=112
它们线性相关,因为:
v3=v1+v2等价地:
v1+v2−v3=0这里出现了不全为零的系数,所以这组三个向量线性相关。
练习三
设:
u1=[12],u2=[24]
它们能不能构成 R2 的一组基?
不能。因为 u2=2u1,两向量线性相关,只能张成一条过原点的直线,不能张成整个 R2。R2 的一组基必须包含两个线性无关的向量。
练习四
求下面子空间的一组基和维数:
W={(x,y,z):x−y+2z=0}
令 y=s、z=t,则 x=s−2t。所以:
xyz=s−2tst=s110+t−201因此一组基是:
⎩⎨⎧110,−201⎭⎬⎫维数是 2。