2.3 扰动分析
在实际应用中, 所给的数据 (系数矩阵 A 和右端项 b ) 往往是通过实验或观测等方式获得的, 因此通常是带有误差的, 这也导致最后求得的数值解也是有误差的. 本节就讨论原始数据误差对最后数值解的影响.
2.3.1 矩阵条件数
定义2.1 考虑线性方程组 Ax=b , 如果 A 或 b 的微小变化会导致解的巨大变化, 则称此线性方程组是病态的, 反之则是良态的.
例2.5 考虑线性方程组 Ax=b ,其中 A=[1111.0001] , b=[2,2]T ,可求得其解为 x=[2,0]T 。如果 b 的第二个元素出现细微的偏差,变为 b=[2,2.0001]T ,则解就变为 x=[1,1]T 。由此可见,当右端项出现细微变化时,解会出现很大的变化,因此该线性方程组是病态的。
线性方程组是否病态主要取决于其系数矩阵. 怎样来判断一个矩阵是否病态? 目前比较常用的一个指标就是矩阵条件数.
定义2.2 设 A 非奇异, ∥⋅∥ 是任一算子范数, 则称
κ(A)≜∥A−1∥∥A∥ 为 A 的条件数.
常用的矩阵条件数有
κ2(A)≜∥A−1∥2∥A∥2,κ1(A)≜∥A−1∥1∥A∥1,κ∞(A)≜∥A−1∥∞∥A∥∞. κ2(A) 也称为谱条件数, 当 A 对称时, 有
κ2(A)=1≤i≤nmin∣λi∣1≤i≤nmax∣λi∣. 一般情况下, 如果没有特别指出, 则 κ(A) 指的是矩阵 A 的谱条件数.
例2.6 设 A=[1111.0001] , 则 A−1=[10001−10000−1000010000] , 因此
κ2(A)≈4.0002×104,κ1(A)=κ∞≈4.0004×104. 由此可见, A 是非常病态的
条件数是衡量一个矩阵是否病态的主要指标。当矩阵条件数比较大时,我们就称这个矩阵是病态(或者坏条件)的。由 (2.17) 可知,如果矩阵是病态的,则近似解的误差受数据扰动的影响就可能会很大。
如果一个矩阵的某列的2-范数明显远远小于其他列,则该矩阵通常是病态的.
例2.7 Hilbert矩阵是一个典型的病态矩阵, 其定义如下:
Hn=[hij]n×n,其 中hij=i+j−11. 可以验证 Hn 是对称正定的,但随着 n 的增长,其条件数会快速增长,见下表:
表 2.1. Hilbert 矩阵的条件数
2.3.2 δx 与 x^ 的关系
设 x∗ 是精确解, x^ 是通过数值计算得到的近似解. 假定 x^ 满足线性方程组
(A+δA)x^=b+δb. 下面讨论 δx≜x^−x∗ 的大小, 即向后误差分析.
定理2.13 设 ∥⋅∥ 是任一向量范数(当该范数作用在矩阵上时就是相应的导出范数),则 δx 与 x^ 满足下面的关系式
∥x^∥∥δx∥≤∥A−1∥∥A∥(∥A∥∥δA∥+∥A∥∥x^∥∥δb∥). 当 δb=0 时,有
∥x^∥∥δx∥≤κ(A)∥A∥∥δA∥,(2.19) 其中 κ(A)≜∥A−1∥∥A∥ (板书)
证明. 由等式 (A+δA)x^=b+δb=Ax∗+δb 可知 A(x^−x∗)=−δAx^+δb , 即
δx=A−1(−δAx^+δb). 所以
∥δx∥≤A−1⋅(∥δA∥⋅∥x^∥+∥δb∥),(2.20) 即
∥x^∥∥δx∥≤∥A−1∥⋅∥A∥(∥A∥∥δA∥+∥A∥⋅∥x^∥∥δb∥). 若 δb=0 ,则可得
∥x^∥∥δx∥≤κ(A)∥A∥∥δA∥. 
由(2.17)可知,如果矩阵是病态的,则近似解的误差受数据扰动的影响就可能会很大。
2.3.3 δx 与 x∗ 的关系
引理2.14 设 ∥⋅∥ 是任一算子范数, B∈Rn×n . 若 ∥B∥<1 , 则 I−B 可逆, 且有
(I−B)−1=k=0∑∞Bk和∥(I−B)−1∥≤1−∥B∥1. (板书)
证明. 由 ∥B∥<1 可知 ρ(B)<1 , 所以 I−B 的特征值都具有正实部, 故 I−B 非奇异.
下面证明 (I−B)−1=∑k=0∞Bk . 首先证明级数 ∑k=0∞Bk 收敛, 即其每个分量所对应的级数都收敛. 记 bij(k) 为 Bk 的第 (i,j) 元素. 由范数的等价性可知, 存在常数 c 使得对任意矩阵 X∈Rn×n 都有 ∥X∥F≤c∥X∥ . 所以
bij(k)≤BkF≤cBk≤c∥B∥k. 注意, 这里的常数 c 与 B 和 k 都无关. 由条件 ∥B∥<1 可知, 级数 ∑k=0∞c∥B∥k 收敛, 所以级数 ∑k=0∞bij(k) 也收敛, 即 ∑k=0∞Bk 收敛.
因为 limk→∞∥Bk∥=0 ,且 (I−B)(I+B+B2+⋯+Bk)=I−Bk+1 ,两边取极限可得
(I−B)k=0∑∞Bk=k→∞lim(I−Bk+1)=I, 即
(I−B)−1=k=0∑∞Bk, 且
∥(I−B)−1∥=k=0∑∞Bk≤k=0∑∞∥Bk∥≤k=0∑∞∥B∥k=1−∥B∥1. 
由 (A+δA)x^=b+δb 可得
δx=(A+δA)−1(b+δb−Ax∗−δAx∗)=(I+A−1δA)−1A−1(−δAx∗+δb). 假定 ∥δA∥ 很小, 满足 ∥A−1δA∥≤∥A−1∥∥δA∥<1 ,则由引理2.14可得
∥x∗∥∥δx∥≤∥(I+A−1δA)−1∥∥A−1∥(∥δA∥+∥x∗∥∥δb∥)≤1−∥A−1∥∥δA∥∥A−1∥(∥δA∥+∥x∗∥∥δb∥) =1−∥A−1∥∥A∥∥A∥∥δA∥∥A−1∥∥A∥(∥A∥∥δA∥+∥A∥∥x∗∥∥δb∥)≤1−κ(A)∥A∥∥δA∥κ(A)(∥A∥∥δA∥+∥b∥∥δb∥) 当 ∥δA∥→0 时,我们可得
∥x∗∥∥δx∥≤1−κ(A)∥A∥∥δA∥κ(A)(∥A∥∥δA∥+∥b∥∥δb∥)→κ(A)∥b∥∥δb∥. 定理2.15 设 A∈Rn×n 非奇异且 ∥A−1∥∥δA∥<1 ,则
∥x∗∥∥δx∥≤1−κ(A)∥A∥∥δA∥κ(A)(∥A∥∥δA∥+∥b∥∥δb∥).(2.21) 如果 ∣∣δA∣∣=0 ,则
κ(A)1∥b∥∥δb∥≤∥x∗∥∥δx∥≤κ(A)∥b∥∥δb∥.(2.22) (板书)
证明. 只需证明 (2.19) 中的左边一个不等式即可. 由于 δA=0 , 所以 Aδx=δb . 两边取范数, 然后同除 ∥x∗∥ 可得
∥x∗∥∥A∥⋅∥δx∥≥∥A−1b∥∥Aδx∥≥∥A−1∥⋅∥b∥∥δb∥. 所以结论成立.
定理2.16 设 A∈Rn×n 非奇异, 则有
min{∥A∥2∥δA∥2:A+δA奇 异}=κ2(A)1 (板书)
证明. 记 d≜min{∥δA∥2:A+δA 奇异} , 只需证明 d=∥A−1∥21 .
先证明 d≥∥A−1∥21 . 若 ∥δA∥2<∥A−1∥2−1 , 则
∥A−1δA∥2≤∥A−1∥2⋅∥δA∥2<1. 由引理2.14可知 I+A−1δA 非奇异.因此 A+δA=A(I+A−1δA) 也非奇异,这表明使得 A+δA 奇异的 δA 必须满足 ∥δA∥2≥∥A−1∥2−1 ,即
d≥∥A−1∥21. 下面证明 d≤∥A−1∥21 , 即证明存在 δA 满足 ∥δA∥2=∥A−1∥2−1 使得 A+δA 奇异. 由范数的定义可知
∥A−1∥2=∥x∥2=1max∥A−1x∥2, 故存在 x 满足 ∥x∥2=1 使得
∥A−1∥2=∥A−1x∥2. 令 y=A−1x/∥A−1x∥2 ,则 ∥y∥2=1 ,且
∥xyT∥2=∥z∥2=1max∥xyTz∥2=∥z∥2=1max∣yTz∣⋅∥x∥2=∥z∥2=1max∣yTz∣. 由于 ∣yTz∣≤∥y∥2⋅∥z∥2=1 ,且当 z=y 时有 ∣yTz∣=1 ,所以 ∥xyT∥2=1. 构造
δA=−∥A−1∥2xyT, 则
∥δA∥2=∥A−1∥2∥xyT∥2=∥A−1∥21. 下面证明 A+δA 奇异. 我们只需证明以 A+δA 为系数矩阵的齐次线性方程组有非零解. 由于 ∥A−1x∥2=∥A−1∥2 , 容易验证
(A+δA)y=A∥A−1x∥2A−1x−∥A−1∥2xyTy=∥A−1∥2x−∥A−1∥2x=0, 即 A+δA 奇异, 所以 d≤∥A−1∥21 .
综上可得
d=min{∥δA∥2:A+δA奇 异}=∥A−1∥21. 
定理2.16的结论对所有 p -范数都成立,参见[49,80].
度量
distp(A)≜min{∥A∥p∥δA∥p:A+δA奇 异}=κp(A)1, 表示 A 距离奇异矩阵集合的相对距离
2.3.4 δx 与残量的关系
这是研究线性方程组的扰动理论的一个较实用的方法.
记残量 (残差) 为 r=b−Ax^ , 则有
δx=x^−x∗=x^−A−1b=A−1(Ax^−b)=−A−1r, 所以可得
∥δx∥≤∥A−1∥∥r∥. 这个估计式的优点是不用去估计 δA 和 δb 的大小. 由于在实际计算中, r 通常是可以计算的, 因此该估计式比较实用.
定理2.17 设 A∈Rn×n 非奇异, ∥⋅∥ 为任一算子范数. 记 r=b−Ax^ , 则
(1) 若存在 A^ 满足 A^x^=b , 则 ∥A^−A∥≥∥x^∥∥r∥ ;
(2) 存在 δA 满足 ∥δA∥=∥x^∥∥r∥ , 使得 (A+δA)x^=b .
(板书)
证明. (1) 由 A^x^=b 可知
(A^−A)x^=b−Ax^=r. 所以有
∥r∥=∥(A^−A)x^∥≤∥A^−A∥⋅∥x^∥, 即
∥A^−A∥≥∥x^∥∥r∥. (2) 以 2-范数为例, 取 δA=∥x^∥22rx^T 即可.

2.3.5 相对扰动分析
前面给出了解的误差 δx 的界是与条件数 κ(A) , δA 和 δb 成比例的. 在许多情况下, 这个界是令人满意的. 但有时会相差很大, 这个界就不能很好的反映实际计算中解的误差.
例2.8 设 A=[γ001],b=[γ1] , 其中 γ>1 . 则 Ax=b 的精确解为 x∗=[11] , 任何合理的直接法求得的解的误差都很小. 但系数矩阵的谱条件数为 κ2(A)=γ , 当 γ 很大时, κ2(A) 也很大, 因此误差界 (2.17) 和 (2.18) 可以是很大.
针对这个问题, 我们按分量进行分析. 记
δA=[δa11δa22],δb=[δb1δb2], 并设 ∣δaij∣≤ε∣aij∣,∣δbi∣≤ε∣bi∣ .则
δx=[x^1−x1x^2−x2]=[δa11+a11δb1+b1−1δa22+a22δb2+b2−1]=[δa11+γδb1+γ−1δa22+1δb2+1−1]=[δa11+γδb1−δa11δa22+1δb2−δa22]. 故
∥δx∥∞≤1−ε2ε. 如果 δb=0 ,则
∥δx∥∞≤1−εε. 这个界与 (2.17) 或 (2.18) 相差约 γ 倍
相对条件数
为了得到更好误差界,我们引入相对条件数 κcr(A) ,即
κcr(A)≜∣A−1∣∣A∣, 有时也称为Bauer条件数或Skeel条件数
假定 δA 和 δb 满足 ∣δA∣≤ε∣A∣ 和 ∣δb∣≤ε∣b∣ . 则由 (A+δA)x^=b+δb 可得
∣δx∣=A−1(−δAx^+δb)≤A−1(∣δA∣∣x^∣+∣δb∣)≤A−1(ε∣A∣∣x^∣+ε∣b∣)=εA−1(∣A∣∣x^∣+∣b∣).(2.23) 若 δb=0 ,则有
∥δx∥=∥∣δx∣∥≤ε∣A−1∣∣A∣∣x^∣≤ε∣A−1∣∣A∣∥x^∥, 即
∥x^∥∥δx∥≤∣A−1∣∣A∣ε=κcr(A)ε.(2.24) 相对条件数有下面的性质
引理2.18 设 A∈Rn×n 非奇异, D∈Rn×n 为非奇异对角矩阵, 则
κcr(DA)=κcr(A). 定理2.19 设 A∈Rn×n 非奇异. 使得 ∣δA∣≤ε∣A∣ , ∣δb∣≤ε∣b∣ 成立, 且满足
(A+δA)x^=b+δb 的最小的 ε>0 称为按分量的相对向后误差, 其表达式为
ε=1≤i≤nmax(∣A∣∣x^∣+∣b∣)i∣ri∣, 其中 r=b−Ax^
更多关于数值计算的稳定性和矩阵扰动分析方面的知识, 可以参考 [70, 122, 148].