在多项式插值中,我们已经证明了对于 n+1n+1 个互异节点,总能唯一确定一个多项式 Pn∈PnP_n \in P_n 穿过所有给定点。

由定义可知,插值误差在采样节点处自然归零:

E(xi)=f(xi)−Pn(xi)=0,i=0,1,…,n.E(x_i) = f(x_i) - P_n(x_i) = 0, \quad i = 0, 1, \dots, n.

然而数值计算最核心的考量往往发生在采样点之间。用离散数据重构真实系统时,我们关切的是连续区间内的全局精度,而非仅仅在采样点上的精确吻合。

采样点越多,多项式就一定会收敛到真实曲线吗?

答案出人意料:对于最直观的等距采样,盲目提高多项式阶数反而会在区间两端激起剧烈的恶性发散,这就是著名的 Runge 现象。

本篇笔记深入解构插值误差的数学机理与现代解决方案[1][1] R. L. Burden and J. D. Faires, Numerical Analysis, 9th ed. Brooks/Cole, Cengage Learning, 2011., [2][2] M. U. School of Mathematics, “MTH2051: Introduction to Computational Mathematics: Course Lecture Notes and Study Workbooks,” 2026. Monash University course materials and study workbooks, Semester 2, 2026.:

  1. Rolle 定理基础:从基础 Rolle 定理推广到适用于多零点的广义形式;
  2. 插值误差余项定理:推导类似 Taylor 余项的 Cauchy 型误差闭式表达式;
  3. 误差机制的双重解耦:将原函数的光滑度因子 f(n+1)(ξ)f^{(n+1)}(\xi) 与节点的几何乘积项 ∏(x−xi)\prod (x - x_i) 彻底拆解;
  4. Runge 现象剖析:探究等距网格引发边界恶性震荡的根源;
  5. Chebyshev 节点优化:利用 Chebyshev 多项式的极小化极大性质,彻底压平两端发散。

理论基石:Rolle 定理及其推广

插值误差公式的推导依赖于对微分中值定理的反复应用。

定理Rolle 定理

设 u<vu < v。若函数 gg 在闭区间 [u,v][u, v] 上连续,在开区间 (u,v)(u, v) 内可导,且区间两端函数值相等 g(u)=g(v)g(u) = g(v),则开区间内至少存在一点 c∈(u,v)c \in (u, v) 满足

g′(c)=0.g'(c) = 0.
证明

由闭区间连续函数的最大最小值定理,连续函数 gg 在 [u,v][u, v] 上必定取得最小值 mm 和最大值 MM。

令端点值为 L=g(u)=g(v)L = g(u) = g(v)。

  • 若 M=m=LM = m = L,则 gg 在整个区间上为常数函数,其导数处处为零:对任意 x∈(u,v)x \in (u, v) 均有 g′(x)=0g'(x) = 0。
  • 若 M>LM > L,则最大值必然在开区间内部某点 c∈(u,v)c \in (u, v) 处取得。根据 Fermat 定理,函数在内点极值处的左导数非负、右导数非正。由于 gg 在该点处可导,左右导数必须相等,因此必有 g′(c)=0g'(c) = 0。
  • 若 m<Lm < L,同理对内部极小值点展开论证,亦得 g′(c)=0g'(c) = 0。
定理广义 Rolle 定理

设 g∈Cn+1([a,b])g \in C^{n+1}([a, b])。若 gg 在闭区间 [a,b][a, b] 内拥有至少 n+2n+2 个互异的零点,则开区间 (a,b)(a, b) 内至少存在一点 ξ\xi 使得

g(n+1)(ξ)=0.g^{(n+1)}(\xi) = 0.
证明

采用数学归纳法。

归纳基步(n=0n = 0):拥有 22 个互异零点的函数满足普通 Rolle 定理条件,直接保证一阶导数存在零点。

归纳假设与递推:假设命题对拥有 n+1n+1 个零点的 CnC^n 函数成立。现设 g∈Cn+1([a,b])g \in C^{n+1}([a, b]) 拥有 n+2n+2 个互异实零点,按大小升序排列为:

z0<z1<⋯<zn+1.z_0 < z_1 < \dots < z_{n+1}.

在每个相邻子区间 [zi,zi+1][z_i, z_{i+1}](i=0,…,ni = 0, \dots, n)上分别应用 Rolle 定理,可得 n+1n+1 个互异的驻点:

wi∈(zi,zi+1),g′(wi)=0.w_i \in (z_i, z_{i+1}), \quad g'(w_i) = 0.

这意味着导函数 g′∈Cn([a,b])g' \in C^n([a, b]) 拥有至少 n+1n+1 个互异零点。将归纳假设应用于 g′g',可知其 nn 阶导数必然存在零点,即存在 ξ∈(a,b)\xi \in (a, b) 使得 (g′)(n)(ξ)=g(n+1)(ξ)=0(g')^{(n)}(\xi) = g^{(n+1)}(\xi) = 0。

插值误差公式

定理Cauchy 型插值误差余项公式

设函数 f∈Cn+1([a,b])f \in C^{n+1}([a, b]),且多项式 Pn∈PnP_n \in P_n 在互异节点 a≤x0<x1<⋯<xn≤ba \le x_0 < x_1 < \dots < x_n \le b 处插值函数 ff。对区间内任意给定的求值点 x∈[a,b]x \in [a, b],存在某个依赖于 xx 的中间点 ξx∈(a,b)\xi_x \in (a, b),使得

f(x)−Pn(x)=f(n+1)(ξx)(n+1)!∏i=0n(x−xi).f(x) - P_n(x) = \frac{f^{(n+1)}(\xi_x)}{(n+1)!} \prod_{i=0}^n (x - x_i).
证明

若选取的评估点 xx 恰好为某个插值节点 xix_i,等式两端均为零,对任意选取的中值 ξx\xi_x 恒成立。

现固定任意不同于所有节点的求值点 x∈[a,b]x \in [a, b]。记该点处的插值误差为 E(x)=f(x)−Pn(x)E(x) = f(x) - P_n(x),节点多项式为

ωn+1(t)=∏j=0n(t−xj).\omega_{n+1}(t) = \prod_{j=0}^n (t - x_j).

引入以 t∈[a,b]t \in [a, b] 为自变量的辅助函数:

G(t)=f(t)−Pn(t)−E(x)ωn+1(x)ωn+1(t).G(t) = f(t) - P_n(t) - \frac{E(x)}{\omega_{n+1}(x)} \omega_{n+1}(t).

考察 G(t)G(t) 的零点分布:

  1. 将每个插值节点 xix_i(i=0,…,ni = 0, \dots, n)代入:
G(xi)=f(xi)−Pn(xi)−E(x)ωn+1(x)ωn+1(xi)=0−0=0.G(x_i) = f(x_i) - P_n(x_i) - \frac{E(x)}{\omega_{n+1}(x)} \omega_{n+1}(x_i) = 0 - 0 = 0.
  1. 将特定的求值点 t=xt = x 代入:
G(x)=E(x)−E(x)ωn+1(x)ωn+1(x)=E(x)−E(x)=0.G(x) = E(x) - \frac{E(x)}{\omega_{n+1}(x)} \omega_{n+1}(x) = E(x) - E(x) = 0.

由于 xx 与所有节点互异,辅助函数 G(t)G(t) 在区间 [a,b][a, b] 上拥有至少 n+2n+2 个不同的实零点。又因为 f∈Cn+1f \in C^{n+1} 且 PnP_n 与 ωn+1\omega_{n+1} 均为光滑多项式,故 G∈Cn+1([a,b])G \in C^{n+1}([a, b])。

由广义 Rolle 定理,必存在一点 ξx∈(a,b)\xi_x \in (a, b) 满足

G(n+1)(ξx)=0.G^{(n+1)}(\xi_x) = 0.

对辅助函数 G(t)G(t) 关于变量 tt 连续求导 n+1n+1 次:

  • 多项式 PnP_n 的次数至多为 nn,求导 n+1n+1 次后完全消失:Pn(n+1)(t)≡0P_n^{(n+1)}(t) \equiv 0;
  • 节点多项式 ωn+1(t)=tn+1+O(tn)\omega_{n+1}(t) = t^{n+1} + \mathcal{O}(t^n) 为首一的 n+1n+1 次多项式,求导 n+1n+1 次后退化为常数 (n+1)!(n+1)!。

将中值点 ξx\xi_x 代入求导结果:

G(n+1)(ξx)=f(n+1)(ξx)−0−E(x)ωn+1(x)(n+1)!=0.G^{(n+1)}(\xi_x) = f^{(n+1)}(\xi_x) - 0 - \frac{E(x)}{\omega_{n+1}(x)} (n+1)! = 0.

解出待求的误差项 E(x)=f(x)−Pn(x)E(x) = f(x) - P_n(x):

f(x)−Pn(x)=f(n+1)(ξx)(n+1)!ωn+1(x)=f(n+1)(ξx)(n+1)!∏i=0n(x−xi).f(x) - P_n(x) = \frac{f^{(n+1)}(\xi_x)}{(n+1)!} \omega_{n+1}(x) = \frac{f^{(n+1)}(\xi_x)}{(n+1)!} \prod_{i=0}^n (x - x_i).

误差机制的双重解耦

审视上述公式,可知插值误差在结构上被彻底解构为两个彼此独立的因子:

∣f(x)−Pn(x)∣≤max⁡t∈[a,b]∣f(n+1)(t)∣(n+1)!⏟原函数光滑度因子⋅∏i=0n∣x−xi∣⏟节点几何分布因子.|f(x) - P_n(x)| \le \underbrace{\frac{\max_{t \in [a,b]} |f^{(n+1)}(t)|}{(n+1)!}}_{\text{原函数光滑度因子}} \cdot \underbrace{\prod_{i=0}^n |x - x_i|}_{\text{节点几何分布因子}}.
  1. 原函数光滑度因子:仅取决于原函数 ff 本身的高阶导数极值,衡量曲线局部的曲率突变与高阶粗糙程度;
  2. 节点几何分布因子:
ωn+1(x)=∏i=0n(x−xi).\omega_{n+1}(x) = \prod_{i=0}^n (x - x_i).

该项与被逼近的函数 ff 完全无关,只由采样点 x0,…,xnx_0, \dots, x_n 在区间上的空间分布决定。

这种双因子解耦揭示了一个根本性的设计启示:对于给定的被测对象,原函数的解析导数无法改变;但采样节点的位置分布却完全掌握在算法设计者手中。

Runge 现象与等距网格的危机

在工程实践中,最直观的采样方式是等距网格采样:

xi=a+i⋅b−an,i=0,1,…,n.x_i = a + i \cdot \frac{b - a}{n}, \quad i = 0, 1, \dots, n.

然而在 1901 年,数学家 Carl Runge 发现:对于极其平滑的解析函数,等距高次插值可能会发生灾难性的发散。

定义Runge 现象

在等距离散节点上构造高阶全局多项式插值时,区间边缘处出现的剧烈发散震荡现象,称为 Runge 现象。

Runge 给出的经典反例是定义在 [−1,1][-1, 1] 上的钟形函数:

f(x)=11+25x2.f(x) = \frac{1}{1 + 25x^2}.

在实数轴上,该函数无穷次光滑且对称单峰。但在等距节点下增加采样点数量,多项式却无法在全区间收敛,反而在两端 x→±1x \to \pm 1 附近产生剧烈震荡,最大误差随阶数指数爆炸:

lim⁡n→∞max⁡x∈[−1,1]∣f(x)−Pn(x)∣=∞.\lim_{n \to \infty} \max_{x \in [-1, 1]} |f(x) - P_n(x)| = \infty.

这个交互图需要启用 JavaScript。

为什么会出现这种发散?误差公式给出了清晰的数学回答:

  • 在等距网格下,乘积多项式 ωn+1(x)=∏i=0n(x−xi)\omega_{n+1}(x) = \prod_{i=0}^n (x - x_i) 在区间中心 x≈0x \approx 0 处数值极小,但在靠近端点 x=±1x = \pm 1 处数值急剧膨胀;
  • 另一方面,虽然 f(x)f(x) 在实轴上光滑,但在复平面上却拥有虚轴极点 z=±0.2iz = \pm 0.2 i。根据复分析 Cauchy 积分公式,其高阶导数以阶乘级速率发散:∣f(n+1)(ξ)∣∼(n+1)!⋅5n+1|f^{(n+1)}(\xi)| \sim (n+1)! \cdot 5^{n+1};
  • 导数膨胀与边界几何乘积激增产生叠加效应,最终导致边界误差不可遏制地发散。

插值节点与节点之间的行为。两条多项式都通过各自的插值节点,但在这个 Runge 例子中,Chebyshev 节点有效抑制了端点附近的剧烈振荡。

插值节点与节点之间的行为。两条多项式都通过各自的插值节点,但在这个 Runge 例子中,Chebyshev 节点有效抑制了端点附近的剧烈振荡。

Chebyshev 节点与极小化极大优化

既然几何因子 ωn+1(x)=∏i=0n(x−xi)\omega_{n+1}(x) = \prod_{i=0}^n (x - x_i) 掌控着区间各处的误差放大率,我们能否通过优化节点位置,使其在整个区间上的最大峰值达到极小?

在标准区间 [−1,1][-1, 1] 上,该优化目标表述为:

min⁡x0,…,xn∈[−1,1]max⁡x∈[−1,1]∣∏i=0n(x−xi)∣.\min_{x_0, \dots, x_n \in [-1, 1]} \max_{x \in [-1, 1]} \left| \prod_{i=0}^n (x - x_i) \right|.

这一极小化极大(Minimax)问题,其理论最优解由 Chebyshev 节点唯一给出[1][1] R. L. Burden and J. D. Faires, Numerical Analysis, 9th ed. Brooks/Cole, Cengage Learning, 2011.:

定义第一类 Chebyshev 多项式

对于 x∈[−1,1]x \in [-1, 1],次数为 kk 的第一类 Chebyshev 多项式定义为

Tk(x)=cos⁡(karccos⁡x),k=0,1,2,…T_k(x) = \cos(k \arccos x), \quad k = 0, 1, 2, \dots

利用三角恒等式 cos⁡((k+1)θ)+cos⁡((k−1)θ)=2cos⁡θcos⁡(kθ)\cos((k+1)\theta) + \cos((k-1)\theta) = 2\cos\theta\cos(k\theta) 并令 θ=arccos⁡x\theta = \arccos x,可得 Chebyshev 多项式的三阶递推式:

T0(x)=1,T1(x)=x,Tk+1(x)=2xTk(x)−Tk−1(x).T_0(x) = 1, \quad T_1(x) = x, \quad T_{k+1}(x) = 2x T_k(x) - T_{k-1}(x).

观察可知,当 n≥0n \ge 0 时,多项式 Tn+1(x)T_{n+1}(x) 的最高次项系数恒为 2n2^n。

定义Chebyshev 节点

n+1n+1 阶 Chebyshev 节点,即为 Chebyshev 多项式 Tn+1(x)T_{n+1}(x) 在 [−1,1][-1, 1] 上的全部 n+1n+1 个实零点:

xk=cos⁡(2k+12(n+1)π),k=0,1,…,n.x_k = \cos\left( \frac{2k + 1}{2(n + 1)} \pi \right), \quad k = 0, 1, \dots, n.
定理Chebyshev 节点的极小化极大性质

在 [−1,1][-1, 1] 上的所有 n+1n+1 次首一多项式中,归一化的 Chebyshev 多项式

T~n+1(x)=12nTn+1(x)=∏k=0n(x−xk)\tilde{T}_{n+1}(x) = \frac{1}{2^n} T_{n+1}(x) = \prod_{k=0}^n (x - x_k)

具有最小的最大绝对值模长,且满足:

max⁡x∈[−1,1]∣∏k=0n(x−xk)∣=12n.\max_{x \in [-1, 1]} \left| \prod_{k=0}^n (x - x_k) \right| = \frac{1}{2^n}.
证明

首先,由余弦函数性质,对所有 x∈[−1,1]x \in [-1, 1] 均有 ∣Tn+1(x)∣=∣cos⁡((n+1)θ)∣≤1|T_{n+1}(x)| = |\cos((n+1)\theta)| \le 1。因为最高次项系数为 2n2^n,所以首一多项式 T~n+1(x)=2−nTn+1(x)\tilde{T}_{n+1}(x) = 2^{-n} T_{n+1}(x) 的全局最大值为 2−n2^{-n}。

此外,T~n+1(x)\tilde{T}_{n+1}(x) 在 n+2n+2 个极值点 tj=cos⁡(jπn+1)t_j = \cos\left(\frac{j \pi}{n+1}\right)(j=0,1,…,n+1j = 0, 1, \dots, n+1)处交替取得波峰与波谷 ±2−n\pm 2^{-n}。

反证:假设存在另一个首一多项式 q∈Pn+1q \in P_{n+1},使得 max⁡x∈[−1,1]∣q(x)∣<2−n\max_{x \in [-1, 1]} |q(x)| < 2^{-n}。构造它们的差值多项式:

d(x)=T~n+1(x)−q(x).d(x) = \tilde{T}_{n+1}(x) - q(x).

由于 T~n+1\tilde{T}_{n+1} 与 qq 均为首一的 n+1n+1 次多项式,最高次项严格抵消,故 deg⁡(d)≤n\deg(d) \le n。

将那 n+2n+2 个交替极值点代入 d(x)d(x):

  • 当 T~n+1(tj)=2−n\tilde{T}_{n+1}(t_j) = 2^{-n} 时,因 ∣q(tj)∣<2−n|q(t_j)| < 2^{-n},所以 d(tj)=2−n−q(tj)>0d(t_j) = 2^{-n} - q(t_j) > 0;
  • 当 T~n+1(tj)=−2−n\tilde{T}_{n+1}(t_j) = -2^{-n} 时,因 ∣q(tj)∣<2−n|q(t_j)| < 2^{-n},所以 d(tj)=−2−n−q(tj)<0d(t_j) = -2^{-n} - q(t_j) < 0。

这意味着差多项式 d(x)d(x) 在有序点列 t0,t1,…,tn+1t_0, t_1, \dots, t_{n+1} 上正负严格交替。根据连续函数的介值定理,d(x)d(x) 在每个相邻极值点之间必有零点,因而在区间 [−1,1][-1, 1] 内至少拥有 n+1n+1 个互异的实根。

但一个次数不超过 nn 的非零多项式不可能拥有 n+1n+1 个零点。矛盾表明假设不成立,故 d(x)≡0d(x) \equiv 0。没有任何首一多项式能取得比 2−n2^{-n} 更小的最大峰值。

几何图景:半圆投影与两端聚集

为什么 Chebyshev 节点能够化解边缘发散危机?

想象在单位半圆周上放置 n+1n+1 个等角度的采样点:角度依次取为 θk=2k+12(n+1)π\theta_k = \frac{2k+1}{2(n+1)} \pi。将这些半圆上的等距点垂直投影到底部直径区间 [−1,1][-1, 1] 上,投影落点正是 Chebyshev 节点 xk=cos⁡θkx_k = \cos\theta_k。

由于圆周在靠近两极(θ→0\theta \to 0 与 θ→π\theta \to \pi)时斜率趋向竖直,投影下来的点在靠近两端 ±1\pm 1 处自然聚集密集,而在中心区域分布较为稀疏。

这种两端密集、中间稀疏的非均匀采样,恰好把最多的约束力压注在先前几何乘积项 ωn+1(x)\omega_{n+1}(x) 剧烈膨胀的边界区域,像钉子一样牢牢锁住多项式的上下游移,从而彻底抹平 Runge 恶性震荡。

对于任意一般区间 [a,b][a, b],只需通过仿射变换完成映射:

x~k=a+b2+b−a2cos⁡(2k+12(n+1)π),k=0,1,…,n.\tilde{x}_k = \frac{a + b}{2} + \frac{b - a}{2} \cos\left( \frac{2k + 1}{2(n + 1)} \pi \right), \quad k = 0, 1, \dots, n.

插值前沿的发展脉络

Chebyshev 节点给出了能够在全局自由选点时的最佳多项式方案。

但在实际工程场景中,我们还面临两大延伸挑战:

  1. 导数信息的结合:当传感器不仅测得函数值,还同时测量了速度或切线斜率 f′(xi)f'(x_i) 时,如何让多项式同时精确契合数值与切线?这引出了Hermite 插值。
  2. 固定离散点与局部控制:若采样点位置无法自由选择,或者需要局部修改而不引发全局连锁反应,全局高次多项式就显得过于僵硬。通过局部低阶多项式光滑拼接,便构成了更为实用的样条插值。

参考文献

  1. [1] R. L. Burden and J. D. Faires, Numerical Analysis, 9th ed. Brooks/Cole, Cengage Learning, 2011. a b
  2. [2] M. U. School of Mathematics, “MTH2051: Introduction to Computational Mathematics: Course Lecture Notes and Study Workbooks,” 2026. Monash University course materials and study workbooks, Semester 2, 2026. ↩