误差如何穿过一次迭代?¶
先备知识¶
倒数误差的核心步骤是先让分母远离零。本单元沿用这个思想研究映射
我们只用代数恒等式与区间界,量化“一次输入误差经过一次更新后怎样变化”。不使用导数,也不在这里证明无限迭代收敛。
学习目标¶
完成本单元后,你应能:
- 用加减同一中间量构造代数误差分解;
- 在指定区间上证明 Lipschitz 型估计;
- 用短程序检查一步误差比,但区分样本与全区间证明;
- 说明一步缩小、存在不动点与迭代收敛是三个不同命题。
牵引问题¶
若两个输入 \(x,y\) 已经很近,\(g(x),g(y)\) 是否更近?直接相减得到
答案取决于输入所在区域:只有分母有统一正下界,才能得到对所有输入都有效的固定缩小因子。
探索与猜想¶
在 \([0,1]\) 上,\(2+x\ge2\) 且 \(2+y\ge2\),于是输出差不超过输入差的四分之一。这个结论比检查若干数值对更强,因为它同时覆盖该区间内无穷多个输入;但它仍只描述一次更新,不自动覆盖无限次迭代的全部逻辑。
概念与理论¶
代数误差分解¶
比较复合表达式 \(F(x)\) 与 \(F(y)\) 时,先通过恒等变形把输出差写成“输入差乘系数”。例如
另一种常用形式是加入并减去中间量:
恒等式负责暴露误差来源;对系数作区间估计,才把它变成统一上界。
定义:区间上的 Lipschitz 估计¶
若存在 \(K\ge0\),使对区间 \(I\) 中任意 \(x,y\) 都有
就说 \(F\) 在 \(I\) 上满足常数为 \(K\) 的 Lipschitz 估计。这里它只是一条代数不等式;本单元不借助微分工具寻找 \(K\)。
命题:主映射的一步误差传递¶
对任意 \(x,y\in[0,1]\),
证明。 在 \([0,1]\) 上两个分母因子均为正且至少为 \(2\),故其乘积至少为 \(4\)。代入精确差分公式即得结论。\(\square\)
此外,\(0\le x\le1\) 推出 \(2\le2+x\le3\),正数取倒数反向,得到
所以 \(g([0,1])\subseteq[1/3,1/2]\subseteq[0,1]\)。这叫区间在一次映射下保持不变。
一步证书的逻辑边界¶
若某个 \(\ell\in[0,1]\) 已满足 \(g(\ell)=\ell\),则对 \(x\in[0,1]\),
这说明已知目标点存在时,一次更新会把到该点的误差至多缩为四分之一。但本章尚未仅凭这条式子证明:
- 这样的 \(\ell\) 必定存在;
- 从给定初值生成的每一步都处于可用区间;
- 无限序列形成 Cauchy 数列并收敛;
- 第 \(n\) 步误差满足什么可认证上界。
本例的区间保持性解决了第 2 点,其他结论及其组合将在第 8 章完成。这里不得把“一次迭代缩小”直接改写成“迭代已经收敛”。
例题与迁移¶
例 1:精确误差比与统一上界¶
取 \(x=0,y=1\),则
而 \(|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/4\) 用于任意实数 \(x,y\)?
答案
当输入靠近 \(-2\) 时,\(|2+x|\) 或 \(|2+y|\) 可任意小,甚至等于零;分母乘积不再有下界 \(4\),输出差可能被放大。因此常数必须连同适用区间一起陈述。
- 已证明 \(|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\)。三者均为正,取倒数反向,得到
故每个 \(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\),所以
因此可取 \(K=9/49\),它比 \(1/4\) 更小。
习题 3:加入中间量¶
证明对任意实数 \(u,v,u_0,v_0\),
答案
加入并减去 \(uv_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]\),一步估计给出
这仍是假设目标点已知后的一步结论。
习题 5:审查越界推理¶
有人说:“\(g\) 在 \([0,1]\) 上把距离缩为至多四分之一,所以从任意实数初值出发都收敛。”指出至少两个逻辑缺口。
答案
第一,估计只在 \([0,1]\) 上证明,任意实数初值未必位于该区间,甚至可能使分母为零。第二,一步距离缩小尚未单独证明目标不动点存在,也未完成无限迭代的 Cauchy 与收敛论证。若初值在 \([0,1]\),虽已有区间保持性,仍应在第 8 章用完整定理连接这些事实。
常见误区与后续¶
- 把样本最大值当作全区间常数。 有限网格只能检验样本;统一常数必须来自覆盖整个区间的不等式。
- 省略适用区域。 Lipschitz 常数与区间绑定,接近分母零点时原估计会失效。
- 把一步估计当作无限过程。 一步缩小、区间保持、不动点存在和迭代收敛是不同命题。
- 偷用微分工具。 本单元的常数完全来自代数差分和分母下界。第 8 章将用完备性把这些局部材料组装为收敛与误差证书。