拉格朗日插值
拉格朗日插值
活力这么就,才知道自己不会拉格朗日插值。
求多项式在某处的点值
\[f(x_0)=\sum_{i=1}^{n+1}(y_i\prod_{j\neq i}\frac {x_0-x_j}{x_i-x_j})
\]
这个貌似很简单,不再赘述。证明就是 n + 1 个点唯一确定一个 n 次多项式,那么这个多项式唯一。
求多项式的完整系数
\[f(x)=\sum_{i=1}^{n+1}(y_i\prod_{j\neq i}\frac {x-x_j}{x_i-x_j})
\]
直接把 \(x_0\) 变成 \(x\) 即可。对每个都 i 求一遍,暴力展成系数,然后再直接带入即可。但是复杂度大失败 \(\Theta(n^3)\) 。
我们有更优的解法,首先容易发现一堆常数 \(y_i\prod _{j \neq i}\frac {1}{x_i-x_j}\),然后考虑上面的那个式子即可。
先把 \(f(1)\) 求出来,考虑转移 \(f(i)=\frac {(x-x_{i-1})f(i-1)}{x-x_i}\),这样就可以快速转移了。
挺好的,吊打高斯消元。