Skip to content

前向误差与后向误差

Forward and backward error

分别衡量计算答案离真解多远,以及它能否视为邻近输入问题的精确解。

条目类型
定义

形式陈述

给定数值问题 y=F(x) 和计算结果 y^,前向误差直接比较输出:

efwd=dS(y^,F(x)).

相对或逐分量版本按误差度量选定尺度。前向误差正面回答“答案离当前输入的真解多远”,但真解往往不可计算,因此它常用于理论分析或有高精度参考的实验。

后向误差反过来移动输入。绝对后向误差定义为

η(y^;x)=inf{dD(x~,x):F(x~)=y^},

若不存在使 y^ 成为精确解的允许扰动,则取 +。相对、逐分量和结构化后向误差需要相应限制扰动集合。例如对对称正定矩阵问题,结构化分析可能要求扰动后的矩阵仍然对称正定;允许任意矩阵扰动会回答另一个更宽松的问题。后向误差是这个允许集合中的最小距离,不等于算法证明里随手构造出的某个扰动;后者只能给它一个上界。

F 局部可逆且扰动足够小时,条件数连接两者:相对前向误差通常在一阶意义下受 κ(F,x) 乘相对后向误差控制。这个乘积关系包含两项独立信息,不能省略条件数后把“小后向误差”直接翻译成“小前向误差”。

直觉

前向分析站在原题旁边量答案的距离;后向分析则问,计算结果究竟精确解了哪一道邻近题。后者往往更容易,因为算法执行留下的残差能直接构造一个输入扰动,也更能解释稳定算法为何可信:它至少没有把原题改成一题很远的新题。

后向误差不是把舍入步骤倒序执行。它是关于问题输入的最小扰动定义:一份好的解释既要说扰动有多小,也要说移动了哪些数据、保留了哪些结构。

例子与边界

对线性系统 Ax=b,给定近似解 x^,令残差 r=bAx^。保持 A 不变并把右端改成 b~=br=Ax^,则 x^ 是邻近系统 Ax^=b~ 的精确解。因此右端相对后向误差为 r/b。若允许矩阵和右端都按同一相对预算 η 扰动,即

ΔAηA,Δbηb,

则对相容的向量与矩阵范数,常用的 normwise 后向误差为

η(x^)=rAx^+b.

分母把方程两侧的自然尺度纳入比较;裸的 r 仍带有右端单位,不能跨缩放比较。

病态矩阵可能把极小的右端扰动放大成很大的解变化。以 A=diag(1,108)b=(1,108)Tx^=(1,0)T 为例,右端相对后向误差约为 108,相对前向误差却是 1/2。这不推翻后向分析,反而准确揭示了误差由问题敏感性放大。

对多项式求值,y^ 可能非常接近 p(x),却未必等于一组略微扰动的系数在同一点的精确值;若要求系数扰动保持稀疏、符号或次数,结论又会改变。所谓“稳定”必须与后向扰动模型配对。

推论与应用

数值稳定性经常以小后向误差作为算法标准,而残差与误差估计研究如何从可计算缺陷得到后向或前向证书。后续矩阵分解会分别说明其因子满足哪个邻近矩阵的精确关系,避免把所有稳定性压成一句“结果很准”。

实验中若真解已知,应同时报告前向误差和可计算的后向量;若真解未知,后向误差与条件估计比单独残差更有解释力。两种视角互补,不是谁替代谁。

参考资料
  • James H. Wilkinson, Rounding Errors in Algebraic Processes, Prentice-Hall, 1963.
  • Nicholas J. Higham, “What Is Backward Error?”, 2020, nhigham.com.
  • Nicholas J. Higham, Accuracy and Stability of Numerical Algorithms, 2nd ed., SIAM, 2002, Ch. 1.
关系图谱11 个相邻概念 · 2 类关系

拖动节点调整位置。

显示关系

显示:依赖

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