形式陈述
残差与前向误差
在数值问题 公理库 数值问题与数值算法 Numerical problem and algorithm 区分数学问题、有限数据、求解算法与实际执行,并据此追踪误差和计算成本。 F ( x ) = 0 中,近似解 x ^ 的残差是
r = F ( x ^ ) ; 对线性系统 A x = b 常取 r = b − A x ^ ,与 F ( x ^ ) = A x ^ − b 只差符号。残差衡量把近似解代回方程后的缺陷,前向误差 公理库 前向误差与后向误差 Forward and backward error 分别衡量计算答案离真解多远,以及它能否视为邻近输入问题的精确解。 则是 x ^ − x ∗ ;它们使用不同的误差度量 公理库 误差度量:绝对、相对与分量误差 Error measures · Absolute and relative error 用绝对、相对、范数型与逐分量尺度准确说明近似量偏离真值的程度。 ,也位于不同空间,只有在逆映射受控时才能互相转换。若 F 在解附近可逆,一阶上有
x ^ − x ∗ ≈ D F ( x ∗ ) − 1 F ( x ^ ) , 因此误差界需要逆 Jacobian 范数、条件数 公理库 问题条件性与条件数 Conditioning of a problem · Condition number 度量问题真解对输入微扰的局部敏感性,并把这种固有敏感性与算法误差分开。 、强单调性、收缩因子或其他问题结构;当 x ^ 尚未进入局部线性区时,这条近似不能当作全局证书。
线性系统把这座桥写成精确恒等式。若 e = x ^ − x ∗ 且 r = b − A x ^ ,则
A e = − r . 所以 ‖ e ‖ 受 ‖ A − 1 ‖ ‖ r ‖ 控制,并有常用相对界
‖ e ‖ ‖ x ∗ ‖ ≤ κ ( A ) ‖ r ‖ ‖ b ‖ . 右端只是最坏界,具体残差方向可能远离最敏感奇异向量。没有逆算子信息时,残差本身不是前向误差证书。
残差也不等于后向误差,直到选定允许扰动和尺度。保持 A 不动时,‖ r ‖ / ‖ b ‖ 是右端相对后向误差;允许 A , b 同时作 normwise 相对扰动时,常用尺度化量为
η ( x ^ ) = ‖ r ‖ ‖ A ‖ ‖ x ^ ‖ + ‖ b ‖ . 二者由同一残差构造,却回答不同的邻近问题。
机器计算的残差自身也会舍入。按标准浮点模型 公理库 浮点算术标准误差模型 Standard floating-point arithmetic model 以每次基本运算的小相对扰动和 gamma 记号组织多步浮点误差分析。 逐项累加每个点积,且没有溢出或下溢时,典型分量界为
| r ^ − r | ≤ γ n + 1 ( | b | + | A | | x ^ | ) . 当真残差已低于这个噪声底,工作精度中的 r ^ 可能停滞甚至误报零;迭代精化因此常用更高精度重新计算残差。
误差估计器与局部指标
先验误差界在运行前由数据、离散尺度或迭代次数推出;后验误差估计器 η ( x ^ ) 则使用已经算出的残差、相邻迭代或局部缺陷来估计未知误差。若它满足
‖ e ‖ ≤ C rel η , 称估计器具有可靠性:估计量在常数意义下给出误差上界。若反向还有
η ≤ C eff ( ‖ e ‖ + osc ) , 称其具有效率;osc 表示数据振荡或估计器无法从离散数据中分离的项。可靠性防止漏报大误差,效率防止估计量长期远大于真实误差,两者方向不能互换。
局部 indicator η K 只负责标出哪个单元、时间步或分量值得继续计算,常以 η 2 = ∑ K η K 2 汇成全局估计器。indicator 排序对自适应加密有用,却不因“局部值大”自动成为严格误差界;可靠性和效率仍需针对具体方程、范数与网格条件证明。
还要区分代数残差与离散残差。把离散线性系统精确解到 b − A x ^ = 0 ,只消除了代数求解误差;离散函数代回原连续方程仍可能留下函数型残差,并对应尚未消失的离散化误差。严格可验证界还应覆盖估计器自身的舍入和模型误差。渐近估计只在步长或误差足够小时有效,概率界则要声明随机假设和置信水平,这些标签不能互换。
停止准则
实际停止准则通常组合绝对与相对尺度,例如
‖ r k ‖ ≤ atol + rtol s , 其中 s 应由 b 、F 或问题的自然尺度定义。线性求解若目标是小后向误差,直接检查上面的 η ( x ^ ) 通常比只除以 ‖ b ‖ 更贴近规格。预条件残差适合驱动算法,却不一定等于原系统残差;交付前应在原方程上复核。还要检查更新量、最大迭代数、非有限值和舍入平台期;固定的裸阈值既可能让大尺度问题过早停止,也可能让接近零的问题永不满足。
直觉
残差像把答案重新放回题目后看到的“接缝”。接缝小只说明方程几乎闭合;若题目本身像一只长而扁的漏斗,沿敏感方向移动很远也可能只产生很小的接缝。要从接缝推断位置误差,必须知道漏斗的几何形状。
相邻迭代差也是一种可观察信号,却可能因为迭代映射接近恒等、步长控制过小或浮点停滞而变小。停止判据需要和问题尺度、理论收敛机制以及失败检测一起设计。
例子与边界
取
A = ( 1 0 0 10 − 12 ) , b = ( 1 10 − 12 ) . 精确解为 x ∗ = ( 1 , 1 ) T 。若算法返回 x ^ = ( 1 , 0 ) T ,则
r = b − A x ^ = ( 0 , 10 − 12 ) T . 以 2 -范数计,
‖ r ‖ 2 ‖ b ‖ 2 ≈ 10 − 12 , ‖ x ^ − x ∗ ‖ 2 ‖ x ∗ ‖ 2 = 1 2 ≈ 0.707 , 而 κ 2 ( A ) = 10 12 。这是可复算的完整反例:极小相对残差与很大相对前向误差可以同时成立,条件数恰好解释两者之间的尺度差。对同一 x ^ ,右端后向误差约为 10 − 12 ;它很小,却没有承诺病态逆映射后的解分量仍准确。
对收缩迭代 x k + 1 = g ( x k ) ,若已知全局收缩因子 q < 1 ,才有后验界
‖ x k − x ∗ ‖ ≤ q 1 − q ‖ x k − x k − 1 ‖ . 没有 q ,单看相邻差小不能构成同样证书;在 q ≈ 1 时,前面的放大因子还会非常大。
推论与应用
线性迭代、Newton 法、ODE 自适应步长和有限元后验估计都会使用残差,但每种方法把残差变成误差的机制不同。迭代精化 公理库 迭代精化 Iterative refinement · Mixed-precision iterative refinement 复用已有矩阵因子反复求解残差校正方程,并通过更高精度残差恢复直接解丢失的有效数字。 还展示了更高精度残差如何成为校正信号。算法页应引用本页的区分,再给出自身所需的逆算子界、局部误差模型或可靠性常数。
柯西序列 公理库 柯西序列 Cauchy sequence 任意精度下充分靠后的任意两项彼此接近的序列。 解释尾项之间的数学接近,不能单独替代数值停机证书。一个可审计的实现至少应记录采用的残差定义、缩放、容差、迭代上限和异常退出原因,让“停止”与“已达到目标误差”不被混为同一事件。
参考资料
Nicholas J. Higham, Accuracy and Stability of Numerical Algorithms , 2nd ed., SIAM, 2002, Chs. 1 and 7.
LAPACK Users’ Guide, 3rd ed., SIAM, 1999, Further Details: Error Bounds for Linear Equations .
Richard L. Burden, J. Douglas Faires, and Annette M. Burden, Numerical Analysis , 10th ed., Cengage, 2016, iterative methods and a posteriori error estimates.