# 扰动敏感性与逆矩阵例题

[[MCS/day8/00 学习指南|day8 学习指南]] · [[MCS/00 MCS学习总览|十一天总览]] · [[MCS/day8/阅读核验与疑问|阅读核验与疑问]] · 上一篇：[[MCS/day8/08 高斯消元与回代例题|高斯消元与回代例题]]

> 来源：[[MCS/day8例题3|day8例题3]]。用途：例题。原有推导、追问与解答保留；阅读时请结合本日核验说明。

## 一、方程组：\(x+y=2,\ x+1.01 y=2.01\)

### 1. 原方程组精确解

方程组：

$$
\begin{cases}
x+y=2\\
x+1.01y=2.01
\end{cases}
$$

由第一式：

$$
x=2-y
$$

代入第二式：

$$
(2-y)+1.01y=2.01
$$

$$
2+0.01y=2.01
$$

$$
0.01y=0.01
$$

$$
y=1
$$

所以：

$$
x=2-1=1
$$

因此精确解为：

$$
\boxed{x=1,\ y=1}
$$

---

### 2. 只改第二个方程右边为 2.06

新方程组：

$$
\begin{cases}
x+y=2\\
x+1.01y=2.06
\end{cases}
$$

仍由第一式：

$$
x=2-y
$$

代入第二式：

$$
(2-y)+1.01y=2.06
$$

$$
2+0.01y=2.06
$$

$$
0.01y=0.06
$$

$$
y=6
$$

于是：

$$
x=2-6=-4
$$

所以新的精确解为：

$$
\boxed{x=-4,\ y=6}
$$

---

### 3. 为什么右边只改了 \(0.05\)，交点却跑得很远

系数矩阵为：

$$
A=
\begin{pmatrix}
1 & 1\\
1 & 1.01
\end{pmatrix}
$$

行列式：

$$
\det(A)=1\times 1.01-1\times 1=0.01
$$

这个行列式非常小，说明矩阵 \(A\) 接近奇异。

几何上，两条直线为：

$$
y=2-x
$$

和

$$
y=\frac{2.01-x}{1.01}
$$

它们的斜率分别是：

$$
-1,\qquad -\frac{1}{1.01}
$$

两者非常接近，所以两条直线几乎平行。

几乎平行的两条直线，交点对右端项的变化非常敏感。

第二个方程右边从 \(2.01\) 变成 \(2.06\)，只变化了：

$$
\Delta b_2=0.05
$$

但因为：

$$
\det(A)=0.01
$$

所以对 \(y\) 的影响大致为：

$$
\Delta y=\frac{\Delta b_2}{\det(A)}
=\frac{0.05}{0.01}=5
$$

原来 \(y=1\)，现在 \(y=6\)，确实变化了 \(5\)。

又因为：

$$
x=2-y
$$

所以 \(x\) 也跟着变化 \(-5\)，从 \(1\) 变成 \(-4\)。

因此根本原因是：

$$
\boxed{\det(A)=0.01\text{ 很小，方程组接近奇异，解对右端项非常敏感}}
$$

---

### 4. 用条件数说明“放大倍数”

矩阵 \(A\) 的条件数通常定义为：

$$
\kappa(A)=\|A\|\,\|A^{-1}\|
$$

如果使用谱条件数，则：

$$
\kappa_2(A)=\frac{\lambda_{\max}}{\lambda_{\min}}
$$

其中 \(\lambda_{\max}\)、\(\lambda_{\min}\) 是 \(A^TA\) 的最大、最小特征值。

这里：

$$
A=
\begin{pmatrix}
1 & 1\\
1 & 1.01
\end{pmatrix}
$$

计算：

$$
A^TA=
\begin{pmatrix}
1 & 1\\
1 & 1.01
\end{pmatrix}^T
\begin{pmatrix}
1 & 1\\
1 & 1.01
\end{pmatrix}
$$

先算：

$$
A^TA=
\begin{pmatrix}
1 & 1\\
1 & 1.01
\end{pmatrix}
\begin{pmatrix}
1 & 1\\
1 & 1.01
\end{pmatrix}
$$

第一行第一列：

$$
1\cdot 1+1\cdot 1=2
$$

第一行第二列：

$$
1\cdot 1+1\cdot 1.01=2.01
$$

第二行第一列：

$$
1\cdot 1+1.01\cdot 1=2.01
$$

第二行第二列：

$$
1\cdot 1+1.01\cdot 1.01=1+1.0201=2.0201
$$

所以：

$$
A^TA=
\begin{pmatrix}
2 & 2.01\\
2.01 & 2.0201
\end{pmatrix}
$$

最大奇异值大约在 \(2\) 左右，最小奇异值大约与：

$$
\frac{|\det(A)|}{\sigma_{\max}}
$$

同量级：

$$
\sigma_{\min}\approx \frac{0.01}{2}=0.005
$$

于是：

$$
\kappa(A)\approx \frac{2}{0.005}=400
$$

所以条件数大约是：

$$
\boxed{\kappa(A)\approx 400}
$$

条件数的意义是：

$$
\frac{\|\Delta x\|}{\|x\|}
\lesssim
\kappa(A)
\frac{\|\Delta b\|}{\|b\|}
$$

也就是说，右端项 \(b\) 的相对误差，会被放大最多约 \(\kappa(A)\) 倍，传到解 \(x\) 上。

这里：

$$
\kappa(A)\approx 400
$$

右端第二个分量只改了：

$$
2.06-2.01=0.05
$$

相对变化大约是：

$$
\frac{0.05}{2.01}\approx 0.025
$$

放大 \(400\) 倍后，解的相对变化可能达到：

$$
400\times 0.025=10
$$

也就是 \(1000\%\) 量级。

所以解从：

$$
(1,1)
$$

跑到：

$$
(-4,6)
$$

就不奇怪了。

---

### 5. 更完整的课堂表述

这个方程组的系数矩阵是：

$$
A=
\begin{pmatrix}
1 & 1\\
1 & 1.01
\end{pmatrix}
$$

它的行列式：

$$
\det(A)=0.01
$$

非常小，说明矩阵接近奇异。

几何上，两条直线斜率分别是：

$$
-1,\qquad -\frac{1}{1.01}
$$

几乎平行，所以交点对右端项非常敏感。

这种问题叫做病态问题。

用条件数刻画：

$$
\kappa(A)\approx 400
$$

条件数很大时，右端项一点点扰动，解就会被放大很多倍，甚至“飞掉”。

所以第二个方程右边只改了 \(0.05\)，解却从：

$$
(1,1)
$$

变成：

$$
(-4,6)
$$

---

## 二、矩阵 \(A=\begin{pmatrix}2&1\\1&3\end{pmatrix}\)

题目：

矩阵：

$$
A=
\begin{pmatrix}
2 & 1\\
1 & 3
\end{pmatrix}
$$

1. 求行列式和逆矩阵。
2. 解：
   $$
   A
   \begin{pmatrix}
   x\\
   y
   \end{pmatrix}
   =
   \begin{pmatrix}
   5\\
   5
   \end{pmatrix}
   $$
3. 数学上可以用逆矩阵去乘，为什么在计算机里仍优先解方程，而不是先求逆再乘？

---

### 1. 行列式和逆矩阵

矩阵为：

$$
A=
\begin{pmatrix}
2 & 1\\
1 & 3
\end{pmatrix}
$$

行列式：

$$
\det(A)=2\times 3-1\times 1=6-1=5
$$

所以：

$$
\boxed{\det(A)=5}
$$

二阶矩阵求逆公式：

若：

$$
A=
\begin{pmatrix}
a & b\\
c & d
\end{pmatrix}
$$

则：

$$
A^{-1}=
\frac{1}{ad-bc}
\begin{pmatrix}
d & -b\\
-c & a
\end{pmatrix}
$$

这里：

$$
a=2,\quad b=1,\quad c=1,\quad d=3
$$

所以：

$$
A^{-1}=
\frac{1}{5}
\begin{pmatrix}
3 & -1\\
-1 & 2
\end{pmatrix}
$$

即：

$$
A^{-1}=
\begin{pmatrix}
\frac{3}{5} & -\frac{1}{5}\\[4pt]
-\frac{1}{5} & \frac{2}{5}
\end{pmatrix}
$$

因此：

$$
\boxed{
A^{-1}=
\begin{pmatrix}
\frac{3}{5} & -\frac{1}{5}\\[4pt]
-\frac{1}{5} & \frac{2}{5}
\end{pmatrix}
}
$$

---

### 2. 解方程

方程是：

$$
A
\begin{pmatrix}
x\\
y
\end{pmatrix}
=
\begin{pmatrix}
5\\
5
\end{pmatrix}
$$

即：

$$
\begin{pmatrix}
2 & 1\\
1 & 3
\end{pmatrix}
\begin{pmatrix}
x\\
y
\end{pmatrix}
=
\begin{pmatrix}
5\\
5
\end{pmatrix}
$$

写成方程组：

$$
\begin{cases}
2x+y=5\\
x+3y=5
\end{cases}
$$

由第一式：

$$
y=5-2x
$$

代入第二式：

$$
x+3(5-2x)=5
$$

$$
x+15-6x=5
$$

$$
-5x=-10
$$

$$
x=2
$$

再代回：

$$
y=5-2\times 2=1
$$

所以：

$$
\boxed{x=2,\ y=1}
$$

也就是：

$$
\boxed{
\begin{pmatrix}
x\\
y
\end{pmatrix}
=
\begin{pmatrix}
2\\
1
\end{pmatrix}
}
$$

用逆矩阵验证：

$$
\begin{pmatrix}
x\\
y
\end{pmatrix}
=
A^{-1}
\begin{pmatrix}
5\\
5
\end{pmatrix}
=
\frac{1}{5}
\begin{pmatrix}
3 & -1\\
-1 & 2
\end{pmatrix}
\begin{pmatrix}
5\\
5
\end{pmatrix}
$$

$$
=
\frac{1}{5}
\begin{pmatrix}
15-5\\
-5+10
\end{pmatrix}
=
\frac{1}{5}
\begin{pmatrix}
10\\
5
\end{pmatrix}
=
\begin{pmatrix}
2\\
1
\end{pmatrix}
$$

结果一致。

---

### 3. 为什么计算机里优先解方程，而不是先求逆再乘？

数学上，如果 \(A\) 可逆，那么：

$$
Ax=b
$$

的解可以写成：

$$
x=A^{-1}b
$$

这没错。但是在计算机数值计算中，通常不会先求逆矩阵再乘，而是直接用消元法、LU 分解等解方程。

原因主要有以下几点。

#### ① 求逆计算量更大

解一个 \(n\) 元线性方程组，用高斯消元法大约需要：

$$
\frac{2}{3}n^3
$$

次浮点运算。

而求逆矩阵，本质上相当于解 \(n\) 个右端项不同的方程组：

$$
AX=I
$$

计算量大约是：

$$
2n^3
$$

甚至更多。

所以求逆比直接解方程更费时间。

#### ② 求逆再乘会引入更多误差

先求 \(A^{-1}\)，再算：

$$
x=A^{-1}b
$$

会多一步矩阵乘法，也会多一次舍入误差。

而直接解方程，比如用 LU 分解：

$$
PA=LU
$$

然后依次解：

$$
Ly=Pb,\qquad Ux=y
$$

通常数值更稳定，误差更小。

#### ③ 逆矩阵可能根本不需要显式求出来

很多实际问题中，我们只关心：

$$
x=A^{-1}b
$$

这个结果，而不关心 \(A^{-1}\) 本身。

既然如此，就没必要把整个逆矩阵算出来。

#### ④ 当矩阵接近奇异时，求逆更危险

如果 \(A\) 接近奇异，\(\det(A)\) 很小，那么 \(A^{-1}\) 的元素会非常大。

这时候显式求逆，误差会被严重放大。

而直接解方程，结合选主元等技巧，通常能更好地控制误差。

#### ⑤ 稀疏矩阵求逆会变成稠密矩阵

如果 \(A\) 是稀疏矩阵，比如很多元素为 \(0\)，那么：

- 解方程可以保持稀疏性，计算和存储都省；
- 但 \(A^{-1}\) 往往变成稠密矩阵，存储和计算量都会爆炸。

所以在大规模科学计算中，更是尽量避免求逆。

---

## 三、总结

### 题 1

#### (1)

$$
\boxed{x=1,\ y=1}
$$

#### (2)

$$
\boxed{x=-4,\ y=6}
$$

#### (3)

因为：

$$
\det(A)=0.01
$$

很小，方程组接近奇异，右边改 \(0.05\) 会导致解变化约：

$$
\frac{0.05}{0.01}=5
$$

所以交点跑得很远。

更完整地说：

- 行列式小，矩阵接近奇异；
- 几何上两条直线几乎平行；
- 条件数约为 \(400\)，右端扰动会被放大很多倍；
- 因此解会“飞掉”。

---

### 题 2

#### (1)

$$
\boxed{\det(A)=5}
$$

$$
\boxed{
A^{-1}=
\begin{pmatrix}
\frac{3}{5} & -\frac{1}{5}\\[4pt]
-\frac{1}{5} & \frac{2}{5}
\end{pmatrix}
}
$$

#### (2)

$$
\boxed{
\begin{pmatrix}
x\\
y
\end{pmatrix}
=
\begin{pmatrix}
2\\
1
\end{pmatrix}
}
$$

#### (3)

计算机里优先解方程，而不是先求逆再乘，主要因为：

- 求逆计算量更大；
- 求逆再乘误差更大；
- 很多情况下不需要显式逆矩阵；
- 矩阵接近奇异时求逆更不稳定；
- 稀疏矩阵求逆会变成稠密矩阵，代价太高。

所以实际数值计算中，通常直接解：

$$
Ax=b
$$

而不是算：

$$
x=A^{-1}b
$$
