对应教材 2.3.1–2.3.2、定理 2.6、例 4–5、习题 9–12;对应老师第 3 讲 §一(点到)。
本节回答:数据有微小扰动时,解会坏多少? 答案由条件数 cond(A) 决定。
定义:对非奇异矩阵 A,称
cond(A)=∥A∥∥A−1∥
为 A 的条件数。常用 cond1,cond∞,cond2;其中
cond2(A)=σmin(A)σmax(A)=λmin(ATA)λmax(ATA).
性质:cond(A)≥1;cond(kA)=cond(A) (k=0);正交矩阵 cond2(Q)=1;实对称矩阵 cond2(A)=∣λmax∣/∣λmin∣。
定理 2.6(扰动界):设 A 非奇异,x 是 Ax=b 的解,b=0。若 ∥A−1∥∥ΔA∥<1,则 A+ΔA 非奇异,且
∥x∥∥Δx∥≤1−cond(A)ρAcond(A)(ρA+ρb),ρA=∥A∥∥ΔA∥,ρb=∥b∥∥Δb∥.
证明要点:由 (A+ΔA)(x+Δx)=b+Δb 减去 Ax=b,得
Δx=A−1Δb−A−1ΔAx−A−1ΔAΔx.
取范数,把最后一项移到左边,用 ∥b∥≤∥A∥∥x∥ 放缩,即得。■
读法:条件数把“输入的相对扰动”放大成“输出的相对扰动”的上界。cond(A) 大,问题病态;此时换算法救不了,只能换提法(换基、正则化、提高精度)。
例 4(教材 2.3.1):教材用
A=(1111.0001)
展示右端微小扰动引起解的巨大变化;其 cond∞(A)≈4.0×104,右端 0.005% 的扰动可带来约 50% 的解误差。
例 5(教材 2.3.1–2.3.2):系数矩阵元素数量级悬殊时,先做行均衡化(每行除以该行最大元素)再算条件数/求解;否则“病态”可能只是量纲造成的假象。
教材 2.3.2 给出四条常用办法:
- 提高精度:双精度/多精度能减轻舍入,但不能改变条件数;条件数 1020 时仍然无解。
- 行(列)均衡化:把每行/列缩放到同一量级,降低人为病态。
- 残差校正(迭代精化):用当前解算残差 r=b−Ax^,解 AΔx=r,令 x^←x^+Δx;在条件数不太大且残差计算足够精确时有效。
- 换提法:正则化(Tikhonov)、换基(如插值从范德蒙德基换到拉格朗日基)、增广方程等。
关键区分:残差小 = 误差小。e=A−1r,所以
∥x∥∥e∥≤cond(A)∥b∥∥r∥.
条件数大时,残差可以很小而误差仍然很大。停机判据只能保证“残差小”,不能保证“解准”。
2.9 · 八位十进制列主元 + 条件数(教材习题 9)
用八位十进制列主元 Gauss 消去求解教材习题 9 的方程组,并求系数矩阵的行范数条件数;结果说明什么?
参考答案
列主元保证乘数 ≤1,但若 cond∞(A) 很大,解的相对误差仍会被放大;条件数大说明问题是病态的,换算法只能避免额外误差,不能把病态变良态。
2.10 · 正交矩阵的条件数(教材习题 10)
设 A 是正交矩阵,证明 cond2(A)=1。
参考答案
正交矩阵满足 ATA=I,故 σi(A)=1,于是 cond2(A)=σmax/σmin=1。几何上,正交变换不改变长度,最坏放大倍数就是 1。
2.11 · 残差与误差界(教材习题 11)
设 A 非奇异,x~ 是 Ax=b 的近似解,r=b−Ax~。证明
∥x∗∥∥x∗−x~∥≤cond(A)∥b∥∥r∥.
参考答案
x∗−x~=A−1r,取范数得 ∥x∗−x~∥≤∥A−1∥∥r∥;又 ∥b∥≤∥A∥∥x∗∥,相除即得。
2.12 · 条件数与残差反例(教材习题 12)
对教材习题 12 的 A,b,计算行范数条件数,并比较两个近似解的残差与误差;说明什么?
参考答案
A 的两行近似线性相关,cond∞(A) 很大;两个近似解的残差都可能很小,但误差可以相差很大。结论:残差不是误差,条件数大时尤其不能用残差小来判断解准。
覆盖核对
本节覆盖教材 2.3.1–2.3.2、定理 2.6、例 4–5、习题 9–12;老师第 3 讲 §一(条件数的范数语言)。下一节:2.4.1 迭代法引论。