Hermite 插值

一、问题提出

对于给定的结点 x_0 < x_1 < \cdots < x_k 和正整数 m_0, m_1, \cdots, m_km_i \geq 1),求次数不超过 N = m_0 + m_1 + \cdots + m_k - 1 的多项式 p(x),使它在每个结点 x_i (i = 0, 1, \cdots, k) 处,分别满足条件

p^{(j)}(x_i) = f^{(j)}(x_i), \quad j = 0, 1, \cdots, m_i - 1.

即在每个结点 x_i 处,p(x)f(x) 有相同的函数值以及前 m_i - 1 阶导数值。

二、插值基函数的构造

2.1 基函数的定义

对每个结点 x_i,构造 m_i 个插值基函数 L_{ij}(x)j = 0, 1, \cdots, m_i - 1),其中 L_{ij}(x)N 次多项式,满足:

L_{ij}^{(s)}(x_i) = \delta_{js}, \quad s = 0, 1, \cdots, m_i - 1. \tag{1}

而对除 x_i 以外的各结点,满足

L_{ij}^{(s)}(x_l) = 0, \quad l \neq i, \quad s = 0, 1, \cdots, m_l - 1.

2.2 基函数形式的推导

A(x) = (x - x_0)^{m_0}(x - x_1)^{m_1} \cdots (x - x_k)^{m_k}.

我们断言 L_{ij}(x) 具有如下形式:

L_{ij}(x) = \frac{A(x)}{(x - x_i)^{m_i}} \cdot \frac{(x - x_i)^j}{j!} l_{ij}(x), \tag{2}

其中 l_{ij}(x) 为待定的 m_i - j - 1 次多项式。

为什么取这种形式? 这是由 L_{ij}(x) 需要满足的条件决定的。

(1)在其他结点处为零

注意到
\frac{A(x)}{(x - x_i)^{m_i}} = \prod_{l \neq i}(x - x_l)^{m_l}

这个函数在每个结点 x_ll \neq i)处有 m_l 重零点。因此,\frac{A(x)}{(x - x_i)^{m_i}} 及其前 m_l - 1 阶导数在 x_l 处都为零,这正好满足在其他结点处的条件。

(2)在 x_i 处满足导数条件

为了满足 L_{ij}^{(s)}(x_i) = \delta_{js},我们乘以因子 \frac{(x - x_i)^j}{j!}。这是因为:

  • 函数 \frac{(x - x_i)^j}{j!}x_i 处的前 j 阶导数都为零
  • j 阶导数为 1

因此,\frac{(x - x_i)^j}{j!} 提供了正确的"骨架"结构。

(3)待定多项式 l_{ij}(x) 的作用

为了调整 L_{ij}(x)x_i 处的各阶导数值,我们引入待定多项式 l_{ij}(x)。由于 \frac{A(x)}{(x - x_i)^{m_i}}x_i 处不为零(记其值为 a_0 \neq 0),我们可以通过选择 l_{ij}(x) 来精确控制 L_{ij}(x)x_i 处的导数值。

2.3 l_{ij}(x) 次数的确定

L_{ij}(x) 的总次数为 N,而
\deg\left(\frac{A(x)}{(x - x_i)^{m_i}}\right) = N + 1 - m_i

所以
\deg(l_{ij}(x)) = N - (N + 1 - m_i) - j = m_i - j - 1

三、待定多项式 l_{ij}(x) 的确定

3.1 方法一:Taylor 展式截断

根据条件 (1),L_{ij}(x)x_i 处的展开必须满足:

L_{ij}(x) = \frac{(x - x_i)^j}{j!} + \sum_{t=m_i}^{N} c_t(x - x_i)^t

由此可得

l_{ij}(x) = \left(1 + \sum_{t=m_i}^{N} \bar{c}_t(x - x_i)^{t-j}\right) \frac{(x - x_i)^{m_i}}{A(x)}

为什么 l_{ij}(x) 必须是 Taylor 展式的低次部分?

\frac{(x - x_i)^{m_i}}{A(x)}x = x_i 处作 Taylor 展开:

\frac{(x - x_i)^{m_i}}{A(x)} = d_0 + d_1(x - x_i) + d_2(x - x_i)^2 + \cdots

注意到括号内表达式
1 + \sum_{t=m_i}^{N} \bar{c}_t(x - x_i)^{t-j}
中,最低次项是常数项 1,而 t - j \geq m_i - j(因为 t \geq m_i)。

将两者相乘:
l_{ij}(x) = \left(1 + \bar{c}_{m_i}(x - x_i)^{m_i-j} + \cdots\right)\left(d_0 + d_1(x - x_i) + \cdots\right)

关键观察

  • 1 乘以 Taylor 展式,得到 d_0 + d_1(x - x_i) + d_2(x - x_i)^2 + \cdots
  • \bar{c}_{m_i}(x - x_i)^{m_i-j} 乘以 Taylor 展式,最低次项是 \bar{c}_{m_i}d_0(x - x_i)^{m_i-j},次数 \geq m_i - j

因此,l_{ij}(x) 中次数 \leq m_i - j - 1 的项完全来自于 Taylor 展式 \frac{(x - x_i)^{m_i}}{A(x)} 中对应的低次部分。

由于 l_{ij}(x) 本身是 m_i - j - 1 次多项式,它必须恰好等于 Taylor 展式中次数不超过 m_i - j - 1 的那部分,记为

l_{ij}(x) = \left\{\frac{(x - x_i)^{m_i}}{A(x)}\right\}_{x_i}^{(m_i-j-1)}

3.2 方法二:递推方程组

\frac{A(x)}{(x - x_i)^{m_i}}x = x_i 处作 Taylor 展开:

\frac{A(x)}{(x - x_i)^{m_i}} = a_0 + a_1(x - x_i) + \cdots + a_{N+1-m_i}(x - x_i)^{N+1-m_i} \tag{3}


l_{ij}(x) = b_0 + b_1(x - x_i) + \cdots + b_{m_i-j-1}(x - x_i)^{m_i-j-1} \tag{4}

方程组的推导

将 (3) 和 (4) 代入 (2):

L_{ij}(x) = \left(a_0 + a_1(x - x_i) + \cdots\right) \cdot \frac{(x - x_i)^j}{j!} \left(b_0 + b_1(x - x_i) + \cdots\right)

展开乘积,得到:
L_{ij}(x) = \frac{(x - x_i)^j}{j!} \sum_{s=0}^{N} c_s (x - x_i)^s

其中 c_sab 的卷积:
c_s = \sum_{t=0}^{s} a_t b_{s-t}

根据条件 (1),L_{ij}(x)x_i 处的展开必须满足:
L_{ij}(x) = \frac{(x - x_i)^j}{j!} + \text{次数} \geq m_i \text{ 的项}

这意味着:

  • c_0 = a_0 b_0 = 1
  • c_s = a_0 b_s + a_1 b_{s-1} + \cdots + a_s b_0 = 0,对于 s = 1, 2, \cdots, m_i - j - 1

于是得到方程组:

a_0 b_0 = 1, \\ a_0 b_1 + a_1 b_0 = 0, \\ a_0 b_2 + a_1 b_1 + a_2 b_0 = 0, \\ \quad \vdots \\ a_0 b_{m_i-j-1} + a_1 b_{m_i-j-2} + \cdots + a_{m_i-j-1} b_0 = 0. \end{cases}$$ 由于 $a_0 \neq 0$,可依次求出 $b_0, b_1, \cdots, b_{m_i-j-1}$,从而确定 $l_{ij}(x)$。 **验证条件 (1) 的满足** 设 $L_{ij}(x) = \frac{(x - x_i)^j}{j!} \cdot Q(x)$,其中 $Q(x) = 1 + O((x-x_i)^{m_i-j})$。 利用 Leibniz 求导法则: $$L_{ij}^{(s)}(x_i) = \sum_{t=0}^{s} \binom{s}{t} \left[\frac{(x - x_i)^j}{j!}\right]^{(t)} \bigg|_{x_i} \cdot Q^{(s-t)}(x_i)$$ 注意到 $\left[\frac{(x - x_i)^j}{j!}\right]^{(t)}$ 在 $x_i$ 处: - 当 $t < j$ 时为 $0$ - 当 $t = j$ 时为 $1$ - 当 $t > j$ 时为 $0$ 因此: - 当 $s < j$ 时,$L_{ij}^{(s)}(x_i) = 0$ ✓ - 当 $s = j$ 时,$L_{ij}^{(j)}(x_i) = Q(x_i) = 1$ ✓ - 当 $j < s < m_i$ 时,由于 $Q^{(s-j)}(x_i) = 0$,从而 $L_{ij}^{(s)}(x_i) = 0$ ✓ 这完全满足条件 $L_{ij}^{(s)}(x_i) = \delta_{js}$。 ## 四、最终插值公式 综合以上结果,Hermite 插值公式为: $$p(x) = \sum_{i=0}^{k} \sum_{j=0}^{m_i-1} \frac{A(x)}{(x - x_i)^{m_i}} f^{(j)}(x_i) \frac{(x - x_i)^j}{j!} \left\{\frac{(x - x_i)^{m_i}}{A(x)}\right\}_{x_i}^{(m_i-j-1)} \tag{5}$$