Skip to content

线性方程组的条件数与扰动

Conditioning of linear systems · Matrix condition number

把一般问题条件性具体化为可逆线性系统的右端、系数矩阵与联合扰动界。

形式陈述

考虑可逆方阵的线性系统

Ax=b,AFn×n.

选定相容的向量与矩阵范数后,定义

κ(A)=AA1.

条件数描述问题映射 bA1b 对相对扰动的最坏放大,不评价所用算法。它依赖范数与坐标尺度,但对整体非零标量缩放不变:κ(αA)=κ(A)。在 2-范数下,

κ2(A)=σmax(A)σmin(A);

矩阵奇异时约定条件数为无穷。

若只扰动右端,A(x+δx)=b+δb,则 δx=A1δb,从而

δxxκ(A)δbb.

若系数矩阵与右端同时变为 A+Eb+f,记

εA=EA,εb=fb.

κ(A)εA<1 时,Neumann 级数保证 A+E 仍可逆,并给出有限扰动界

δxxκ(A)1κ(A)εA(εA+εb).

当扰动足够小时,分母接近 1,于是得到“相对解误差约不超过条件数乘相对数据误差”的一阶规律。它是最坏方向的上界,不保证每个具体扰动都达到等号。

对满列秩长方矩阵,正规方程的条件数平方可以直接由奇异值推导:

κ2(AA)=σmax(A)2σmin(A)2=κ2(A)2.

这条恒等式解释形成 AA 为什么会放大敏感性;等距节点 Vandermonde 矩阵的具体数值见QR/SVD 最小二乘计算,本页只保留一般扰动机制。

直觉

可逆只说明精确数据对应唯一解,条件数还追问这唯一解是否站在一块陡峭地面上。若 σmin(A) 很小,某个输入方向几乎被 A 压扁;右端沿相应输出方向发生微小变化,反解时就要把它大幅拉回。

条件数也不是矩阵孤立的“质量分”。改变变量单位、方程单位或采用逐分量误差后,同一物理问题会呈现不同的数值尺度。行列均衡可以减少坐标失配并帮助算法,但必须同步解释变量和右端,不能把缩放后的较小范数条件数误说成原问题已被改变。

例子与边界

矩阵 A=diag(1,106)2-范数下有 κ2(A)=106。第二个右端分量的绝对扰动会在对应解分量中放大 106 倍;第一分量却没有这层放大。这同时说明 normwise 最坏界不会告诉读者究竟哪个分量敏感,必要时应改用逐分量条件数。

行列式不是通用病态指标。对 A=αIn,当 |α| 很小时,|detA|=|α|n 可以极小,但 κ(A)=1;整体缩放不会让相对求解问题变坏。反过来,行列式并不很小的矩阵也可能有一个极小奇异值和另一个极大奇异值,从而高度病态。

小残差同样不自动给出小前向误差。残差页面的对角反例表明,必须通过 A1 的范数或条件数把两者连接;本页的扰动界正是这座桥,而不是把 residual 直接改名为 error。

推论与应用

一般条件性把敏感性归于数学问题,本页把该原则落实到 Ax=b。后向稳定求解器产生的是邻近数据的精确解;只有再乘上条件数,才能预期前向精度。因而“大条件数”不等于算法失败,“小条件数”也不免除对算法稳定性的检查。

实际软件通常估计 A1 或倒条件数,而不显式形成 A1。报告还应注明范数、缩放和估计方法;对近奇异系统,数值秩、逐分量误差界与问题特有结构往往比一个裸的 κ 更有解释力。

参考资料
  • Nicholas J. Higham, Accuracy and Stability of Numerical Algorithms, 2nd ed., SIAM, 2002, Chs. 7 and 14.
  • Lloyd N. Trefethen and David Bau III, Numerical Linear Algebra, SIAM, 1997, Lectures 12–13.
  • LAPACK Users’ Guide, Condition Numbers.