Skip to content

问题条件性与条件数

Conditioning of a problem · Condition number

度量问题真解对输入微扰的局部敏感性,并把这种固有敏感性与算法误差分开。

条目类型
定义

形式陈述

数值问题为映射 F:DS,输入与输出赋范空间配有指定范数。Fx 处的绝对局部条件数可定义为

κabs(F,x)=limε0sup0<ΔxεF(x+Δx)F(x)Δx,

其中扰动必须保持 x+ΔxD。当 x0F(x)0 时,相对局部条件数相应为

κrel(F,x)=limε0sup0<ΔxεxF(x+Δx)F(x)/F(x)Δx/x.

F 在有限维空间中可微,展开式

F(x+Δx)F(x)=DF(x)Δx+o(Δx)

把局部敏感性化为导数的最大放大率,因而

κabs(F,x)=DF(x),κrel(F,x)=xF(x)DF(x),

其中算子范数由输入、输出范数诱导;标量情形简化为 κrel(F,x)=|xF(x)/F(x)|。非光滑点可能只有方向条件数,或条件数为无穷。条件数依赖问题表示、允许的扰动结构、尺度和考察点;脱离这些信息说某个矩阵或数据“条件数大”并不完整。

直觉

条件数问的是:即使有一位理想计算者精确解题,只把输入轻轻移动,正确答案会移动多远?若答案剧烈变化,问题病态;若变化同量级,问题良态。它评价的是问题地图的局部伸缩,而不是某段程序跑得好不好。

输入数据通常已经含有测量或表示误差。若相对输入不确定度约为 ε,一阶预测的相对输出变化尺度是 κε;当该乘积不再远小于 1 时,线性化本身也需要用有限扰动界复核。稳定算法能避免再制造远大于数据敏感性的误差,却不能从不确定数据中恢复不存在的信息。

例子与边界

F(x)=1/x,绝对条件数为 1/|x|2,在零附近迅速增大;相对条件数却恒为 1,因为输入和输出都按自身尺度归一化。同一个例子说明“病态”必须连同绝对或相对度量一起说,不能只看导数大小。

相减映射 F(x,y)=xy 在逐分量相对扰动下的一阶相对条件数是

κsub(x,y)=|x|+|y||xy|.

例如 x=1.00000001y=1 时,真差为 108,而条件数约为 2.00000001×108:操作数各有 1010 量级的相对不确定度,就足以让差的相对误差达到百分数级。消去误差页面讨论算法如何避免在可重写的问题中额外触发这种放大;这里的条件数只陈述“由这两个近似输入求差”本身的敏感性。

多项式 p(t) 的简单根 r 对函数值扰动的一阶敏感性含有 1/|p(r)|。当两个根合并成重根时 p(r)=0,根对系数或函数扰动会异常敏感;这属于求根问题的条件性,不是 Newton 或其他算法单独造成。

参数化也会改变相对条件数。正数可直接用 x 表示,也可写成 x=ez;在 z 坐标中加性扰动对应 x 上的乘性扰动。两种问题输入空间的度量不同,所得条件数自然不同,不能跨表示直接比较。

推论与应用

若算法产生大小为 η 的相对后向误差,一阶上常得到“相对前向误差约不超过 κη”。精确关系见前向误差与后向误差算法稳定性控制 η,问题条件性控制从 η 到前向误差的放大,两项不能互相代替。

线性方程、最小二乘和特征值问题会各自发展结构化条件数。它们都应从本页的通用定义出发,再指定允许扰动哪些数据、使用什么范数;不能把算法的增长因子、迭代次数或残差大小冒充条件数。

参考资料
  • Nicholas J. Higham, “What Is a Condition Number?”, 2020, nhigham.com.
  • Nicholas J. Higham, Accuracy and Stability of Numerical Algorithms, 2nd ed., SIAM, 2002, Ch. 1.
  • Lloyd N. Trefethen and David Bau III, Numerical Linear Algebra, SIAM, 1997, Lectures 12–14.
关系图谱16 个相邻概念 · 3 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组
类型化关系