Romberg 积分
概述
Romberg 积分由 Werner Romberg 于 1955 年提出,是Richardson外推法在数值积分中最优雅的应用。它将梯形法则(Trapezoidal rule)与 Richardson 递归外推相结合,充分利用欧拉-麦克劳林(Euler-Maclaurin)求和公式给出的梯形误差展开只含 $h$ 的偶数次幂这一特殊结构,每次外推消去一个误差项,从而以较少的函数求值达到极高的积分精度。
关键内容
数学基础:欧拉-麦克劳林展开
梯形法则的误差展开(欧拉-麦克劳林公式):
$$T(h) = I + c_1 h^2 + c_2 h^4 + c_3 h^6 + \cdots$$
只含 $h$ 的偶数次幂(无奇数次幂项)。这意味着: - 每次 Richardson 外推消去两阶误差(而非通常的一阶) - 精度提升效率翻倍:从 $O(h^2)$ → $O(h^4)$ → $O(h^6)$ → …
外推表构造
从最粗的梯形法则开始,逐步加密步长并外推:
设 $T(h_k) = T(h/2^k)$,初始列 $R_{k,0} = T(h/2^k)$(梯形法则直接值),外推列:
$$R_{k,j} = \frac{4^j R_{k,j-1} - R_{k-1,j-1}}{4^j - 1} \quad (j \geq 1)$$
Romberg 外推表($n$ 行 $n$ 列,对角线精度最高):
| 步长 $h$ | $O(h^2)$ | $O(h^4)$ | $O(h^6)$ | $O(h^8)$ |
|---|---|---|---|---|
| $h$ | $R_{0,0}$ | |||
| $h/2$ | $R_{1,0}$ | $R_{1,1}$ | ||
| $h/4$ | $R_{2,0}$ | $R_{2,1}$ | $R_{2,2}$ | |
| $h/8$ | $R_{3,0}$ | $R_{3,1}$ | $R_{3,2}$ | $R_{3,3}$ |
对角线 $R_{k,k}$ 具有精度 $O(h^{2k+2})$。
关键优势:节点嵌套
梯形法则有一个实用特性:步长减半时,细网格的节点包含粗网格的所有节点。因此:
$$T(h/2) = \frac{T(h)}{2} + \frac{h}{2}\sum_{\text{新节点}} f(x_i)$$
从 $n$ 点梯形法则到 $2n+1$ 点只需计算 $n$ 个新函数值,旧值可完全重用。
这使得 Romberg 积分的总函数求值次数为 $2^n + 1$(到第 $n$ 层),每一层只额外支付新节点的代价,而精度从 $O(h^{2n})$ 到 $O(h^{2n+2})$。
与高斯求积的比较
| 维度 | Romberg积分 | 高斯求积公式 |
|---|---|---|
| 节点嵌套 | 是(可重用旧节点) | 否(每次 $n$ 点公式节点全换) |
| 精度 | $O(h^{2n})$($n$ 次外推后) | $O(h^{2n})$($n$ 点精确至 $2n-1$ 次多项式) |
| 适用范围 | 一维,光滑函数 | 一维,光滑函数 |
| 实现复杂度 | 简单(梯形法则 + 递推) | 需预计算高斯节点和权重 |
| 自适应扩展 | 容易(逐步加密) | 需 Gauss-Kronrod 等专门设计 |
实践中两者精度相当,Romberg 因其实现简单和节点嵌套特性而常被用于自适应积分。
局限性
- 仅适用光滑函数:函数有奇异性时,欧拉-麦克劳林展开中出现非整数次幂,外推失效
- 一维限制:推广到高维需要张量积(维度灾难)或稀疏网格
- 舍入误差:外推层数过多时,舍入误差开始主导(精度不超过机器精度的平方根)
来源
- raw/books/数值分析/10_richardson_extrapolation.md