※ 本文轉寄自 ptt.cc, 文章原始頁面
看板Math
標題

[分析] Hermite內插演算法的證明

時間
最新2023-08-09 21:10:00
留言34則留言,2人參與討論
推噓1 ( 1033 )
想請問如何證明下面wiki連結的step by step造出來的多項式確實符合內插條件 https://en.wikipedia.org/wiki/Hermite_interpolation#General_case -------------------------------------------------------------------------- 以下是我的觀察跟討論: 首先謝謝板友們在我問Lagrange函數極限退化那邊提供的意見 也如Vulpix所述我的極限退化就相當於Hermite內插 因此今天閱讀了Hermite內插相關資料後, 我發現: 只有告訴你怎麼找(Newton form + 相同點當成相異點取極限) 沒有告訴你怎麼證這樣找的多項式就我們要的 也就是說, 在找法上使用了不同點的內插多項式的極限退化 但是並沒有證明退化後的多項式確實會滿足條件 接著開始用實例說明, 因為Hermite內插的general case難寫, 我用二次多項式通過三個點然後極限退化成一個點舉例: 假設x_0,x_1,x_2兩兩相異, 想要找二次多項式p(x)通過(x_i,f(x_i)), i=0~2 接著用Newton form可以得到:(f[]是wiki中divided difference的記號) p(x) = f[x_0] + f[x_0,x_1]*(x-x_0) + f[x_0,x_1,x_2]*(x-x_0)*(x-x_1) 因為接著要對x_1,x_2取極限到x_0, 因此把變數x_1,x_2特別寫出令成q 即: q(x,x_1,x_2):=p(x), 然後要考慮lim_{x_1,x_2→x_0, 三者相異} q(x,x_1,x_2) 先假設這個極限存在, 令為L(x) 在f微分條件夠好的情況下, 我們可以證得: L(x) = f(x_0) + f'(x_0)*(x-x_0) + (1/2)*f''(x_0)*(x-x_0)^2 (剛好在我這個舉例就是極限退化成Taylor多項式) 問題來了: 我怎麼知道L(x)這個多項式會滿足: (1) L(x_0) =f(x_0) (2) L'(x_0) =f'(x_0) (3) L''(x_0)=f''(x_0) 當然在這個簡單的例子可以直接對L進行檢查, 也當然符合 我用這個例子跑一遍推導的用意是在於, 從剛剛的推導我們只有: (a) q(x,x_1,x_2) = p(x)且滿足p(x_0)=f(x_0) p(x_1)=f(x_1) p(x_2)=f(x_2) (b) lim_{x_1,x_2→x_0, 三者相異} q(x,x_1,x_2) = L(x) 原本我希望的是(a)+(b)就能證明出(1)~(3), 那我就不會上來問了XD 但是自己試了一下, 因為(b)對於所有x都成立, 所以我嘗試逐一代入x=x_i看極限 (順帶提一下, L(x)的收斂目前只有逐點收斂, 要證明均勻收斂才能讓x=x_1,x_2 這兩個case也可以跑極限, 不過目前先當作well-behaved) 結果不管怎樣x=x_i都是得到L(x_0) = f(x_0)而已.... ----------------------------------------------------------------- 總之, 在函數f的微分條件夠好的情況下, 不同點的多項式內插的極限退化就是Hermite內插演算法找的多項式 今天我的問題在於如何證明這個多項式會滿足我們設定的內插條件 (如果能寫出這個演算法的explict form或是遞迴式然後直接硬爆檢驗, 也歡迎!) 謝謝解惑~ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.102.225.191 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Math/M.1691180238.A.7D3.html

34 則留言

PPguest, 1F
Powell的Approximation Theory and Methods,1981

PPguest, 2F
p56 Theorem 5.5

PPguest, 3F
似乎是證明Newton form的Hermite內插多項式會滿足

PPguest, 4F
內插條件. 但google圖書看不到57頁,看不到證明方法
謝謝P大資訊! 我再去找找~

cmrafsts, 5F
我的想法是這樣,想像P是正確的多項式,而且你的差

cmrafsts, 6F
值法是用P(x)去寫的。那你會得到P(x)本身。現在你

cmrafsts, 7F
變動你取的點中的一部分,使動點靠近不動點並取極

cmrafsts, 8F
限。級數那邊的極限會變成高次導數,而總和不因點

cmrafsts, 9F
的選取改變,所以得到L=P
嗨c大, 你說"想像P是正確的多項式,而且你的差值法是用P(x)去寫的"這句是什麼意思? 如果P(x)是滿足微分條件的多項式, 目前不存在差值法, 只知道存在唯一這樣的P 而想證的就是 差值法加上微分所找到的L(x)就是P(x) 我有誤解你的意思嗎?

cmrafsts, 10F
你的f現在不是只是提供函數和高次導數值嗎?

cmrafsts, 11F
所以問題是一個純代數的問題。

cmrafsts, 12F
如果你是要問為什麼取極限可以,那因為P和f有一樣的

cmrafsts, 13F
導數條件,用P去看就合理了。
我有點搞混, 整理一下符號: P(x) 是存在唯一並滿足微分條件的二次多項式, 即P(x_0) = f(x_0) P'(x_0) = f'(x_0) P''(x_0) = f''(x_0) p(x) = f[x_0] + f[x_0,x_1]*(x-x_0) + f[x_0,x_1,x_2]*(x-x_0)*(x-x_1) L(x) = lim_{x_1,x_2→x_0} p(x) 今天我們知道p(x)會滿足p(x_0) = f(x_0), p(x_1) = f(x_1), p(x_2) = f(x_2) c大是用什麼脈絡去證明出P=L的?
※ 編輯: znmkhxrw (59.102.225.191 臺灣), 08/06/2023 18:38:16

PPguest, 14F
我猜我看懂了c大推文的證明

PPguest, 15F
假設要滿足的條件是

PPguest, 16F
P(x_1) = f(x_1), P'(x_1) = f'(x_1),...,

PPguest, 17F
P^(m_1)(x_1) = f^(m_1)(x_1),

PPguest, 18F
...

PPguest, 19F
P(x_n) = f(x_n), P'(x_n) = f'(x_n),...,

PPguest, 20F
P^(m_n)(x_n) = f^(m_n)(x_n).

PPguest, 21F
已知滿足條件以及最高次方至多...的多項式 P*(x)

PPguest, 22F
是存在且唯一的。

PPguest, 23F
在 Hermite 的 table 會有 m_i+1 個 x_i,

PPguest, 24F
我們先把重複的點換成不同的點:

PPguest, 25F
x_1, x_1+y_11,..., x_1+y_(1m_1),

PPguest, 26F
...

PPguest, 27F
x_n, x_n+y_n1,..., x_n+y_(nm_n).

PPguest, 28F
把 P*(x) 對 x_1, x_1+y_11, ..., x_n+y_(nm_n)

PPguest, 29F
做 Newton form 的插值,且因(一般插值的)唯一性,

PPguest, 30F
P*(x) = Newton form 形式的多項式。

PPguest, 31F
之後取極限讓 y_ij→0, 等號左邊還是 P*(x),

PPguest, 32F
等號右邊 Newton form 形式的多項式

PPguest, 33F
(直觀上)會趨近 Hermite 形式的多項式,

PPguest, 34F
因此 Hermite 形式的多項式會滿足條件.