Richardson外推(Richardson Extrapolation)是一种威力强大的数值技巧,它能把低精度结果”加工”成高精度结果。核心思想是利用截断误差的渐近展开,通过组合不同步长的计算结果来消去误差主导项。


一、最直观的例子:计算导数

问题:计算 ,已知

方法1:向前差商(一阶)

误差分析(泰勒展开):

代入:

误差 =

方法2:中心差商(二阶)

泰勒展开:

相减:

误差 = (更好!)

但是:中心差商需要 ,有时不方便。


二、Richardson的洞见:用两个低阶结果构造高阶结果

假设我们有一个近似 ,它逼近真值 :

其中 是常数(与 无关)。

关键步骤:

  1. 用步长 计算:
  2. 用步长 计算:

消去 项:

观察:

相减:

神奇的事情发生了:

  • 新的组合 的误差是
  • 而原来的 误差是
  • 我们只用加法和乘法,就把精度提高了一阶!

定义外推结果:

现在


三、一般公式:Richardson外推表

假设近似满足更一般的渐近展开:

其中 是方法的阶。

外推公式:

验证:


四、具体数值例子

例子1:计算 的经典方法(圆周率)

用圆面积公式:(单位圆第一象限面积)

数值积分近似:把 分成 份,用矩形法:

方法:

  • (大步长 ):

  • (步长减半 ):

Richardson外推(矩形法阶数 ?等等…)

实际上矩形法对光滑被积函数是二阶的(中点矩形公式),所以 :

还不够好,但比原来好。

其实:中点矩形公式误差展开:

所以 ,外推后误差 。


例子2:欧拉法解 ODE 的外推

解 ,求

显式欧拉法():

步长 (一步到位):

步长 (两步):

  • 第一步:
  • 第二步:

Richardson外推():

还是不准,但比 0 和 0.25 都好。

再细化:
步长 (四步):

  • 计算得

用 和 外推:

误差:

再与更小步长组合可以继续改进。


五、递推外推:Romberg积分法

最著名的应用是Romberg积分法——梯形法的Richardson外推。

梯形公式误差展开:

其中 是精确积分值。

Romberg表构造:

设 是将区间 等分的梯形公式结果。

外推表:

其中:

解释:

  • :梯形公式,误差
  • :一次外推,误差
  • :二次外推,误差
  • 以此类推

例子:计算

k(梯形)(Simpson)
03.00000000
13.100000003.13333333
23.131176473.141568633.14211765
33.138988493.141592503.141594093.14158578
43.140941613.141592653.141592663.14159264

注意: 已经达到 ,与 相差 量级!


六、Richardson外推的数学原理

渐近展开假设

Richardson外推成立的关键是假设近似值可以展开为:

其中 ,且 与 无关。

一般外推公式

假设我们有两个步长 和 (通常 ):

消去 项:

递推外推(Richardson表)

我们可以重复这一过程,消除越来越多的误差项。

设 ,则:

其中 的误差阶为 。


七、实际应用的注意事项

1. 渐近展开必须存在

不是所有数值近似都有这样的展开。需要:

  • 解足够光滑
  • 离散格式规则

2. 舍入误差限制

外推不能无限进行,因为:

  • 步长太小时,舍入误差主导
  • 外推会放大舍入误差

经验法则:外推通常进行 3-5 次效果最好。

3. 计算成本 vs 精度增益

外推需要多次计算(不同步长),但通常比单纯减小步长更高效。

4. 自动检测展开阶数

有时阶数 未知,可以通过三个不同步长的结果估计。

八、在ODE求解中的应用:Gragg-Bulirsch-Stoer方法

这是Richardson外推在ODE中的高级应用。

基本思想:

  1. 用中点法(leapfrog)等偶数阶方法积分固定步数
  2. 用不同步长(不同外推点)计算
  3. 对结果进行多项式或有理函数外推
  4. 得到高精度结果

优点:可以达到非常高的精度阶(如16阶以上)。


九、总结:Richardson外推的威力

核心公式(记住这个!):

三个关键点:

  1. 利用误差结构:假设误差有系统性的 展开
  2. 消去主导误差:通过线性组合消去最低阶误差项
  3. 精度免费提升:只做算术运算,不增加函数求值次数(相对于已经算好的不同步长结果)

应用领域:

  1. 数值积分:Romberg积分法
  2. 数值微分:提高差分公式精度
  3. ODE/PDE求解:步长减半误差估计和外推
  4. 级数加速:收敛加速技术
  5. 任何有渐近误差展开的数值计算

哲学意义:Richardson外推体现了数值分析的精髓——理解误差的结构,然后用智慧(而非蛮力)消除它。就像用两张模糊照片合成一张清晰照片,利用了模糊的规律性。