跳到正文
格致开物MATHWIKI

条件数

条件数描述问题对输入扰动有多敏感。对可微的一元函数 y=f(x),当 x≠0 且 f(x)≠0 时,局部相对条件数为 κf(x)=|xf′(x)f(x)|. 这是由微小扰动的线性近似 Δy≈f′(x)Δx 得来的:输出相对变化约为 κf(x) 乘输入相对变化。

接近零点时的放大

取 f(x)=x−1。在 x=1.001,有 f(x)=0.001,条件数约为 1.001/0.001=1001。若 x 相对误差约 10−5,输出相对误差可能约 1%。问题在于结果接近 0,相对误差的分母太小;即使算法完全准确处理输入值,也无法从不确定的输入恢复高相对精度的输出。

线性方程组

求解 Ax=b 时,常用矩阵条件数 κ(A)=‖A‖‖A−1‖,要求 A 可逆并说明所用矩阵范数。对固定 A,若右端扰动 Δb,则 Δx=A−1Δb,而 ‖b‖≤‖A‖‖x‖,所以 ‖Δx‖‖x‖≤κ(A)‖Δb‖‖b‖. 条件数大表示可能严重放大,不表示每次扰动都达到上界;条件数小也不能代替对具体算法的误差分析。

参考资料