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