Hermite插值法
考察Lagrange和Newton插值多项式时我们限定的插值条件分别是\(L_n(x_i)=f(x_i)\)和\(N_n(x_i)=f(x_i)\),也就是说我们要求插值多项式在插值节点处是精确的,但在不少实际问题中需要其在节点处的导数值也精确。导数意味着光滑度,越高阶的导数连续说明节点处越光滑。一般这种对导数值也有要求的插值问题称为Hermite插值,通常研究的是带一阶导数条件的插值。例如,物理学中波跨越界面时,边值条件要求值连续且一阶导连续。解决Hermite插值仍采用的是Lagrange插值多项式基函数的方法。
给定\(f(x)\)在插值节点\(x_0,x_1,\cdots,x_n\)出的函数值\(y_0,y_1,\cdots,y_n\)及相应的一阶导数\(y'_0,y'_1,\cdots,y'_n\),要求满足以下插值条件
$$H_{2n+1}(x_i)=y_i=f(x_i),H_{2n+1}(x_i)=y'_i=f'(x_i),(i=0,1,\cdots,n)$$
的次数不超过2n+1的插值多项式\(H_{2n+1}(x)\)。设$$H_{2n+1}(x)=\sum^n_{j=0}\alpha_j(x)y_j+\sum^n_{j=0}\beta_j(x)y'_j$$
其中,\(\alpha_j(x), \beta_k(x)\)为2n+2个基函数,且均为次数不超过2n+1的代数多项式,满足
$$\left\{
\begin{array}{ll}
\alpha_j(x_i)=\delta_{ij}=\{
\begin{array}{ll}
1 &j=i\\
0 &j\ne i\\
\end{array}\\
\alpha'_j(x_i)=0, i=0,1,2,\cdots,n\\
\beta_j(x_i)=0, i=0,1,2,\cdots,n\\
\beta'_j(x_i)=\delta_{ij}=\{
\begin{array}{ll}
1 &j=i\\
0 &j\ne i\\
\end{array}\\
\end{array}
\right.$$
根据多项式零点的性质,我们可以设定\(\alpha_j(x)\)和\(\beta_j(x)\)的形式。对\(\alpha_j(x)\),除\(x_j\)外其他节点皆为其二重零点,故可以构造出
\begin{align*}
\alpha_j(x)&=C(x)\frac{(x-x_0)^2(x-x_1)^2\cdots(x-x_{j-1})^2(x-x_{j+1})^2\cdots(x-x_n)^2}{(x_j-x_0)^2(x_j-x_1)^2\cdots(x_j-x_{j-1})^2(x_j-x_{j+1})^2\cdots(x_j-x_n)^2}\\
&=C(x)\ell^2_j(x)
\end{align*}
由于\(\alpha_j(x)\)是2n+1次多项式,故C(x)只能是一次式,可令C(x)=Ax+B,即 \(\alpha_j(x)=(Ax+B)\ell^2_j(x)\),有
$$\left\{
\begin{array}{ll}
Ax_j+B=1\\
A+2(Ax_j+B)\ell'_j(x_j)=0\\
\end{array}
\right.$$
故得 \(\alpha_j(x)=(1+2(x_j-x)\ell'_j(x_j))\ell^2_j(x)\).同样地,对\(\beta_j(x)\),\(x_j\)为一重零点,外其他节点皆为其二重零点,构造
\begin{align*}
\beta_j(x)&=C(x-x_j)\frac{(x-x_0)^2(x-x_1)^2\cdots(x-x_{j-1})^2(x-x_{j+1})^2\cdots(x-x_n)^2}{(x_j-x_0)^2(x_j-x_1)^2\cdots(x_j-x_{j-1})^2(x_j-x_{j+1})^2\cdots(x_j-x_n)^2}\\
&=C(x-x_i)\ell^2_j(x)
\end{align*}
由于\(\beta_j(x)\)是2n+1次多项式,故C是常数。利用\(\beta'_j(x_j)=1\)可得C=1,从而 \(\beta_j(x)=(x-x_j)\ell^2_j(x)\). 确定了\(\alpha_j(x)\)和\(\beta_j(x)\)的形式后,有
$$H_{2n+1}(x)=\sum^n_{j=0}(y_j+(x-x_j)(y'_j-2y_j\ell'_j(x_j))\ell^2_j(x),$$
其中\(\ell_j(x)\)为Lagrange插值基函数。可以直接求导知
\begin{align*}
\ell'_j(x_j)&=\frac{1}{(x_j-x_0)}+\cdots+\frac{1}{(x_j-x_{j-1})}+\frac{1}{(x_j-x_{j+1})}+\cdots+\frac{1}{(x_j-x_n)}\\
&=\sum^n_{i=1,i\ne j}\frac{1}{x_j-x_i}
\end{align*}
另外,Hermite插值余项为$$R(x)=f(x)-H_{2n+1}(x)=\frac{1}{(2n+2)!f^(2n+2)(\xi)P_{n+1}^2(x)}$$