玄學小記 4 多項式插值

2022-04-30 10:00:09 字數 873 閱讀 6399

給定平面上的\(n\)個點,求乙個\(n - 1\)階多項式經過這些點……

我以前應該是只會\(o(n^3)\)的高斯消元的……就是直接把方程列出來直接解的那種…… 

考慮拉格朗日插值法:

$$f=\sum_y_i\prod_\frac$$

顯然如果直接計算右邊的式子可以得到乙個\(o(n^3)\)的做法,這不夠優越……

注意到\(\prod_(x-x_j)\)的形式非常美妙,考慮分治:

若令:$$p_i=\frac(x_i-x_j)} $$

$$g(l, r) = \prod_(x-x_j)$$

$$h(l, r)=\sum_p_i \prod_(x-x_j)$$

那麼就有\(f=h(1, n)\)。

顯然有轉移$$g(l, r) = g(l, m) g(m + 1, r)$$ $$h(l, r) = h(l, m)g(m + 1, r) +g(l, m) h(m + 1, r)$$,其中\(m = \frac\)。

直接算所有\(p_i\)的複雜度為\(o(n ^ 2)\)。

暴力乘法的話分治部分的複雜度為\(t(n) = 2t(\frac) + o(n ^ 2)\),可得\(t(n) = o(n ^ 2)\)。

因此整個東西的複雜度是\(o(n ^ 2)\)的。

注意到\(p_i\)也是可以用乙個類似的分治快速計算的,使用多點求值可以在\(o(n log^3n)\)的時間內求出。

後面的分治部分可以使用fft優化以在\(o(n log^2n)\)的時間內得到。

因此整個東西的複雜度是\(o(n log^3n)\)的,演算法的瓶頸在多點求值上…… 

後面那個東西似乎沒有什麼卵用,雖然沒有實現過但是總覺得常數非常大……

前面那個東西可以用來算冪級數的通項~

插值多項式例子

給定函式 ex 在區間 1,1 上的資料表如下 x 101 f x 0.3679 1.0000 2.7182f x 0.3679 1.0000 2.7182 給出 hermite 插值多項式,並計算其誤差。mathematica code create by zzw clear f,f1,a her...

lagrange插值多項式

簡潔版 hanshu input 請輸入函式f x s fprintf 請輸入差值區間最小值 n xmin input fprintf 請輸入差值區間最大值 n xmax input fprintf 請輸入等分份數 n n input fprintf 請輸入自變數x n xin input h xm...

實驗三 牛頓插值多項式

實驗三 牛頓插值多項式 實驗內容 天安門廣場公升旗的時間是日出的時刻,而降旗的時間是日落時分,根據天安門廣場管理委員會的公告,某年10月份公升降旗的時間如下 日期 1 15 22 公升旗 6 09 6 23 6 31 降旗 17 58 17 36 17 26 根據上述資料構造newton插值多項式,...