跳转至

误差如何穿过一次迭代?

先备知识

倒数误差的核心步骤是先让分母远离零。本单元沿用这个思想研究映射

\[ g(x)=\frac1{2+x}. \]

我们只用代数恒等式与区间界,量化“一次输入误差经过一次更新后怎样变化”。不使用导数,也不在这里证明无限迭代收敛。

学习目标

完成本单元后,你应能:

  1. 用加减同一中间量构造代数误差分解;
  2. 在指定区间上证明 Lipschitz 型估计;
  3. 用短程序检查一步误差比,但区分样本与全区间证明;
  4. 说明一步缩小、存在不动点与迭代收敛是三个不同命题。

牵引问题

若两个输入 \(x,y\) 已经很近,\(g(x),g(y)\) 是否更近?直接相减得到

\[ |g(x)-g(y)|=\frac{|x-y|}{|2+x|\,|2+y|}. \]

答案取决于输入所在区域:只有分母有统一正下界,才能得到对所有输入都有效的固定缩小因子。

探索与猜想

\([0,1]\) 上,\(2+x\ge2\)\(2+y\ge2\),于是输出差不超过输入差的四分之一。这个结论比检查若干数值对更强,因为它同时覆盖该区间内无穷多个输入;但它仍只描述一次更新,不自动覆盖无限次迭代的全部逻辑。

概念与理论

代数误差分解

比较复合表达式 \(F(x)\)\(F(y)\) 时,先通过恒等变形把输出差写成“输入差乘系数”。例如

\[ \frac1{2+x}-\frac1{2+y} =\frac{y-x}{(2+x)(2+y)}. \]

另一种常用形式是加入并减去中间量:

\[ uv-u_0v_0=u(v-v_0)+v_0(u-u_0). \]

恒等式负责暴露误差来源;对系数作区间估计,才把它变成统一上界。

定义:区间上的 Lipschitz 估计

若存在 \(K\ge0\),使对区间 \(I\) 中任意 \(x,y\) 都有

\[ |F(x)-F(y)|\le K|x-y|, \]

就说 \(F\)\(I\) 上满足常数为 \(K\) 的 Lipschitz 估计。这里它只是一条代数不等式;本单元不借助微分工具寻找 \(K\)

命题:主映射的一步误差传递

对任意 \(x,y\in[0,1]\)

\[ |g(x)-g(y)|=\frac{|x-y|}{(2+x)(2+y)} \le\frac14|x-y|. \]

证明。\([0,1]\) 上两个分母因子均为正且至少为 \(2\),故其乘积至少为 \(4\)。代入精确差分公式即得结论。\(\square\)

此外,\(0\le x\le1\) 推出 \(2\le2+x\le3\),正数取倒数反向,得到

\[ \frac13\le g(x)\le\frac12. \]

所以 \(g([0,1])\subseteq[1/3,1/2]\subseteq[0,1]\)。这叫区间在一次映射下保持不变。

一步证书的逻辑边界

若某个 \(\ell\in[0,1]\) 已满足 \(g(\ell)=\ell\),则对 \(x\in[0,1]\)

\[ |g(x)-\ell|=|g(x)-g(\ell)|\le\frac14|x-\ell|. \]

这说明已知目标点存在时,一次更新会把到该点的误差至多缩为四分之一。但本章尚未仅凭这条式子证明:

  1. 这样的 \(\ell\) 必定存在;
  2. 从给定初值生成的每一步都处于可用区间;
  3. 无限序列形成 Cauchy 数列并收敛;
  4. \(n\) 步误差满足什么可认证上界。

本例的区间保持性解决了第 2 点,其他结论及其组合将在第 8 章完成。这里不得把“一次迭代缩小”直接改写成“迭代已经收敛”。

例题与迁移

例 1:精确误差比与统一上界

\(x=0,y=1\),则

\[ |g(0)-g(1)|=\left|\frac12-\frac13\right|=\frac16, \]

\(|x-y|/4=1/4\)。具体误差比为 \(1/6\),小于统一常数 \(1/4\)。统一上界不必对每一对输入都取等号,它的价值是对区间内所有输入同时有效。

例 2:用程序审查样本而不替代证明

下面的程序计算有限网格上的一步误差比:

def g(x):
    return 1 / (2 + x)

grid = [k / 10 for k in range(11)]
ratios = [
    abs(g(x) - g(y)) / abs(x - y)
    for x in grid for y in grid if x != y
]
print(max(ratios))

输出可以帮助发现程序错误或提示上界,但有限网格没有覆盖 \([0,1]\) 的所有实数。证书仍是分母乘积至少为 \(4\) 的代数证明。

即时检验与回望

  1. 为什么不能把常数 \(1/4\) 用于任意实数 \(x,y\)
答案

当输入靠近 \(-2\) 时,\(|2+x|\)\(|2+y|\) 可任意小,甚至等于零;分母乘积不再有下界 \(4\),输出差可能被放大。因此常数必须连同适用区间一起陈述。

  1. 已证明 \(|g(x)-g(y)|\le|x-y|/4\),是否已证明不动点存在?
答案

没有。这条式子比较两个已给输入的输出;存在性要求先证明某个 \(\ell\) 满足 \(g(\ell)=\ell\)。即使存在候选点,还需把区间保持、无限迭代与完备性连接起来才能得到收敛证书,这留到第 8 章。

习题与答案

习题 1:验证像区间

证明 \(g([0,1])\subseteq[1/3,1/2]\)

答案

\(0\le x\le1\),则 \(2\le2+x\le3\)。三者均为正,取倒数反向,得到

\[ \frac13\le\frac1{2+x}\le\frac12. \]

故每个 \(x\in[0,1]\) 的像都在 \([1/3,1/2]\) 中。

习题 2:更小区间上的常数

\(x,y\in[1/3,1/2]\),给出由分母下界直接得到的 Lipschitz 常数。

答案

\(2+x\ge7/3\)\(2+y\ge7/3\),所以

\[ |g(x)-g(y)| \le\frac{1}{(7/3)^2}|x-y| =\frac9{49}|x-y|. \]

因此可取 \(K=9/49\),它比 \(1/4\) 更小。

习题 3:加入中间量

证明对任意实数 \(u,v,u_0,v_0\)

\[ |uv-u_0v_0|\le |u|\,|v-v_0|+|v_0|\,|u-u_0|. \]
答案

加入并减去 \(uv_0\)

\[ uv-u_0v_0=u(v-v_0)+v_0(u-u_0). \]

两边取绝对值并使用三角不等式与 \(|rs|=|r||s|\),即得所需上界。

习题 4:相对已知不动点的一步估计

假设 \(\ell\in[0,1]\)\(g(\ell)=\ell\)。若 \(x\in[0,1]\)\(|x-\ell|\le0.08\),证明 \(|g(x)-\ell|\le0.02\)

答案

因为 \(g(\ell)=\ell\)\(x,\ell\in[0,1]\),一步估计给出

\[ |g(x)-\ell|=|g(x)-g(\ell)| \le\frac14|x-\ell| \le\frac14(0.08)=0.02. \]

这仍是假设目标点已知后的一步结论。

习题 5:审查越界推理

有人说:“\(g\)\([0,1]\) 上把距离缩为至多四分之一,所以从任意实数初值出发都收敛。”指出至少两个逻辑缺口。

答案

第一,估计只在 \([0,1]\) 上证明,任意实数初值未必位于该区间,甚至可能使分母为零。第二,一步距离缩小尚未单独证明目标不动点存在,也未完成无限迭代的 Cauchy 与收敛论证。若初值在 \([0,1]\),虽已有区间保持性,仍应在第 8 章用完整定理连接这些事实。

常见误区与后续

  • 把样本最大值当作全区间常数。 有限网格只能检验样本;统一常数必须来自覆盖整个区间的不等式。
  • 省略适用区域。 Lipschitz 常数与区间绑定,接近分母零点时原估计会失效。
  • 把一步估计当作无限过程。 一步缩小、区间保持、不动点存在和迭代收敛是不同命题。
  • 偷用微分工具。 本单元的常数完全来自代数差分和分母下界。第 8 章将用完备性把这些局部材料组装为收敛与误差证书。