拉格朗日插值学习笔记
已知在一个平面上 \(n + 1\) 个点可以唯一确定一个 \(n\) 次多项式。
即构造一个多项式 \(f(x)\) 使得当 \(x = x_i\) 时,\(f(x) = y_i\)。
拉格朗日插值提供了一种求出该多项式的方法。
直接构造是困难的,我们不妨构造一个简单一点的多项式,这个多项式要求在代入 \(x_i\) 的时候,值为 \(y_i\),其他情况的值为 \(0\)。
那么可以写成这个样子:
\[f_i(x) = \dfrac{\prod_{j \not = i} (x - x_j) y_i}{\prod_{j \not = i} (x_i - x_j)}
\]
对于每一个 \(i\) 我们都可以构造出这样的多项式,然后直接将这 \(n + 1\) 个多项式加起来就得到了我们最终想要的那个多项式。
显然,这个是符合我们上面的定义的。
朴素的计算方法是 \(O(n^2)\) 的。当 \(x_i\) 的取值是连续的数字的时候有一种 \(O(n)\) 的解法,在处理自然数幂和的时候比较好用。
首先,分子可以通过预处理 \(x-x_j\) 的前后缀实现 \(O(1)\) 求得,分母在 \(x_i\) 的取值是连续的数字的时候表示为两个阶乘的形式,注意正负号即可。

浙公网安备 33010602011771号