线性代数研究的往往不是单一向量,而是一整个向量或矩阵的集合:一个方程组的
所有解、一组向量的所有线性组合、满足某条矩阵方程的所有矩阵,或者被某个矩
阵送到零向量的所有向量。
集合语言就是精确表达这些对象的语法。若没有它,“同一个解集”、“属于零
空间”、“这些向量张成同一个子空间”这些说法就会太含糊,难以支撑证明。
为什么线性代数需要集合
做行化简时,我们不是要保留方程的外观,而是要保留解的集合。两个方程
组可以看起来不同,却有完全相同的解。
同样地,把一组张成向量缩短时,我们不是要保留原来的列表,而是要保留由这
个列表能够生成的向量集合。
定义
属于
若对象 x 是集合 S 的元素,记作
x∈S.若 x 不是 S 的元素,记作
x∈/S.
符号 ∈ 应读作“属于”。它不同于子集语言。一个向量可以属于某个集合;
一个较小的集合可以是另一个集合的子集。
所在空间
写下一个线性代数集合之前,先确认正在收集哪一类对象。
- Rn 是所有有 n 个分量的实列向量所成的集合。
- Mm,n(R) 是所有实 m×n 矩阵所成的集合。
- Pn 是所有次数不超过 n 的实系数多项式所成的集合。
所在空间很重要。式子
{x:Ax=b}
若没有说明 x 的大小与类型,就不够完整。较严谨的写法是
{x∈Rn:Ax=b}.
冒号左边说明对象住在哪个集合;冒号右边说明挑选这些对象的条件。
解集
设 A 是 m×n 矩阵,且 b∈Rm。
定义
线性方程组的解集
方程 Ax=b 的解集是
S(A,b)={x∈Rn:Ax=b}.
因此 t∈S(A,b) 有精确意思:
t∈Rn且At=b.
这个记号也能处理三种熟悉情况。
- 若方程组有唯一解 x0,则 S(A,b)={x0}。
- 若方程组不一致,则 S(A,b)=∅。
- 若方程组有无限多个解,则 S(A,b) 通常用参数式描述。
例题
读懂参数式解集
假设某个方程组的解可写成
x=102+s110+t−101,s,t∈R.作为集合,这就是
⎩⎨⎧102+s110+t−101:s,t∈R⎭⎬⎫.固定向量是一个特解;两个方向向量记录了可以自由加入而仍留在解集中的方向。
零空间与张成都是集合
课程中有两种集合构造反复出现。
定义
零空间
对 m×n 矩阵 A,
N(A)={x∈Rn:Ax=0}.
这就是齐次方程组 Ax=0 的解集。
定义
张成
若 u1,…,uq 是同一个向量空间中的向量,则
Span{u1,…,uq}={α1u1+⋯+αquq:α1,…,αq∈R}.
张成是一个集合,不是原来的列表。重排向量不会改变张成;加入一个本来已经
是旧向量线性组合的向量,也不会改变张成。
堆叠矩阵中的包含关系证明
证明集合包含时,先把成员关系写成定义中的方程,再推导目标集合的条件。
把两个系数矩阵上下堆叠,便得到这个方法的一个具体例子。
定理
堆叠矩阵的零空间包含在组合矩阵的零空间内
设 A 和 B 是 p×q 矩阵,并令
C=[AB].对任意实数 α,β,都有
N(C)⊆N(αA+βB).
证明
由定义出发的证明
要证明 包含关系,取任意 t∈N(C)。由零空间定义,
Ct=0.由于 C 是把 A 叠在 B 上方所得的矩阵,这等同于
[AtBt]=[00].因此 At=0 且 Bt=0。所以
(αA+βB)t=αAt+βBt=0.再次由零空间定义,t∈N(αA+βB)。由于 t∈N(C) 是任意
选取的,包含关系成立。
前一节证明的堆叠零空间恒等式
准确写为 N(C)=N(A)∩N(B)。因此,上面的包含关系是说,同时满足两条齐次方程,就必满足它们的任意固定线性组合;它并没有说组合后仍保留两条独立的要求。
例题
合并方程会丢失信息
取 A=[1 0]、B=[0 1],堆叠矩阵是 C=I2,所以 N(C)={02}。但取 α=β=1,则 A+B=[1 1],从而
N(A+B)={[t−t]:t∈R}.为证明此描述,任意零空间向量都须满足 x1+x2=0,所以令 t=x1 就得到所写形式;反过来,代入任意这样的向量,两坐标之和都为零。因此 (1,−1)T 属于 N(A+B),却不属于 N(C):它在 A,B 下的输出分别是一与负一,只在相加后才互相抵消。包含是严格的,改写成相等就会出错。
正确的等式使用交集,即 N(C)=N(A)∩N(B)。组合方程容许输出相互抵消,原来两个方程却要求两个输出分别为零。一个见证向量已足以证明严格包含;参数计算则进一步描述了全部新增的解。
集合相等需要两个方向
定义
集合相等
两个集合 S 与 T 相等,是指每一边的元素都属于另一边:
S=T⟺(x∈S if and only if x∈T) 对所有对象 x 成立.
在证明中,这通常变成两个包含关系:
- 证明 S 的每个元素都属于 T;
- 证明 T 的每个元素都属于 S。
只证明第一个方向,只能得到 S⊆T,不能得到相等。
证明透视
每个包含方向都从成员条件取得资料
证明 S⊆T 时,先任取 x∈S,把成员关系翻译成等式或系数。目标 x∈T 也有自己的定义条件;论证必须把已知资料转换成同一个向量所需满足的条件,不能先假设结论。
对张成而言,已知资料是某组系数的存在;要证明属于另一个张成,就应构造另一组系数。对零空间而言,已知资料是一条齐次方程;要证明属于另一个零空间,就应检查对应的矩阵方程。只验证几个数值向量,不能代替这个任意向量的步骤。
然后交换两个集合的角色,另作反向论证。这一方向可以较短,例如为新增的生成向量补上零系数,但仍须明确写出。两个包含方向可以使用不同的表示方式;始终不变的是要证明属于相应集合的那个向量。
集合语言与解集跟着集合语言的语法,把代数条件转成解集,再用任意元素证明子集与集合相等。
属于与子集
x\in S 说一个对象属于 S;S\subseteq T 则比较两个集合。
集合描述语法
在 {x\in R^n:Ax=b} 中,R^n 指出所在空间,Ax=b 是挑选元素的条件。
解集
S(A,b)={x\in R^n:Ax=b} 是一个集合陈述;它可以是空集、单元素集合,或参数族。
零空间与张成
N(A) 由方程定义;Span{u_1,...,u_q} 由参数定义。两者都描述整个集合。
子集证明套路
要证明 S\subseteq T,取 S 中任意元素,拆开 S 的定义,再证明它满足 T 的条件。
相等证明套路
集合相等需要两个包含关系。删去张成列表中的冗余向量,背后也是这套证明语法。
集合语言把代数条件变成精确集合:先写所在空间,再写条件,然后由任意元素开始证明包含关系。
同一系数矩阵的解集交集
集合语言也能清楚说明一个常用事实:若 Ax=b 和 Ax=c 的解集有一个共同
向量,则两个右端向量其实必须相同。
定理
同一个 A 下,两个有交集的解集必然相等
设 A 是 m×n 矩阵,且 b,c∈Rm。若
S(A,b)∩S(A,c)=∅,则
S(A,b)=S(A,c).
证明
为什么一个共同解足以迫出相等
因为交集非空,所以存在某个向量 x0,使得
x0∈S(A,b)andx0∈S(A,c).由解集定义,
Ax0=bandAx0=c.因此 b=c。但若两个右端向量相同,两个 defining condition 就完全一样:
Ax=b⟺Ax=c.所以 S(A,b) 的每个元素都属于 S(A,c),而 S(A,c) 的每个元素也属于
S(A,b)。因此 S(A,b)=S(A,c)。
反过来读也很重要:对固定矩阵 A,两个一致系统 Ax=b 与 Ax=c 的解集
要么不相交,要么完全相同。它们不可能只共享一个解,却在其他解上不同。
一个核心张成论证
下面的论证在线性代数中会不断出现,只是常常藏在较大的计算里。
定理
加入冗余向量不会改变张成
若 v 是 u1,…,uq 的线性组合,则
Span{u1,…,uq,v}=Span{u1,…,uq}.
证明
用集合相等证明
写
v=β1u1+⋯+βquq.令
S=Span{u1,…,uq,v},T=Span{u1,…,uq}.先取任意 x∈S。则存在标量 a1,…,aq,c,使得
x=a1u1+⋯+aquq+cv.代入 v 的公式:
x=(a1+cβ1)u1+⋯+(aq+cβq)uq.所以 x∈T。
反过来,若 y∈T,则
y=d1u1+⋯+dquq=d1u1+⋯+dquq+0v,所以 y∈S。因此 S=T。
这不是某个数值例子的技巧,而是说明为什么从张成列表中删去冗余向量是合法
的。
逆命题准确识别冗余向量
假设加入 v 后张成没有改变。向量 v 一定属于扩大的张成:把它自己的系数取一,其余旧生成向量的系数全部取零即可。两个张成相等,于是 v 也属于原来的张成,按定义便是旧生成向量的线性组合。这证明了逆命题,而不只是正向定理的另一个例子。
结合两个方向可知:加入一个向量不改变张成,当且仅当旧列表已经能够生成它。若向量在原张成之外,新张成就严格扩大:给新增向量系数零,说明新张成包含旧张成;新增向量本身则说明反向包含失败。
这里 Span(U) 简记列表 U 中各向量的张成,并不是把整个列表当成一个向量。
定理
多个冗余生成向量与张成相等
设 U=(u1,…,uq) 与 V=(v1,…,vs) 是 Rn 中两个有限非空向量列表。把 V 中全部向量加入 U 不改变张成,当且仅当每个 vj 都属于 Span(U)。此外,
Span(U)=Span(V)当且仅当每个列表中的向量都可由另一个列表作线性组合得到。列表长度 q,s 不必相同。
证明
从逐个加入到双向生成
若每个 vj 都由 U 生成,就逐个加入 V 中的向量。第一次加入不改变张成;后续每个 vj 仍由保留在列表中的原生成向量生成,所以每一步都可再次使用单向量定理。归纳可得任意有限列表的结论。反过来,每个新增向量都属于扩大的张成;若扩大后的张成等于旧张成,它们便都已属于旧张成。
对第二个结论,假设两个方向的生成关系成立。把 V 加到 U 不改变 Span(U);把 U 加到 V 不改变 Span(V)。合并后的列表包含相同向量,而改变次序不影响能形成的线性组合,所以两个张成都等于合并列表的张成。
反过来,若两个张成相等,U 的任意生成向量属于自身张成,也就属于 V 的张成,按定义可由 V 生成。交换列表可得另一个方向。这些论证都不需要线性无关假设。
例子:证明两个张成相等
例题
用明确系数删去一个冗余生成向量
令
u1=101,u2=011,v=235.因为
v=2u1+3u2,上面的定理给出
Span{u1,u2,v}=Span{u1,u2}.直接核对两个包含关系:较大张成中的任意向量可写为 au1+bu2+cv。代入已验证的关系,得到 (a+2c)u1+(b+3c)u2,属于较小张成。反过来,du1+eu2=du1+eu2+0v 属于较大张成。旧系数为实数时,新系数也为实数,所以这些表达式对每个向量证明了双向包含,而不只是验证所列三个生成向量的成员关系。向量 v 仍可能有计算用途,但不会扩大能够生成的集合。
例题
两组不同的生成向量给出同一张成
令
u=135,v=246,w=3711,z=111.逐坐标验证可得正向关系 w=u+v、z=v−u。因此,对任意实数 a,b,有 aw+bz=(a−b)u+(a+b)v,证明了 Span(w,z)⊆Span(u,v)。为得到反向包含,把这两个关系解回原生成向量:
u=21w−21z,v=21w+21z.所以对任意实数 c,d,
cu+dv=2c+dw+2d−cz.这就构造出另一个方向所需的系数。由任何一组生成的每个向量,都能由另一组生成,故两个张成相等。只观察到两个列表都含两个向量,并不能证明结论;真正提供依据的是明确的相互表示关系。
同样的关系还能处理较长列表。在 (u,v) 后加入 w、2u 与 z 不改变张成,因为每个新增向量都已由原来一对生成。所得五向量列表与原两向量列表张成相同。张成相等描述的是可生成哪些向量,而不是所选列表有多长;反过来,列表等长本身也不保证张成相等。
常见错误
常见错误
混淆向量与只含该向量的集合
向量 x0 与单元素集合 {x0} 是不同对象。若方程组有唯一解,解是
x0,但解集是 {x0}。
常见错误
忘记所在空间
条件 Ax=0 本身没有说明 x 是 Rn 中的向量、矩阵变量,还是其他对象。
当语境未固定时,要写出所在集合。
常见错误
只证明一个包含方向
要证明 S=T,只证明 S 的每个元素属于 T 并不足够。还要证明 T 的
每个元素也属于 S。
常见错误
忘记共同解会固定右端向量
如果两个系统使用同一个矩阵 A,而某个 x0 同时满足 Ax0=b 和
Ax0=c,则必然有 b=c。结论不只是两个系统相似,而是它们有相同的右端
向量。
快速检查
思考检查
如果 S(A,b)=∅,这对方程组 Ax=b 表示什么?
解答 · 答案
这表示方程组没有解。也就是说,Ax=b 不一致。
思考检查
假设 w=3u1−u2。把 w 加入列表 {u1,u2} 会不会改变张成?
解答 · 答案
不会。因为 w 已经是 u1 与 u2 的线性组合,
Span{u1,u2,w}=Span{u1,u2}.
思考检查
假设 S(A,b)∩S(A,c) 包含一个向量 x0。这对 b 和 c 表示什么?
解答 · 答案
因为 x0∈S(A,b),所以 Ax0=b。又因为 x0∈S(A,c),所以
Ax0=c。因此 b=c,两个解集相等。
练习
思考检查
令 S=Span{(1,0),(0,1),(1,1)} 且 T=R2。证明 S=T。
解答 · 引导解答
首先,S 的每个向量都是 R2 中向量的线性组合,所以 S⊆R2。
反过来,取任意 (a,b)∈R2。则
(a,b)=a(1,0)+b(0,1)+0(1,1),所以 (a,b)∈S。因此 R2⊆S,从而 S=T。
练习:判断新增向量是否改变张成
令 u1=(1,0,1)T、u2=(0,1,1)T。哪些实数 a,b,c 会使加入 w=(a,b,c)T 后,Span(u1,u2) 保持不变?若张成改变,请指出一个能够证明改变的向量。
解答 · 用冗余逆命题作答
由已证明的等价关系,张成不变当且仅当 w 已是 u1,u2 的线性组合。而所有组合均具有形式
su1+tu2=(s,t,s+t)T.匹配前两个坐标,必须有 s=a、t=b;第三个坐标便要求 c=a+b。条件成立时,w=au1+bu2 明确验证了成员关系,所以旧张成不变。条件不成立时,没有任何系数可用旧向量对表示 w;但给它自身系数一,即知它属于扩大后的张成。因此 w 就是严格扩大的见证。
论证既检查了表示的存在性,也证明了不存在表示时为什么失败,不能只因新向量与旧生成向量的所在空间维数相同,就假设它是冗余的。
最后要区分生成列表与基。本节的论证只研究可以生成哪些向量,容许列表出现重复及不必要的生成向量。前面的五向量例子删去三个生成向量后,列表改变,张成却不变。剩下的列表是否线性无关,是后面无关性与基笔记研究的另一问题。分清两者,才不会把张成相等误读成系数表示唯一。
先读这些
本节延伸
1.1 方程与解集,
并准备
6.3 线性组合与张成
中使用的集合相等论证。