# 简化阶梯形
在线性代数中,一个给出的矩阵往往会被进行各种各样的预处理,从而提炼出最关心的核心信息
其中,最早,也是现在即将开始接触的其中一种,就是简化阶梯形
定义
将矩阵 A 进行行向量分割
A=⎝⎜⎜⎜⎜⎛a1a2⋮am⎠⎟⎟⎟⎟⎞
称矩阵 A 为 阶梯形 (Echelon Form)「階段形」,当且仅当满足以下条件:
- 所有的零向量都位于矩阵的下方
- 非零向量最左侧的元素称为该行的 先导元
- 越靠下的行,其先导元位置越靠右
在此基础上,称矩阵 A 为 简化阶梯形 (Reduced Echelon Form)「簡約階段形」,当且仅当其进一步满足以下条件:
- 如果强调行分割,有时也对应的称其为 行阶梯形 与 简化行阶梯形
称矩阵简约化之后,含有的主元数量为矩阵的 秩 (Rank)「階数」,记作 rank(A)
若 n 阶方阵 A 的秩为 n,则称其为 满秩矩阵
矩阵的秩是其非常重要的概念。通过行化简,可以实现对矩阵的分类,在一定程度上秩相等的矩阵具有共通的性质,这是对矩阵进行化简的重要目的:获取矩阵的秩
命题
若 A 是 m 行 n 列矩阵,则
rank(A)≤min(m,n)
证明
显然,矩阵的主元数量不可能超过行数与列数中的较小值
为了实现将矩阵化为简化阶梯形的目标,需要规定一些基本操作
定义
对矩阵 A,以下三种操作称为矩阵的 行基本变换 (Elementary Row Operations)「行基本変換」:
- R1:将某一行乘以非零常数 c
- R2:将某一行与另一行互换
- R3:将某一行加上另一行的常数倍
行基本变换可以导向我们的一个目标:将矩阵化为简化阶梯形
接下来以一个矩阵为例,讲解行化简算法,设矩阵
A=⎝⎛0210422−8−3−3831−12−4⎠⎞
展开过程
第一步是通过交换,先确保最左上方的元素非零
R2↔R1⎝⎛201402−82−38−33−121−4⎠⎞
第二步是将第一行的首元素化为 1,获得第一个主元
21R1⎝⎛101202−42−34−33−61−4⎠⎞
通过第一行的主元,将其他行的对应列元素化为 0
R3−R1→R3⎝⎛100200−4214−3−1−612⎠⎞
接下来让视线完全离开第一行,关注其他部分,重复上述过程
21R2⎝⎛100200−4114−23−1−6212⎠⎞
R3−R2→R3⎝⎛100200−4104−2321−62123⎠⎞
2R3⎝⎛100200−4104−231−6213⎠⎞
至此所有的主元均已确定,接下来通过回代,将主元所在列的其他元素化为 0
R2+23R3→R2⎝⎛100200−410401−653⎠⎞
R1−4R3→R1⎝⎛100200−410001−1853⎠⎞
R1+4R2→R1⎝⎛100200010001253⎠⎞
最终得到矩阵的行最简形
让我们更加本质地分析行化简这个过程
首先注意一个基本事实:所有的行基本变换都是可逆的
- R1 的逆变换是将该行乘以 c1
- R2 的逆变换是再次将该行与另一行互换
- R3 的逆变换是将该行减去另一行的相同常数倍(加上负数倍)
接下来看如下三个矩阵
- 第一个是将单位矩阵 En 的第 i 变为常数 c 的矩阵
Pi(c)=⎝⎜⎜⎜⎜⎜⎛1⋱c⋱1⎠⎟⎟⎟⎟⎟⎞
- 第二个是将单位矩阵 En 的第 i 行与第 j 行互换的矩阵
Pij=⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎛1⋱0⋮1⋯⋯1⋮0⋱1⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎞
- 第三个是将单位矩阵 En 的第 i 行加上第 j 行的常数倍 c 的矩阵
Pij(c)=⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎛1⋱1⋮c⋱…1⋱1⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎞
那么不难验证,行基本变换实际上就是将矩阵左乘以上述三种矩阵之一,这三个矩阵被称为 行基本变换矩阵,具体地:
- R1 对应左乘 Pi(c),即 Pi(c)A
- R2 对应左乘 Pij,即 PijA
- R3 对应左乘 Pij(c),即 Pij(c)A
同样,因为行基本变换是可逆的,所以上述三种矩阵均为可逆矩阵,其逆矩阵分别为
- Pi(c)−1=Pi(c1)
- Pij−1=Pij
- Pij(c)−1=Pij(−c)
由此,我们可以重新以更加严格的语言描述行化简的过程
命题
对于任意的矩阵 A,都存在有限个行基本变换矩阵 P1,P2,…,Pk,使得
PkPk−1⋯P2P1A=R
其中 R 为矩阵 A 的行最简矩阵
证明
根据行化简的算法可知,可以通过有限次行基本变换将矩阵化为行最简矩阵
□
# 线性无关
定义
令向量 a1,a2,…,ar 为矩阵 A 的向量分割,称它们为 线性无关 (Linearly Independent)「線形独立」,当且仅当
c1a1+c2a2+⋯+crar=0⟺c1=c2=⋯=cr=0
否则称为 线性相关 (Linearly Dependent)「線形従属」。
- 在线性相关时,非零系数得到的关系式称为 非自明的线性关系
线性无关指示了各个向量之间是否平行。换句话来说非线性无关的向量组携带了冗余的信息,因为其中个别向量是可以被其他向量线性表示出来的,它们的单独存在没有意义
利用线性无关,可以导出行化简的唯一性
命题
令 a1,a2,…,ar 为 n 维列向量,P 为 n 维正则矩阵,则
a1,a2,…,ar Linearly Independent⟺Pa1,Pa2,…,Par Linearly Independent
证明
(⇒)
设方程
c1Pa1+c2Pa2+⋯+cnPan=0
从左侧同时左乘 P−1,得到
c1a1+c2a2+⋯+cnan=0
由 a1,a2,…,ar 线性无关可知 c1=c2=⋯=cn=0,因此 Pa1,Pa2,…,Par 线性无关
(⇐)
设方程
c1a1+c2a2+⋯+cnan=0
从左侧同时左乘 P,得到
c1Pa1+c2Pa2+⋯+cnPan=0
由 Pa1,Pa2,…,Par 线性无关可知 c1=c2=⋯=cn=0,因此 a1,a2,…,ar 线性无关
□
在之前已经论述:可以确保在有限回内行化简任意矩阵,即
PkPk−1⋯P2P1A=R
统合这里的乘积,可以写为
PA=R
其中 P 为正则矩阵
命题 行最简矩阵的唯一性
对于任意矩阵 A,设矩阵 P 满足
PA=R
其中 R 为矩阵 A 的行最简矩阵,则 R 唯一
证明
设 A 通过行变换化为简化阶梯形 R。即 PA=R。
对矩阵 A,R 进行列向量分割
AR=(a1a2⋯an)=(r1r2⋯rn)
根据前述命题,左乘可逆矩阵 P 不改变向量组的线性相关性。
因此,r1,…,rn 之间的线性关系与 a1,…,an 完全一致。
考察 A 的列向量。设 aj1 是第一个非零列,则 rj1 必须是 R 的第一个主元列(即 e1)。
接着寻找 aj2,使得它不能被 aj1 线性表示。对应的 rj2 即为第二个主元列(e2)。
依此类推,我们可以唯一确定主元列的下标集合 {j1,j2,…,jr}。这些列在 R 中必然是单位坐标向量 e1,…,er。
对于任意非主元列 ak(k∈/{j1,…}),由于主元列构成了基底,ak 必然可以唯一地表示为主元列的线性组合:
ak=c1aj1+c2aj2+⋯+cmajm
根据线性关系的同构性,对应的 rk 也必须满足同样的线性组合:
rk=c1rj1+c2rj2+⋯+cmrjm
代入 rji=ei,可得:
rk=⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎛c1c2⋮cm0⋮⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎞
这意味着 R 的每一列(无论是主元列还是非主元列)都由 A 的列向量间的线性关系唯一确定。
因此,R 是唯一的。
□