Chapter 06

线性方程组

行简化阶梯形、解的结构、秩-零化度定理与几何解释

01

核心概念

行简化阶梯形 (RREF)

矩阵的行简化阶梯形(Reduced Row Echelon Form, RREF)是线性方程组求解的核心工具。一个矩阵满足以下条件时称为 RREF:

  1. 所有非零行位于全零行之上。
  2. 每行的主元(第一个非零元)为 1,且位于上一行主元的右侧。
  3. 主元所在列的其他元素均为 0。
为什么RREF如此重要?

RREF 将复杂的方程组转化为"一目了然"的形式:主元列对应基本变量,非主元列对应自由变量。解的结构(唯一解、无穷多解、无解)直接从 RREF 中读出。

主元与自由变量

对于 m×n 的增广矩阵 [A|b],通过高斯消元得到 RREF 后:

自由变量可以取任意值,基本变量由自由变量唯一确定。

解的结构

线性方程组 Ax = b 的通解可以写成:

x = xₚ + xₕ

其中 xₚ 是一个特解(particular solution),满足 Axₚ = b;xₕ 是齐次方程 Ax = 0 的通解,即零空间(null space)中的任意向量。

解的存在性与唯一性

设 A 是 m×n 矩阵,rank(A) = r:

  • 无解:当且仅当 RREF 中出现 [0 ... 0 | 1] 形式的行。
  • 唯一解:当且仅当 r = n(无自由变量)且方程组相容。
  • 无穷多解:当且仅当 r < n 且方程组相容,此时有 n-r 个自由变量。

秩-零化度定理

对于 m×n 矩阵 A,有:

rank(A) + nullity(A) = n

其中 rank(A) 是 A 的列空间维数(主元个数),nullity(A) 是零空间维数(自由变量个数)。这个定理揭示了"约束"与"自由"之间的深刻平衡。

几何解释

从几何视角理解 Ax = b:

解空间的维度

若 rank(A) = r,则列空间是 Rᵐ 的 r 维子空间,零空间是 Rⁿ 的 (n-r) 维子空间。当 b ∈ Col(A) 时,解空间是 Rⁿ 中一个 (n-r) 维的仿射子空间。

02

计算方法

高斯消元法

高斯消元通过三种初等行变换将增广矩阵化为 RREF:

  1. 交换两行。
  2. 某行乘以非零常数。
  3. 将一行的倍数加到另一行。

从高到低(前向消元),再从低到高(回代),即可得到 RREF。

求通解的步骤

  1. 构造增广矩阵 [A|b],化为 RREF。
  2. 判断相容性:若出现 [0 ... 0 | c](c≠0),则无解。
  3. 确定基本变量和自由变量。
  4. 令每个自由变量分别取 1(其余取 0),求出零空间的一组基。
  5. 令所有自由变量为 0,求出一个特解。
  6. 通解 = 特解 + 自由变量的线性组合。

判断解的存在唯一性

对于 n×n 方阵 A:

03

工程应用

电路分析(基尔霍夫定律)

电路网络中的电流分布由基尔霍夫电流定律(KCL)和电压定律(KVL)描述。将每个回路的电压方程和每个节点的电流方程联立,就得到一个线性方程组。求解该方程组可得到各支路电流,这是电路仿真软件(如SPICE)的核心计算步骤。

结构力学(有限元方程)

在有限元分析中,结构的位移场通过离散化为节点位移向量 u 来表示。整体刚度矩阵 K 与载荷向量 f 满足 Ku = f。求解这个大型稀疏线性方程组,就能得到结构在受力后的变形和应力分布。秩不足意味着结构存在刚体位移(未完全约束)。

流量平衡(网络流)

交通网络、管道网络或通信网络中的流量满足守恒定律:每个节点的流入等于流出。将各边的流量设为未知量,节点守恒条件构成线性方程组。零空间中的向量对应网络中的"环流"(circulation),即不违反守恒定律的内部循环流量。

经济学投入产出模型

列昂惕夫投入产出模型用线性方程组描述经济部门之间的关系。设 x 为各部门总产出向量,A 为消耗系数矩阵,d 为最终需求向量,则 (I-A)x = d。解此方程组可预测满足最终需求所需的总产出水平,是国民经济核算的重要工具。

04

例题

例题 6.1

用高斯消元法求解方程组 Ax = b,其中:

A = [ 1 2 1 ]    b = [ 4 ]
     [ 2 4 3 ]         [ 9 ]
     [ 3 6 5 ]         [ 14 ]

构造增广矩阵:

[ 1 2 1 | 4 ]
[ 2 4 3 | 9 ]
[ 3 6 5 | 14 ]

R₂ ← R₂ - 2R₁, R₃ ← R₃ - 3R₁:

[ 1 2 1 | 4 ]
[ 0 0 1 | 1 ]
[ 0 0 2 | 2 ]

R₃ ← R₃ - 2R₂, R₁ ← R₁ - R₂:

[ 1 2 0 | 3 ]
[ 0 0 1 | 1 ]
[ 0 0 0 | 0 ]

主元列:1, 3;自由列:2。令 x₂ = t,则 x₁ = 3 - 2t, x₃ = 1。

x = (3, 0, 1)ᵀ + t·(-2, 1, 0)ᵀ,t ∈ R
例题 6.2

判断以下方程组解的个数:

x + 2y + z = 3
2x + 4y + 2z = 7
3x + 6y + 4z = 10

增广矩阵:

[ 1 2 1 | 3 ]
[ 2 4 2 | 7 ]
[ 3 6 4 | 10 ]

R₂ ← R₂ - 2R₁, R₃ ← R₃ - 3R₁:

[ 1 2 1 | 3 ]
[ 0 0 0 | 1 ]
[ 0 0 1 | 1 ]

交换 R₂ 和 R₃ 后,第二行变为 [0 0 0 | 1],即 0 = 1,矛盾。

方程组不相容,无解。
例题 6.3

求矩阵 A 的零空间 Nul(A),其中:

A = [ 1 2 0 3 ]
     [ 2 4 1 8 ]
     [ 3 6 1 11 ]

将 A 化为 RREF:

R₂ ← R₂ - 2R₁, R₃ ← R₃ - 3R₁:

[ 1 2 0 3 ]
[ 0 0 1 2 ]
[ 0 0 1 2 ]

R₃ ← R₃ - R₂:

[ 1 2 0 3 ]
[ 0 0 1 2 ]
[ 0 0 0 0 ]

主元列:1, 3;自由列:2, 4。令 x₂ = s, x₄ = t。

由 RREF:x₁ = -2s - 3t, x₃ = -2t。

因此 x = s·(-2, 1, 0, 0)ᵀ + t·(-3, 0, -2, 1)ᵀ。

Nul(A) = span{(-2,1,0,0)ᵀ, (-3,0,-2,1)ᵀ},dim Nul(A) = 2
例题 6.4

利用秩-零化度定理,分析矩阵 A(同上题)的列空间和零空间维数,并验证 rank(A) + nullity(A) = n。

矩阵 A 是 3×4,故 n = 4。

由 RREF 可知主元个数为 2,因此 rank(A) = 2。

由例题 6.3,零空间由 2 个基向量张成,故 nullity(A) = 2。

验证:rank(A) + nullity(A) = 2 + 2 = 4 = n。

列空间 Col(A) 是 R³ 的 2 维子空间(一个过原点的平面)。

零空间 Nul(A) 是 R⁴ 的 2 维子空间。

rank(A) = 2, nullity(A) = 2, 满足秩-零化度定理。
05

MATLAB 实践

求解 Ax = b

MATLAB
% 定义矩阵 A 和向量 b A = [1 2 1; 2 4 3; 3 6 5]; b = [4; 9; 14]; % 行简化阶梯形 R = rref([A b]); disp('增广矩阵的 RREF:'); disp(R); % 求特解(使用反斜杠,给出最小范数解) xp = A \ b; disp('特解 x_p:'); disp(xp'); % 求零空间 N = null(A, 'r'); % 'r' 表示有理形式 disp('零空间基向量:'); disp(N);

秩、零化度与解的判断

MATLAB
% 矩阵的秩 r = rank(A); disp(['rank(A) = ', num2str(r)]); % 零化度 = n - rank [n_col, ~] = size(A); nullity = n_col - r; disp(['nullity(A) = ', num2str(nullity)]); % 判断解的情况 aug_rank = rank([A b]); if aug_rank > r disp('方程组无解'); elseif nullity == 0 disp('方程组有唯一解'); else disp('方程组有无穷多解'); end

结果展示

MATLAB 命令行输出如下:

MATLAB 输出
增广矩阵的 RREF: 1 2 0 3 0 0 1 1 0 0 0 0 特解 x_p: 2.1000 0.9000 1.0000 零空间基向量: -2 1 0 rank(A) = 2 nullity(A) = 1 方程组有无穷多解
解的几何结构:特解 + 零空间
← 上一章:基与维数 下一章:行列式 →