行变换最初是矩阵上的操作步骤:交换两行、把一行乘以非零标量、把一行的倍数
加到另一行。这些操作已经可以用来解方程组,因为它们保留解集。
但同一件事还有一个更有结构的读法:每一个初等行变换,都等同于左乘某个特别
的方阵。这个观点很重要,因为它把一串行变换转成普通的矩阵等式。之后讨论
行化简、可逆性、秩、行列式和基时,这正是程序性操作和代数结构之间的桥。
核心想法:先把行变换作用在单位矩阵上
假设一个行变换 ρ 作用于有 p 行的矩阵。先从单位矩阵 Ip 开始,
对 Ip 做同一个行变换,所得矩阵记作 Eρ。
定义
行变换矩阵
与 p 行矩阵上的行变换 ρ 对应的 行变换矩阵,就是把 ρ
作用在 Ip 上所得的 p×p 矩阵。
换句话说,
Eρ=ρ(Ip).
这个定义有用,是因为以下定理。
定理
行变换等同于左乘矩阵
设 A 是任何有 p 行的矩阵,并以 ρ(A) 表示对 A 做行变换
ρ 后得到的矩阵。则
ρ(A)=EρA.所以,对 A 做一个行变换,等同于用同一个行变换在 Ip 上得到的
行变换矩阵左乘 A。
这里必须是左乘。行变换改变的是行,会把新行写成旧行的线性组合;左乘正是把
A 的新行写成旧行的线性组合。右乘则会混合列,不是同一件事。
三个基本例子
三种合法行变换,对应三种行变换矩阵。
例题
行加法
对有三行的矩阵,考虑
ρ:R2←R2+3R1.把它作用在 I3 上:
I3=100010001⟼Eρ=130010001.因此,对任何有三行的矩阵 A,
EρA就是把 A 的第 2 行改成“第 2 行加上 3 倍第 1 行”后所得的矩阵。
例题
行倍乘
对
ρ:R3←−2R3,对应的行变换矩阵是
Eρ=10001000−2.行倍乘要求标量非零,这一点在矩阵上也看得出来:如果倍数是 0,所得矩阵会
出现零行,不能反向恢复。
例题
交换两行
对
ρ:R1↔R3,我们得到
Eρ=001010100.左乘这个矩阵,就会交换任何相容矩阵的第 1 行和第 3 行。
一串行变换就是一个矩阵乘积
真正的用途不只是表示单一步骤,而是把整串行变换写成一个矩阵乘积。
定理
一串行变换的乘积表示
假设
A1ρ1A2ρ2A3ρ3⋯ρkAk+1.则
Ak+1=EρkEρk−1⋯Eρ2Eρ1A1.
这个公式中的顺序很重要。第一个行变换最靠近 A1,因为它最先作用:
A2=Eρ1A1,A3=Eρ2A2=Eρ2Eρ1A1.
例题
合并两个行变换
令
A=101020110.依次做
ρ1: R2←R2+R1,ρ2: R1←R1+2R2.对应的行变换矩阵是
Eρ1=110010001,Eρ2=100210001.两个操作完成后,结果就是
Eρ2Eρ1A.若不想直接相乘 Eρ2Eρ1,也可以把同一串行变换按同一顺序作用在
I3 上,所得矩阵就是合并后的左乘矩阵。
读懂较长的行变换乘积
在作业式题目里,行变换经常会以一长串步骤出现。重点不是盲目相乘很多矩阵,
而是把三种对象分清楚:
- 正在被变换的矩阵 A1,A2,…,Ak+1;
- 每一步对应的行变换矩阵 H1,H2,…,Hk;
- 合并后的单一左乘矩阵 J=Hk⋯H2H1。
以下是一个四行矩阵的典型例子。假设
ρ1ρ2ρ3ρ4ρ5ρ6:R2←−21R2,:R1↔R2,:R3←R3−2R1,:R4←R4−2R3,:R1←R1−R3,:R1←R1−R2.
如果
A1ρ1A2ρ2A3ρ3A4ρ4A5ρ5A6ρ6A7,
那么
A7=H6H5H4H3H2H1A1.
相应的行变换矩阵是
H1H3H5=10000−210000100001,=10−20010000100001,=10000100−10100001,H2H4H6=0100100000100001,=10000100001−20001,=1000−110000100001.
它们的乘积是
J=H6H5H4H3H2H1=−1100−2301−2−101−20001.
有效率的做法,是把六个行变换依次作用在 I4 上,而不是手动展开六个因子。
矩阵 J 记录了整串步骤对行的总作用:
A7=JA1.
这个等式也可用来检查乘积顺序。如果把第一步放在最左边,所得乘积会描述另一
串不同的操作。
快速检查
在上面六步行变换中,若 K 是由 A7 反向回到 A1 的行变换矩阵乘积,J 和 K 应满足什么等式?
反向行变换与逆矩阵
每个初等行变换都有反向操作:
- Rj←Rj+cRi 的反向操作是
Rj←Rj−cRi;
- Ri←cRi(其中 c=0)的反向操作是
R_i \leftarrow (1/c)R_i;
- 交换两行的反向操作仍然是同一次交换。
这给出一个干净的矩阵表述。
定理
行变换矩阵都是可逆矩阵
每个行变换矩阵都是可逆的。它的逆矩阵,就是反向行变换所对应的行变换矩阵。
例如,若
E=130010001
表示 R2←R2+3R1,则
E−1=1−30010001
表示 R2←R2−3R1。
这就是行变换可逆的代数原因,也解释了为什么行化简和可逆矩阵有密切关系。
为什么这个观点之后会有用?
如果 B 与 A 行等价,则存在一串有限的行变换把 A 变成 B。因此存在
某个行变换矩阵的乘积 E,使得
B=EA.
由于每个行变换矩阵都可逆,乘积 E 也可逆。因此行等价既可以用操作步骤来
描述,也可以用左边乘上一个可逆矩阵的等式来描述。
这个观点会在多个地方使用:
- 一个方阵若行等价于 In,它就是若干行变换矩阵的乘积;
- 行变换保留齐次方程组的解信息,因为它等同于左乘可逆矩阵;
- 行列式关于行变换的规则,可以通过初等矩阵来表述;
- 秩和基的论证可以使用行化简,同时清楚知道原矩阵的列本身通常已被改变。
常见错误
常见错误
不要把乘积顺序反过来
如果 ρ1 先于 ρ2 作用,合并矩阵是
Eρ2Eρ1,不是 Eρ1Eρ2。
常见错误
不能把某一行乘以零
行倍乘要求标量非零。把一行乘以 0 不能反向恢复,也不会产生可逆的
行变换矩阵。
快速检查
快速检查
对有三行的矩阵,E=105010001 表示哪个行变换?
快速检查
R2←R2−4R1 的反向行变换是什么?
练习
快速检查
写出有三行矩阵上 R1↔R2 的行变换矩阵。
快速检查
假设 B 由 A 经以下两步得到:先做 R2←R2+R1,再做 R3←2R3。把 B 写成涉及 A 的矩阵乘积。
快速检查
令 β1,β2=0。假设五行矩阵 A 经以下行变换链得到 B:先做 α1R1+R3,再做 β1R2,再做 R1↔R4,再做 α2R2+R3,最后做 β2R1。写出单一矩阵 G,使得 B=GA。
把同一串操作作用在 I5 上,并记住后面的操作使用的是当时的行,不是原来的行。
快速检查
沿用上一题的矩阵 G,假设 D=GC。写出矩阵 H,使得 C=HD。
相关笔记
这一页建立在
2.2 增广矩阵与行变换
和
3.1 矩阵乘法与单位矩阵
之上。它也准备了
5.1 可逆矩阵
和
7.2 行变换、乘积与可逆性
中使用的行化简代数观点。