(简记)拉格朗日插值 Lagrange 插值法

Lagrange 插值法

对于一个 \(n\) 次多项式:

\[\begin{aligned} F(n)=\sum_{i=0}^na_ix^i \end{aligned} \]

\(n+1\) 个互异点值拟合它就可以唯一确定这个多项式,点值表示为 \((x,F(x)),y=F(x)\) 的形式。

给定 \(x_0\rightarrow x_{n+1},y_0\rightarrow y_{n+1}\),则

\[\begin{aligned} F(x)=\sum_{i=0}^ny_i\prod_{j\neq i}^n\frac{x-x_j}{x_i-x_j} \end{aligned} \]

证明

考虑构造 \(n+1\) 个函数 \(f_0(x)\rightarrow f_n(x)\),其图像过 \(\begin{cases}(x_i,y_i)\\(x_j,0)(j\neq i)\end{cases}\)。那么所求多项式就是 \(F(n)=\sum_{i=0}^nf_i(n)\)。不妨令 \(f_i(x)=a\prod_{j\neq i}(x-x_j)\)。代入 \((x_i,y_i)\),考虑到当取值为 \(x_i\),有 \(f_i(x_i)=a\prod_{j\neq i}(x_i-x_j)=y_i\),整理可得 \(a=y_i\prod_{j\neq i}\frac{1}{x_i-x_j}\)。那么就有 \(f_i(x)=y_i\prod_{j\neq i}\frac{x-x_j}{x_i-x_j}\),进而,\(F(x)=\sum_{i=0}^ny_i\prod_{j\neq i}^n\frac{x-x_j}{x_i-x_j}\) 得证。

应用

特殊情况下,如果给出的 \(x_0\rightarrow x_n\) 在整数域上连续,那么可以通过前后缀处理分子,拆阶乘处理分母,然后 \(O(n)\) 地完成一次插值。

普遍情况下,我们暴力运行以上式子是 \(O(n^2)\)

更进一步地,我们可以通过 多项式快速插值 优化到 \(O(n\log^2n)\)

posted @ 2025-05-04 16:42  TBSF_0207  阅读(129)  评论(0)    收藏  举报