Richardson外推(Richardson Extrapolation)是一种威力强大的数值技巧,它能把低精度结果”加工”成高精度结果。核心思想是利用截断误差的渐近展开,通过组合不同步长的计算结果来消去误差主导项。
一、最直观的例子:计算导数
问题:计算 ,已知
方法1:向前差商(一阶)
误差分析(泰勒展开):
代入:
误差 =
方法2:中心差商(二阶)
泰勒展开:
相减:
误差 = (更好!)
但是:中心差商需要 ,有时不方便。
二、Richardson的洞见:用两个低阶结果构造高阶结果
假设我们有一个近似 ,它逼近真值 :
其中 是常数(与 无关)。
关键步骤:
- 用步长 计算:
- 用步长 计算:
消去 项:
观察:
相减:
神奇的事情发生了:
- 新的组合 的误差是
- 而原来的 误差是
- 我们只用加法和乘法,就把精度提高了一阶!
定义外推结果:
现在
三、一般公式:Richardson外推表
假设近似满足更一般的渐近展开:
其中 是方法的阶。
外推公式:
验证:
四、具体数值例子
例子1:计算 的经典方法(圆周率)
用圆面积公式:(单位圆第一象限面积)
数值积分近似:把 分成 份,用矩形法:
方法:
-
(大步长 ):
-
(步长减半 ):
Richardson外推(矩形法阶数 ?等等…)
实际上矩形法对光滑被积函数是二阶的(中点矩形公式),所以 :
还不够好,但比原来好。
其实:中点矩形公式误差展开:
所以 ,外推后误差 。
例子2:欧拉法解 ODE 的外推
解 ,求
显式欧拉法():
步长 (一步到位):
步长 (两步):
- 第一步:
- 第二步:
Richardson外推():
还是不准,但比 0 和 0.25 都好。
再细化:
步长 (四步):
- 计算得
用 和 外推:
误差:
再与更小步长组合可以继续改进。
五、递推外推:Romberg积分法
最著名的应用是Romberg积分法——梯形法的Richardson外推。
梯形公式误差展开:
其中 是精确积分值。
Romberg表构造:
设 是将区间 等分的梯形公式结果。
外推表:
其中:
解释:
- :梯形公式,误差
- :一次外推,误差
- :二次外推,误差
- 以此类推
例子:计算
| k | (梯形) | (Simpson) | ||
|---|---|---|---|---|
| 0 | 3.00000000 | |||
| 1 | 3.10000000 | 3.13333333 | ||
| 2 | 3.13117647 | 3.14156863 | 3.14211765 | |
| 3 | 3.13898849 | 3.14159250 | 3.14159409 | 3.14158578 |
| 4 | 3.14094161 | 3.14159265 | 3.14159266 | 3.14159264 |
注意: 已经达到 ,与 相差 量级!
六、Richardson外推的数学原理
渐近展开假设
Richardson外推成立的关键是假设近似值可以展开为:
其中 ,且 与 无关。
一般外推公式
假设我们有两个步长 和 (通常 ):
消去 项:
递推外推(Richardson表)
我们可以重复这一过程,消除越来越多的误差项。
设 ,则:
其中 的误差阶为 。
七、实际应用的注意事项
1. 渐近展开必须存在
不是所有数值近似都有这样的展开。需要:
- 解足够光滑
- 离散格式规则
2. 舍入误差限制
外推不能无限进行,因为:
- 步长太小时,舍入误差主导
- 外推会放大舍入误差
经验法则:外推通常进行 3-5 次效果最好。
3. 计算成本 vs 精度增益
外推需要多次计算(不同步长),但通常比单纯减小步长更高效。
4. 自动检测展开阶数
有时阶数 未知,可以通过三个不同步长的结果估计。
八、在ODE求解中的应用:Gragg-Bulirsch-Stoer方法
这是Richardson外推在ODE中的高级应用。
基本思想:
- 用中点法(leapfrog)等偶数阶方法积分固定步数
- 用不同步长(不同外推点)计算
- 对结果进行多项式或有理函数外推
- 得到高精度结果
优点:可以达到非常高的精度阶(如16阶以上)。
九、总结:Richardson外推的威力
核心公式(记住这个!):
三个关键点:
- 利用误差结构:假设误差有系统性的 展开
- 消去主导误差:通过线性组合消去最低阶误差项
- 精度免费提升:只做算术运算,不增加函数求值次数(相对于已经算好的不同步长结果)
应用领域:
- 数值积分:Romberg积分法
- 数值微分:提高差分公式精度
- ODE/PDE求解:步长减半误差估计和外推
- 级数加速:收敛加速技术
- 任何有渐近误差展开的数值计算
哲学意义:Richardson外推体现了数值分析的精髓——理解误差的结构,然后用智慧(而非蛮力)消除它。就像用两张模糊照片合成一张清晰照片,利用了模糊的规律性。