第三章矩阵-1.矩阵初等变换以及矩阵秩的定义和性质

6 阅读4分钟

一、矩阵的初等变换

矩阵的初等变换分为初等行变换初等列变换,二者是对偶的。通常我们更常用行变换,因为它与线性方程组的同解变形对应。

1. 三种初等行变换

设矩阵 AAmm 行,则:

  1. 交换两行rirjr_i \leftrightarrow r_j
    将第 ii 行与第 jj 行互换位置。

  2. 倍乘某一行rikrir_i \leftarrow k r_ik0k \neq 0
    将第 ii 行所有元素乘以非零常数 kk

  3. 倍加某一行riri+krjr_i \leftarrow r_i + k r_jjij \neq i
    将第 jj 行的 kk 倍加到第 ii 行上,其它行不变。

2. 初等矩阵

初等矩阵是指对单位矩阵进行一次初等变换得到的矩阵。

IInn 阶单位矩阵。对 II 施行一次初等变换,得到的矩阵称为初等矩阵

由于初等变换有三种类型,初等矩阵也相应分为三类:

2.1 第一类初等矩阵:交换两行(或两列)

EijE_{ij} 为交换单位矩阵的第 ii 行与第 jj 行(或第 ii 列与第 jj 列)得到的矩阵。

例子(3阶):

E13=(001010100)E_{13} = \begin{pmatrix} 0 & 0 & 1 \\ 0 & 1 & 0 \\ 1 & 0 & 0 \end{pmatrix}

(交换了第1行和第3行)

特点

  • 主对角线上除了 iijj 位置外都是1,iijj 位置变为0
  • 非对角线上有两个1,位于 (i,j)(i,j)(j,i)(j,i) 位置
  • Eij1=EijE_{ij}^{-1} = E_{ij}(交换两次复原)

2.2 第二类初等矩阵:某行(或某列)乘以非零常数

Ei(k)E_i(k) 为单位矩阵的第 ii 行乘以 kkk0k \neq 0)得到的矩阵。

例子(3阶):

E2(k)=(1000k0001)E_2(k) = \begin{pmatrix} 1 & 0 & 0 \\ 0 & k & 0 \\ 0 & 0 & 1 \end{pmatrix}

(第2行乘以 kk

特点

  • 对角线上除了第 ii 个位置是 kk,其余都是1
  • 其他位置都是0
  • Ei(k)1=Ei(1/k)E_i(k)^{-1} = E_i(1/k)

2.3 第三类初等矩阵:某行加上另一行的倍数(或某列加上另一列的倍数)

Eij(k)E_{ij}(k) 为单位矩阵的第 jj 行乘以 kk 加到第 ii 行(iji \neq j)得到的矩阵。

例子(3阶):

E13(k)=(10k010001)E_{13}(k) = \begin{pmatrix} 1 & 0 & k \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{pmatrix}

(第3行乘以 kk 加到第1行)

特点

  • 主对角线都是1
  • (i,j)(i,j) 位置有一个 kk,其余非对角元为0
  • Eij(k)1=Eij(k)E_{ij}(k)^{-1} = E_{ij}(-k)

2.4 初等矩阵的作用

初等矩阵左乘或右乘一个矩阵,相当于对该矩阵施行初等变换。

2.4.1 左乘:行变换

定理:设 AAm×nm \times n 矩阵,PPmm 阶初等矩阵,则 PAPA 等于对 AA 施行一次初等行变换。

  • EijAE_{ij} A:交换 AA 的第 ii 行和第 jj
  • Ei(k)AE_i(k) A:将 AA 的第 ii 行乘以 kk
  • Eij(k)AE_{ij}(k) A:将 AA 的第 jj 行的 kk 倍加到第 ii
2.4.2 右乘:列变换

定理:设 AAm×nm \times n 矩阵,QQnn 阶初等矩阵,则 AQAQ 等于对 AA 施行一次初等列变换。

  • AEijA E_{ij}:交换 AA 的第 ii 列和第 jj
  • AEi(k)A E_i(k):将 AA 的第 ii 列乘以 kk
  • AEij(k)A E_{ij}(k):将 AA 的第 jj 列的 kk 倍加到第 ii

这个问题一句话抓住本质左乘 = 作用在行上;右乘 = 作用在列上。

2.4.3 具体的数字例子

通过具体的数字例子,直观展示初等矩阵左乘和右乘的作用效果。

设我们有一个 3×33 \times 3 矩阵:

A=(a11a12a13a21a22a23a31a32a33)A = \begin{pmatrix} a_{11} & a_{12} & a_{13} \\ a_{21} & a_{22} & a_{23} \\ a_{31} & a_{32} & a_{33} \end{pmatrix}

为看得更清楚,我用具体数字:

A=(123456789)A = \begin{pmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{pmatrix}
1) 第一类初等矩阵:交换行/列

初等矩阵 E13E_{13}(交换第1行和第3行)

E13=(001010100)E_{13} = \begin{pmatrix} 0 & 0 & 1 \\ 0 & 1 & 0 \\ 1 & 0 & 0 \end{pmatrix}

左乘 E13AE_{13} A(行变换):

E13A=(001010100)(123456789)=(789456123)E_{13}A = \begin{pmatrix} 0 & 0 & 1 \\ 0 & 1 & 0 \\ 1 & 0 & 0 \end{pmatrix} \begin{pmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{pmatrix} = \begin{pmatrix} 7 & 8 & 9 \\ 4 & 5 & 6 \\ 1 & 2 & 3 \end{pmatrix}

效果:交换了原矩阵的第1行和第3行。

右乘 AE13A E_{13}(列变换):

AE13=(123456789)(001010100)=(321654987)A E_{13} = \begin{pmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{pmatrix} \begin{pmatrix} 0 & 0 & 1 \\ 0 & 1 & 0 \\ 1 & 0 & 0 \end{pmatrix} = \begin{pmatrix} 3 & 2 & 1 \\ 6 & 5 & 4 \\ 9 & 8 & 7 \end{pmatrix}

效果:交换了原矩阵的第1列和第3列。


2) 第二类初等矩阵:行/列乘以常数

初等矩阵 E2(3)E_2(3)(第2行乘以3)

E2(3)=(100030001)E_2(3) = \begin{pmatrix} 1 & 0 & 0 \\ 0 & 3 & 0 \\ 0 & 0 & 1 \end{pmatrix}

左乘 E2(3)AE_2(3) A

E2(3)A=(100030001)(123456789)=(123121518789)E_2(3)A = \begin{pmatrix} 1 & 0 & 0 \\ 0 & 3 & 0 \\ 0 & 0 & 1 \end{pmatrix} \begin{pmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{pmatrix} = \begin{pmatrix} 1 & 2 & 3 \\ 12 & 15 & 18 \\ 7 & 8 & 9 \end{pmatrix}

效果:原矩阵的第2行每个元素乘以3。

右乘 AE2(3)A E_2(3)

AE2(3)=(123456789)(100030001)=(16341567249)A E_2(3) = \begin{pmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{pmatrix} \begin{pmatrix} 1 & 0 & 0 \\ 0 & 3 & 0 \\ 0 & 0 & 1 \end{pmatrix} = \begin{pmatrix} 1 & 6 & 3 \\ 4 & 15 & 6 \\ 7 & 24 & 9 \end{pmatrix}

效果:原矩阵的第2列每个元素乘以3。


3) 第三类初等矩阵:行/列加上另一行的倍数

初等矩阵 E13(2)E_{13}(2)(第3行乘以2加到第1行

E13(2)=(102010001)E_{13}(2) = \begin{pmatrix} 1 & 0 & 2 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{pmatrix}

注意:这个矩阵的含义是:将第3行的2倍加到第1行(左乘时)。

左乘 E13(2)AE_{13}(2) A

E13(2)A=(102010001)(123456789)E_{13}(2)A = \begin{pmatrix} 1 & 0 & 2 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{pmatrix} \begin{pmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{pmatrix}

计算第1行:1×(1,2,3)+0×(4,5,6)+2×(7,8,9)=(1+14,2+16,3+18)=(15,18,21)1 \times (1,2,3) + 0 \times (4,5,6) + 2 \times (7,8,9) = (1+14, 2+16, 3+18) = (15, 18, 21)

结果:

=(151821456789)= \begin{pmatrix} 15 & 18 & 21 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{pmatrix}

效果:原矩阵的第3行乘以2,加到第1行。

对于列变换,需要用 E13(2)E_{13}(2) 右乘

右乘 AE13(2)A E_{13}(2)

但注意:E13(2)E_{13}(2) 右乘时,表示将第1列的2倍加到第3列(与左乘的行操作是对偶的)。

验证:

AE13(2)=(123456789)(102010001)A E_{13}(2) = \begin{pmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{pmatrix} \begin{pmatrix} 1 & 0 & 2 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{pmatrix}

计算第3列:2×第1列+0×第2列+1×第3列2 \times \text{第1列} + 0 \times \text{第2列} + 1 \times \text{第3列} = 2(147)+(369)=(2+38+614+9)=(51423)2 \begin{pmatrix}1 \\ 4 \\ 7\end{pmatrix} + \begin{pmatrix}3 \\ 6 \\ 9\end{pmatrix} = \begin{pmatrix}2+3 \\ 8+6 \\ 14+9\end{pmatrix} = \begin{pmatrix}5 \\ 14 \\ 23\end{pmatrix}

结果:

=(12545147823)= \begin{pmatrix} 1 & 2 & 5 \\ 4 & 5 & 14 \\ 7 & 8 & 23 \end{pmatrix}

效果:原矩阵的第1列乘以2,加到第3列。


4) 组合应用:用初等矩阵实现行最简形

我们通过一系列左乘初等矩阵,将 AA 化为行阶梯形。

原矩阵

A=(123456789)A = \begin{pmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{pmatrix}

步骤1:将第1行的-4倍加到第2行
E21(4)=(100410001)E_{21}(-4) = \begin{pmatrix}1 & 0 & 0 \\ -4 & 1 & 0 \\ 0 & 0 & 1\end{pmatrix}

E21(4)A=(123036789)E_{21}(-4)A = \begin{pmatrix} 1 & 2 & 3 \\ 0 & -3 & -6 \\ 7 & 8 & 9 \end{pmatrix}

步骤2:将第1行的-7倍加到第3行
E31(7)=(100010701)E_{31}(-7) = \begin{pmatrix}1 & 0 & 0 \\ 0 & 1 & 0 \\ -7 & 0 & 1\end{pmatrix}

E31(7)(E21(4)A)=(1230360612)E_{31}(-7) \cdot (E_{21}(-4)A) = \begin{pmatrix} 1 & 2 & 3 \\ 0 & -3 & -6 \\ 0 & -6 & -12 \end{pmatrix}

步骤3:将第2行的-2倍加到第3行
E32(2)=(100010021)E_{32}(-2) = \begin{pmatrix}1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & -2 & 1\end{pmatrix}

E32(2)(上一步结果)=(123036000)E_{32}(-2) \cdot (\text{上一步结果}) = \begin{pmatrix} 1 & 2 & 3 \\ 0 & -3 & -6 \\ 0 & 0 & 0 \end{pmatrix}

最终得到行阶梯形。整个过程可写成:

E32(2)E31(7)E21(4)A=U(行阶梯形)E_{32}(-2) \cdot E_{31}(-7) \cdot E_{21}(-4) \cdot A = U \quad (\text{行阶梯形})

5)总结对照表
初等矩阵左乘效果(行变换)右乘效果(列变换)
EijE_{ij}交换第 ii 行和第 jj交换第 ii 列和第 jj
Ei(k)E_i(k)ii 行乘以 kkii 列乘以 kk
Eij(k)E_{ij}(k)jj 行的 kk 倍加到第 iiii 列的 kk 倍加到第 jj

关键记忆点

  • 左乘 = 行变换
  • 右乘 = 列变换
  • 对于 Eij(k)E_{ij}(k),左乘时下标含义:将jjkk 倍加到ii
  • 对于 Eij(k)E_{ij}(k),右乘时下标含义:将iikk 倍加到jj(注意行列下标对应关系有镜像效果)

这种用矩阵乘法表示初等变换的方式,为后续学习矩阵分解(如LU分解)、求解线性方程组、求逆矩阵等奠定了代数基础。

2.4.3 矩阵乘法怎么算?(关键)

矩阵相乘时:

  • 左边矩阵的行 去点乘 右边矩阵的列
  • 结果的第 ii 行,完全由 左边第 ii 决定
  • 结果的第 jj 列,完全由 右边第 jj 决定

所以:

  • 想改 ⇒ 改左边矩阵
  • 想改 ⇒ 改右边矩阵

这就是根本原因。

我用最直观、一步一步拆开算的方式,把这句话彻底讲透:

矩阵相乘 C=ABC=AB 时:

  1. 结果 CC 的第 ii 行,只由 AA 的第 ii 行决定
  2. 结果 CC 的第 jj 列,只由 BB 的第 jj 列决定

这就是为什么: 左乘影响行,右乘影响列。

先回忆矩阵乘法怎么算
C=ABC = AB

其中

cij=(第 A 第 i 行)(第 B 第 j 列)c_{ij} = (\text{第 }A\text{ 第 }i\text{ 行}) \cdot (\text{第 }B\text{ 第 }j\text{ 列})
为什么:C 的第 i 行,只由 A 的第 i 行决定?

看一行就够了。

设:

  • AAii 行:(ai1ai2ain)\begin{pmatrix}a_{i1}&a_{i2}&\dots&a_{in}\end{pmatrix}
  • BB 是任意矩阵

那么 CCii 行的每一个元素是:

ci1=ai1b11+ai2b21++ainbn1ci2=ai1b12+ai2b22++ainbn2cij=ai1b1j++ainbnj\begin{aligned} c_{i1}&=a_{i1}b_{11}+a_{i2}b_{21}+\dots+a_{in}b_{n1}\\ c_{i2}&=a_{i1}b_{12}+a_{i2}b_{22}+\dots+a_{in}b_{n2}\\ &\vdots\\ c_{ij}&=a_{i1}b_{1j}+\dots+a_{in}b_{nj} \end{aligned}

你发现没: 整一行 ci1,ci2,c_{i1},c_{i2},\dots 从头到尾,只用到了 AA 的第 ii 行,跟 AA 其他行完全没关系!

所以:

左边矩阵控制“结果的每一行怎么来” 想改哪一行,就改左边矩阵的那一行 ⇒ 左乘 = 行变换


为什么:C 的第 j 列,只由 B 的第 j 列决定?

同样道理,看一列:

CCjj 列的元素:

c1j=a11b1j+a12b2j++a1nbnjc2j=a21b1j+a22b2j++a2nbnjcij=ai1b1j++ainbnj\begin{aligned} c_{1j}&=a_{11}b_{1j}+a_{12}b_{2j}+\dots+a_{1n}b_{nj}\\ c_{2j}&=a_{21}b_{1j}+a_{22}b_{2j}+\dots+a_{2n}b_{nj}\\ &\vdots\\ c_{ij}&=a_{i1}b_{1j}+\dots+a_{in}b_{nj} \end{aligned}

整一列,从头到尾只用到 BB 的第 jj,跟 BB 其他列没关系。

所以:

右边矩阵控制“结果的每一列怎么来” 想改哪一列,就改右边矩阵的那一列 ⇒ 右乘 = 列变换

用一句超级通俗的话总结
  • A 在左边 = 包工头 它说:“我派出我的第 ii 行,去跟 BB 所有列做点积,拼出 CC 的第 ii 行。” ⇒ A 管行

  • B 在右边 = 施工队 它说:“我的第 jj 列,要跟 AA 所有行做点积,拼出 CC 的第 jj 列。” ⇒ B 管列

2.4.4 左乘 EE = 行变换(直观例子)

A=(abcd),E=(0110)(交换1,2行的初等矩阵)A= \begin{pmatrix} a & b \\ c & d \end{pmatrix},\qquad E= \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix} \quad(\text{交换1,2行的初等矩阵})

计算 EAEA

EA=(cdab)EA= \begin{pmatrix} c & d \\ a & b \end{pmatrix}

结果:A 的两行被交换了。 因为 EE 在左边,它控制行怎么组合


2.4.5 右乘 EE = 列变换(同样例子)

计算 AEAE

AE=(badc)AE= \begin{pmatrix} b & a \\ d & c \end{pmatrix}

结果:A 的两列被交换了。 因为 EE 在右边,它控制列怎么组合


2.4.6 一句话总结(最本质)
  • 左乘: 初等矩阵控制 A 的行如何线性组合 ⇒ 行变换

  • 右乘: 初等矩阵控制 A 的列如何线性组合 ⇒ 列变换


2.4.7 推广到任意初等矩阵

不管是:

  • 交换行/列
  • 某行/列乘常数
  • 某行/列加到另一行/列

永远是:

  • 左乘 ⟷ 行变换
  • 右乘 ⟷ 列变换

2.5 初等矩阵的性质

2.5.1 可逆性

所有初等矩阵都是可逆的,且逆矩阵仍是同类型的初等矩阵:

  • Eij1=EijE_{ij}^{-1} = E_{ij}
  • Ei(k)1=Ei(1/k)E_i(k)^{-1} = E_i(1/k)
  • Eij(k)1=Eij(k)E_{ij}(k)^{-1} = E_{ij}(-k)
2.5.2 行列式
  • det(Eij)=1\det(E_{ij}) = -1
  • det(Ei(k))=k\det(E_i(k)) = k
  • det(Eij(k))=1\det(E_{ij}(k)) = 1
2.5.3. 初等矩阵的乘积

任何一个可逆矩阵都可以表示为一系列初等矩阵的乘积(因为可逆矩阵可以通过初等变换化为单位矩阵,逆过程就是初等矩阵的乘积)。


2.6应用:用初等矩阵求逆矩阵

如果 AA 可逆,则存在初等矩阵 P1,P2,,PkP_1, P_2, \ldots, P_k 使得:

PkP2P1A=IP_k \cdots P_2 P_1 A = I

于是:

A1=PkP2P1A^{-1} = P_k \cdots P_2 P_1

这意味着:对 (AI)(A \mid I) 施行与 AA 化为 II 相同的初等行变换,当左边变成 II 时,右边就是 A1A^{-1}


2.7总结

类型名称初等矩阵形式作用逆矩阵
第一类交换矩阵EijE_{ij}交换第 i,ji, j 行/列EijE_{ij}
第二类倍乘矩阵Ei(k)E_i(k)ii 行/列乘以 kkEi(1/k)E_i(1/k)
第三类倍加矩阵Eij(k)E_{ij}(k)jj 行/列的 kk 倍加到第 ii 行/列Eij(k)E_{ij}(-k)

核心思想:初等矩阵是初等变换的代数表示,它将"对矩阵的操作"转化为"矩阵乘法",使得我们能够用代数的语言来研究初等变换,是连接矩阵运算与线性变换的桥梁。


二、线性方程组与矩阵初等变换

考虑 mm 个方程 nn 个未知数的线性方程组:

{a11x1+a12x2++a1nxn=b1a21x1+a22x2++a2nxn=b2am1x1+am2x2++amnxn=bm\begin{cases} a_{11}x_1 + a_{12}x_2 + \cdots + a_{1n}x_n = b_1 \\ a_{21}x_1 + a_{22}x_2 + \cdots + a_{2n}x_n = b_2 \\ \vdots \\ a_{m1}x_1 + a_{m2}x_2 + \cdots + a_{mn}x_n = b_m \end{cases}

写成矩阵形式:

Ax=bA \mathbf{x} = \mathbf{b}

其中 A=(aij)m×nA = (a_{ij})_{m\times n} 是系数矩阵,增广矩阵为:

(Ab)=(a11a12a1nb1a21a22a2nb2am1am2amnbm)(A \mid \mathbf{b}) = \begin{pmatrix} a_{11} & a_{12} & \cdots & a_{1n} & b_1 \\ a_{21} & a_{22} & \cdots & a_{2n} & b_2 \\ \vdots & \vdots & & \vdots & \vdots \\ a_{m1} & a_{m2} & \cdots & a_{mn} & b_m \end{pmatrix}

核心思想:对增广矩阵进行初等行变换,不改变方程组的解集。
通过初等行变换,可以将增广矩阵化为行阶梯形(行最简形),从而判断解的情况并求解。


1. 消元过程与矩阵行阶梯形

通过行变换,我们得到行阶梯形(每个非零行首非零元下方全为0)和行最简形(每个非零行首非零元为1,且所在列其他元素为0)。

例:

(121050131200014)\left(\begin{array}{cccc|c} 1 & 2 & -1 & 0 & 5 \\ 0 & 1 & 3 & 1 & 2 \\ 0 & 0 & 0 & 1 & 4 \end{array}\right)

这是行阶梯形。若再将每行首元化为1,并消除其上方的元素,则得行最简形。

  • 行阶梯形定义:
    • 如果某一行全是 0(全零行),它必须排在所有非零行的下面
    • 每一行第一个不为 0 的数字(我们叫它主元或领头羊),必须比上一行的“领头羊”更靠右。
    • 每个“领头羊”所在的这一列,它下面的所有元素必须全是 0。

行阶梯形,类似下楼梯:想象你在走楼梯,每一步都要往右走,并且往下走。不能往左回退,也不能在同一层平铺。

  • 行最简形(简化行阶梯形)
    • 在阶梯形基础上进一步满足:
      • 每个主元都是 1
      • 主元所在列其他元素全为 0

2. 解的判定

非齐次线性方程组 (Ax=bAx=b)

设线性方程组 Ax=bAx=b 的系数矩阵为 AA,增广矩阵为 Aˉ\bar{A},未知数个数为 nn。 令 R(A)R(A) 表示矩阵 AA 的秩,R(Aˉ)R(\bar{A}) 表示增广矩阵的秩。

  1. 无解:当且仅当 R(A)<R(Aˉ)R(A) < R(\bar{A})
    • 在行阶梯形中表现为出现了一行 (0,0,,0d)(0, 0, \dots, 0 | d),其中 d0d \neq 0(即 0=d0=d 的矛盾方程)。
  2. 有唯一解:当且仅当 R(A)=R(Aˉ)=nR(A) = R(\bar{A}) = n
    • 此时每个未知数都有唯一确定的值。
  3. 有无穷多解:当且仅当 R(A)=R(Aˉ)<nR(A) = R(\bar{A}) < n
    • 此时自由未知量(自由变量)的个数为 nR(A)n - R(A)。通解可以表示为特解加上齐次方程组通解的线性组合。

齐次线性方程组 (Ax=0Ax=0)

  • 永远有解(至少有零解 x=0x=0)。
  • 只有零解     R(A)=n\iff R(A) = n
  • 有非零解     R(A)<n\iff R(A) < n

三、矩阵的秩

1. 定义

矩阵 AA 的秩 rank(A)\mathrm{rank}(A) 有几种等价定义:

  • 行列式定义:矩阵中非零子式的最高阶数。
  • 行秩定义:行向量组的极大线性无关组的向量个数(行秩)。
  • 列秩定义:列向量组的极大线性无关组的向量个数(列秩)。

重要结论:行秩 = 列秩 = 秩。

1.1 核心结论:形状不同,但“秩”相同

  • 行数与列数:描述的是矩阵的物理尺寸(外形)。
    • 例如:一个 3×53 \times 5 的矩阵,有 3 行、5 列。显然 353 \neq 5
  • 行秩与列秩:描述的是矩阵内部包含的有效信息量(维度)。
    • 行秩:行向量中线性无关的个数。
    • 列秩:列向量中线性无关的个数。

定理:对于任意 m×nm \times n 矩阵 AA,都有: 行秩(A)=列秩(A)=R(A)\text{行秩}(A) = \text{列秩}(A) = R(A) 这个共同的值,就是我们常说的矩阵的秩

1.2 直观理解:为什么它们会相等?

你可能会觉得奇怪:行数和列数都不一样,为什么它们能挑出的“独立代表”(秩)数量会一样呢?

我们可以用**“行阶梯形”**(也就是上一轮对话提到的“楼梯”)来解释,这是最直观的方法:

想象你对这个 3×53 \times 5 的矩阵进行高斯消元,把它化成行阶梯形:

(123450246800039)\begin{pmatrix} \mathbf{1} & 2 & 3 & 4 & 5 \\ 0 & \mathbf{2} & 4 & 6 & 8 \\ 0 & 0 & 0 & \mathbf{3} & 9 \end{pmatrix}

在这个阶梯形中:

  1. 看行(行秩):数一数有多少个非零行(有台阶的行)。这里有 3 个非零行。所以行秩 = 3
  2. 看列(列秩):数一数有多少个主元列(也就是包含台阶“领头羊”的列,即第1、2、4列)。这里也有 3 个主元列。所以列秩 = 3

结论: 无论矩阵长什么样,“非零行的数量”永远等于“主元列的数量”。因为每一个台阶(非零行)必然对应一个唯一的“领头羊”(主元列)。这就是行秩等于列秩的根本原因。

1.3 限制条件:秩受限于“短板”

虽然行秩等于列秩,但它们的最大值受限于行数和列数中较小的那一个。

对于一个 m×nm \times n 的矩阵,其秩 R(A)R(A) 满足: R(A)min(m,n)R(A) \le \min(m, n)

  • 例子 A (3×53 \times 5 矩阵)
    • 行数 3,列数 5。
    • 行秩最多是 3(因为只有 3 行)。
    • 列秩最多是 5(因为只有 5 列)。
    • 因为行秩=列秩,所以这个矩阵的秩最大只能是 3。不可能达到 5。
  • 例子 B (5×35 \times 3 矩阵)
    • 行数 5,列数 3。
    • 这个矩阵的秩最大只能是 3

1.4 总结

比较项目行数 vs 列数行秩 vs 列秩
定义矩阵的长和宽矩阵内部独立信息的维度
非方阵情况不相等 (例如 3×53 \times 5)始终相等 (例如都是 3)
关系决定了秩的上限是同一个数值,统称为矩阵的秩

所以,不用担心矩阵是不是方方正正的,只要算出了行秩,你就同时也知道了列秩,它们永远是一对“双胞胎”。

2. 秩的性质

A,BA, Bm×nm \times n 矩阵,kk 为非零常数:

  1. 范围限制0R(A)min(m,n)0 \le R(A) \le \min(m, n)

    • R(A)=min(m,n)R(A) = \min(m, n),称 AA满秩矩阵
    • AAnn 阶方阵且 R(A)=nR(A)=n,则 AA 可逆(非奇异)。
  2. 初等变换不变性

    • 初等变换不改变矩阵的秩。即若 ABA \sim B,则 R(A)=R(B)R(A) = R(B)
    • 这也是为什么我们可以通过将矩阵化为行阶梯形来求秩:行阶梯形矩阵中非零行的行数即为该矩阵的秩
  3. 运算性质

    • R(AT)=R(A)R(A^T) = R(A) (转置不改变秩)。
    • R(kA)=R(A)R(kA) = R(A) (k0k \neq 0)。
    • R(A+B)R(A)+R(B)R(A + B) \le R(A) + R(B)
    • R(AB)min(R(A),R(B))R(AB) \le \min(R(A), R(B))
    • P,QP, Q 为可逆矩阵,则 R(PAQ)=R(A)R(PAQ) = R(A)
  4. 与行列式的关系(针对 nn 阶方阵 AA):

    • R(A)=n    A0R(A) = n \iff |A| \neq 0 (满秩,可逆)。
    • R(A)<n    A=0R(A) < n \iff |A| = 0 (降秩,不可逆)。
  5. 分块矩阵性质

    • R(A00B)=R(A)+R(B)R\begin{pmatrix} A & 0 \\ 0 & B \end{pmatrix} = R(A) + R(B)

前置知识:两个核心直觉

  1. 秩的直观定义: 把矩阵通过初等行变换化成行阶梯形(像楼梯一样),非零行的行数就是矩阵的秩。

    • 为什么? 因为每一行非零行都代表一个独立的方程(或独立的信息),全零行代表“0=0”的废话,没有信息量。
  2. 初等变换的本质

    • 交换两行 \to 只是换个顺序说话,信息没变。
    • 某行乘非零数 \to 只是换了个单位说话(比如“1米”变成“100厘米”),信息没变。
    • 一行加到另一行 \to 只是把两个信息混合了一下,并没有创造新信息,也没丢掉旧信息(因为这个过程是可逆的)。
    • 结论初等变换不改变矩阵的秩。

性质 1:转置不改变秩 R(A)=R(AT)R(A) = R(A^T)

通俗解释: 矩阵的秩既等于“行向量组”中独立向量的个数(行秩),也等于“列向量组”中独立向量的个数(列秩)。

  • AA 的行,就是 ATA^T 的列。
  • AA 的列,就是 ATA^T 的行。

“证明”逻辑: 我们在解方程组时习惯用“行变换”求秩,算出来的是“行秩”。 但在数学深层理论中有一个伟大的定理:任何矩阵的行秩都严格等于列秩。 既然 R(A)R(A)AA 的行秩,而 AA 的行就是 ATA^T 的列,那么 R(A)R(A) 就等于 ATA^T 的列秩。 又因为 ATA^T 的列秩 = ATA^T 的行秩(即 R(AT)R(A^T))。 所以,R(A)=R(AT)R(A) = R(A^T)

一句话总结:横着数有多少条独立信息,竖着数也是多少条,转置只是把横竖互换,总数不变。


性质 2:数乘不改变秩 (k0k \neq 0 时,R(kA)=R(A)R(kA) = R(A))

通俗解释: 如果你把一份文件里的所有数字都扩大 100 倍,这份文件包含的“有效信息条数”变了吗?没有。 只要 k0k \neq 0,原本是非零的行,乘以 kk 后还是非零;原本是零的行,乘以 kk 后还是零。

“证明”逻辑

  1. AA 做初等行变换化为阶梯形 UU,非零行数为 rr,则 R(A)=rR(A)=r
  2. kAkA 做同样的变换(除了倍乘那一步系数变了,其他逻辑一样),得到的阶梯形其实就是 kUkU
  3. 因为 k0k \neq 0,所以 UU 中的非零行在 kUkU 中依然是非零行(不可能因为乘个非零数就变成0)。
  4. 所以非零行数依然是 rr
  5. R(kA)=R(A)R(kA) = R(A)

性质 3:和的秩不超过秩的和 R(A+B)R(A)+R(B)R(A+B) \le R(A) + R(B)

通俗解释: 假设 AA 代表了 rAr_A 条独立信息,BB 代表了 rBr_B 条独立信息。 当你把 AABB 加起来得到 A+BA+B 时,新的矩阵里的每一行,本质上都是 AA 的行和 BB 的行的“混合体”。

  • A+BA+B 能产生的最大独立信息量,绝对不可能超过 AABB 各自独立信息量的总和。
  • 甚至可能更少!因为 AA 里的某条信息和 BB 里的某条信息可能刚好抵消了(比如 111-1 相加变 00),导致信息丢失。

“证明”逻辑

  1. AA 的行向量组的极大无关组有 rAr_A 个向量,BB 的有 rBr_B 个。
  2. A+BA+B 的每一行都可以写成:(AA的某行) + (BB的某行)。
  3. 这意味着,A+BA+B 的所有行向量,都可以由“AA的极大无关组”加上“BB的极大无关组”这总共 rA+rBr_A + r_B 个向量线性表示出来。
  4. 根据线性代数基本定理:如果一个向量组能被 mm 个向量线性表示,那么这个向量组的秩(独立个数)一定 m\le m
  5. 这里 m=rA+rBm = r_A + r_B,所以 R(A+B)R(A)+R(B)R(A+B) \le R(A) + R(B)

性质 4:乘积的秩不超过因子的秩 R(AB)min(R(A),R(B))R(AB) \le \min(R(A), R(B))

这是最难理解但也最重要的性质之一。我们要分两部分看:R(AB)R(A)R(AB) \le R(A)R(AB)R(B)R(AB) \le R(B)

第一部分:R(AB)R(B)R(AB) \le R(B)

通俗解释: 把 BB 看作是一组原材料(列向量),AA 看作是一个加工机器(线性变换)。 ABAB 的结果,就是把 BB 的每一列都扔进机器 AA 里加工了一下。

  • 如果 BB 只有 3 种独立的原材料(R(B)=3R(B)=3),那么不管机器 AA 多厉害,加工出来的产品最多也只有 3 种独立类型。机器不能无中生有创造出新的独立性。
  • 甚至,如果机器 AA 是个“粉碎机”(比如全是0),那产品可能连 3 种都没有了。

“证明”逻辑

  1. 证明 r(AB)r(B)r(AB) \le r(B)
    BB 的列向量组为 β1,β2,,βp\beta_1, \beta_2, \ldots, \beta_p,则

    AB=A(β1,β2,,βp)=(Aβ1,Aβ2,,Aβp)AB = A(\beta_1, \beta_2, \ldots, \beta_p) = (A\beta_1, A\beta_2, \ldots, A\beta_p)

    所以 ABAB 的列向量是 Aβ1,,AβpA\beta_1, \ldots, A\beta_p
    βi1,,βir\beta_{i_1}, \ldots, \beta_{i_r}BB 的列向量组的极大无关组,则任一 βj\beta_j 可由它们线性表示。设

    βj=k=1rcjkβik\beta_j = \sum_{k=1}^r c_{jk} \beta_{i_k}

    左乘 AA

    Aβj=k=1rcjk(Aβik)A\beta_j = \sum_{k=1}^r c_{jk} (A\beta_{i_k})

    因此 ABAB 的任一列可由 {Aβi1,,Aβir}\{A\beta_{i_1}, \ldots, A\beta_{i_r}\} 线性表示。故 r(AB)r=r(B)r(AB) \le r = r(B)

  2. 证明 r(AB)r(A)r(AB) \le r(A)
    利用转置:

    r(AB)=r((AB)T)=r(BTAT)r(BT)(由上面已证)r(AB) = r((AB)^T) = r(B^T A^T) \le r(B^T) \quad \text{(由上面已证)}

    r(BT)=r(B)r(B^T) = r(B),这个方向不能直接得到 r(A)r(A) 的上界。
    换一种思路:考虑 ABAB 的行向量。ABAB 的行向量是 AA 的行向量的线性组合(系数来自 BB)。具体地,若 AA 的行向量为 α1,,αm\alpha_1, \ldots, \alpha_m,则 ABAB 的第 ii 行是 αiB\alpha_i B
    αi1,,αis\alpha_{i_1}, \ldots, \alpha_{i_s}AA 的行向量组的极大无关组(s=r(A)s = r(A)),则任一 αi\alpha_i 可由它们线性表示,从而 αiB\alpha_i B 也可由 αi1B,,αisB\alpha_{i_1}B, \ldots, \alpha_{i_s}B 线性表示。所以 ABAB 的行秩 s=r(A)\le s = r(A)

    因此 r(AB)r(A)r(AB) \le r(A)r(AB)r(B)r(AB) \le r(B),即 r(AB)min{r(A),r(B)}r(AB) \le \min\{r(A), r(B)\}

结论: 既然 R(AB)R(AB) 既小于等于 R(A)R(A),又小于等于 R(B)R(B),那它自然小于等于两者中较小的那个: R(AB)min(R(A),R(B))R(AB) \le \min(R(A), R(B))

一句话总结:乘法就像过筛子。AABB 谁的信息量少(秩小),谁就是瓶颈,最终结果的信息量绝不可能超过这个瓶颈。

四、秩的求法与示例

求秩方法:通过初等行变换化为行阶梯形,非零行的行数即为秩。

例:

A=(123246357)A = \begin{pmatrix} 1 & 2 & 3 \\ 2 & 4 & 6 \\ 3 & 5 & 7 \end{pmatrix}

行变换:

r2r22r1,r3r33r1r_2 \leftarrow r_2 - 2r_1,\quad r_3 \leftarrow r_3 - 3r_1
(123000012)\to \begin{pmatrix} 1 & 2 & 3 \\ 0 & 0 & 0 \\ 0 & -1 & -2 \end{pmatrix}

交换第2、3行:

(123012000)\begin{pmatrix} 1 & 2 & 3 \\ 0 & -1 & -2 \\ 0 & 0 & 0 \end{pmatrix}

有两个非零行,故 rank(A)=2\mathrm{rank}(A) = 2


五、总结

概念说明
初等行变换三种基本操作,对应左乘初等矩阵,保持方程组同解
初等列变换类似,对应右乘初等矩阵,不影响秩
行阶梯形通过行变换得到,用于判断秩和解的情况
矩阵的秩行秩=列秩,等于非零子式最高阶数,初等变换不变
秩与方程秩决定解的存在性、唯一性,以及自由变量个数

矩阵初等变换、秩和线性方程组的解之间构成了一个完整的理论体系:通过初等变换求秩,通过秩判定解的结构,通过行最简形直接写出通解

六、参考文献

本文参考AI回答,豆包,Deepseek,千问