3.1 解的存在性与唯一性
线性方程组 Ax = b 是线性代数的核心问题。《Linear Algebra and Its Applications》将其作为全书起点,因为它直接连接理论与应用。
从映射的角度看,Ax = b 问的是:b 是否在 A 的列空间中? 三种情况:
- 唯一解:A 的列线性无关,且 b 在列空间中(r = n = m)
- 无穷多解:A 的列线性相关,但 b 在列空间中(r < n)
- 无解:b 不在列空间中(r < m)
秩-零化度定理
dim(Col A) + dim(Null A) = n。即"独立方向数" + "自由方向数" = 总维度。
几何解释
每一行方程代表一个超平面。方程组的解就是所有超平面的交点。当超平面"恰好"相交于一点时,有唯一解;当它们相交于一条线或一个平面时,有无穷多解;当它们"平行"不相交时,无解。
3.2 高斯消元法
高斯消元法的本质是:通过初等行变换将矩阵化为行阶梯形。这些变换不改变解集,因为等价于左乘可逆矩阵。
三种初等行变换:
- 交换两行
- 某行乘以非零常数
- 某行加上另一行的倍数
示例:求解 3×3 方程组
方程组:
2x + y - z = 8
-3x - y + 2z = -11
-2x + y + 2z = -3
增广矩阵经消元后得到上三角矩阵,回代求解得 x=2, y=3, z=-1。
A = [2 1 -1; -3 -1 2; -2 1 2];
b = [8; -11; -3];
x = A \ b;
[L, U, P] = lu(A);
y = L \ (P*b);
x_lu = U \ y;
residual = norm(A*x - b);
LU 分解
LU 分解将 A 分解为下三角矩阵 L 和上三角矩阵 U 的乘积。这使得求解多个右端项的方程组非常高效 —— 只需一次分解,然后多次回代。
PA = LU,然后 Ly = Pb,Ux = y
3.3 列空间与零空间
《Linear Algebra Done Right》将这四个子空间(列空间、零空间、行空间、左零空间)作为理解矩阵结构的关键。
| 子空间 | 定义 | 维数 | 直觉 |
| 列空间 Col A | A 的列的所有线性组合 | rank(A) | "能到达"的所有输出 |
| 零空间 Null A | Ax = 0 的所有解 | n - rank(A) | "被压缩到零"的输入 |
| 行空间 Row A | A 的行的所有线性组合 | rank(A) | 影响输出的输入方向 |
| 左零空间 Null Aᵀ | Aᵀy = 0 的所有解 | m - rank(A) | "无法被表示"的输出方向 |
正交补关系
Col A 的正交补是 Null Aᵀ,Row A 的正交补是 Null A。这意味着:任何向量都可以唯一分解为"在列空间中"和"在左零空间中"两部分。
3.4 综合例题
第一步:写出增广矩阵
[1 2 1 | 5]
[3 1 -3 | -1]
[2 3 1 | 8]
第二步:消元——将第一列下方的元素化为零
R₂ ← R₂ - 3R₁:[1 2 1 | 5]
[0 -5 -6 |-16]
[2 3 1 | 8]
R₃ ← R₃ - 2R₁:[1 2 1 | 5]
[0 -5 -6 |-16]
[0 -1 -1 | -2]
第三步:继续消元——将第二列下方的元素化为零
R₃ ← R₃ - (1/5)R₂:[1 2 1 | 5]
[0 -5 -6 |-16]
[0 0 1/5|-6/5]
R₃ ← -5·R₃:[1 2 1 | 5]
[0 -5 -6 |-16]
[0 0 1 | 6]
第四步:回代求解
由第三行:x₃ = 6
由第二行:-5x₂ - 6×6 = -16 → -5x₂ = -16 + 36 = 20 → x₂ = -4
由第一行:x₁ + 2×(-4) + 6 = 5 → x₁ - 8 + 6 = 5 → x₁ = 7
x₁ = 7,x₂ = -4,x₃ = 6
第一步:行化简
[1 2 3]
[4 5 6]
[7 8 9]
R₂ ← R₂ - 4R₁,R₃ ← R₃ - 7R₁:
[1 2 3]
[0 -3 -6]
[0 -6 -12]
R₃ ← R₃ - 2R₂:
[1 2 3]
[0 -3 -6]
[0 0 0]
第二步:确定秩和列空间
行阶梯形有 2 个非零行,因此 rank(A) = 2
主元列是第 1 列和第 2 列,列空间由 A 的第 1、2 列张成:
Col(A) = span{(1, 4, 7)ᵀ, (2, 5, 8)ᵀ}
第三步:求零空间
由行阶梯形得方程组:
x₁ + 2x₂ + 3x₃ = 0
-3x₂ - 6x₃ = 0 → x₂ = -2x₃
令自由变量 x₃ = t,则 x₂ = -2t,x₁ = -2(-2t) - 3t = t
Null(A) = {t(1, -2, 1)ᵀ : t ∈ R} = span{(1, -2, 1)ᵀ}
rank(A) = 2,Col(A) 由 (1,4,7)ᵀ 和 (2,5,8)ᵀ 张成,Null(A) 由 (1,-2,1)ᵀ 张成,dim(Null) = 1(满足秩-零化度定理:2 + 1 = 3)
第一步:写出增广矩阵
系数矩阵 A = [[1, 1, 1], [1, 1, 1]]
增广矩阵 [A|b]:
[1 1 1 | 1]
[1 1 1 | 2]
第二步:行化简
R₂ ← R₂ - R₁:
[1 1 1 | 1]
[0 0 0 | 1]
最后一行表示 0 = 1,出现矛盾!
第三步:利用秩判定
rank(A) = 1(系数矩阵只有一行独立)
rank([A|b]) = 2(增广矩阵有两行独立)
rank(A) ≠ rank([A|b]),方程组无解
几何意义:b = (1, 2)ᵀ 不在 A 的列空间中
方程组无解(两个方程要求 x+y+z 同时等于 1 和 2,这是不可能的;b = (1,2)ᵀ 不在 A 的列空间中)
3.5 工程应用:电路网络
电路分析是线性方程组的经典应用。基尔霍夫定律(KCL 和 KVL)导出线性方程组,节点电压法或回路电流法将其系统化。
工程实例:电阻网络
一个包含 n 个节点的电阻网络,节点电压方程为 Gv = i,其中 G 是电导矩阵(对称正定),v 是节点电压向量,i 是注入电流向量。求解这个线性系统即可得到各节点电压。
稀疏性:大型电路网络的电导矩阵通常是稀疏的(大部分元素为零)。利用稀疏矩阵算法,可以高效求解包含数百万节点的电路。
G = [3 -1 -1;
-1 3 -1;
-1 -1 3];
i = [1; 0; -1];
v = G \ i;
power_in = i' * v;
n = 1000;
G_sparse = gallery('tridiag', n, -1, 3, -1);
i_sparse = zeros(n,1); i_sparse(1) = 1; i_sparse(n) = -1;
v_sparse = G_sparse \ i_sparse;