1. 程式人生 > >泰勒公式的展開細節解析(轉載)

泰勒公式的展開細節解析(轉載)

示意圖 裏的 公式 早就 期末考 預測 求導 延展 很多

轉載自: https://blog.csdn.net/dog250/article/details/76697167

上周寫完了《《三體》讀後思考-泰勒展開/維度打擊/黑暗森林》後收到一些郵件,進一步思考了關於泰勒展開的意義。也許我掌握的那些網絡技術比如Linux Netfilter,NAT之類,太過底層太過小眾,所以大家幾乎都是沒有感興趣的,倒是這種科普性質的文章和那些吐槽類的文章,會引發一系列的互動,這對我來講是好事,因為我喜歡跟人交流技術和思想。

聲明
本來這篇文章應該添加在《三體》讀後感後的“補遺”一節呢,後來覺得太長了,有點喧賓奪主的意思,就單獨寫了一篇文章。
  其實吧,這篇文章已經跟《三體》小說沒有太大的關系了,這純粹是一篇關於數學的文章,但是由於本文要涉及大量關於“趨勢的趨勢的趨勢”,“走勢的走勢的走勢的走勢”,“導數的導數的導數的導數的導數…”,為了保持一致性,我將本文的題目寫成了“《三體》讀後感的讀後感…”,可能後面還有,未完待續!

第一部分.泰勒展開解釋
很多人對我解釋的泰勒展開提出了自己的疑問,這些疑問大致都是對下面的問題表示不解:
為什麽可以從一個單獨的點不斷求導就可以畫出整個函數的曲線?即“一點是如何蘊含整個世界”的。
誠然,這個問題其實在數學上是及其容易證明的,在定量的角度,隨便找出一本講微積分或者數學分析的書都可以得到令人滿意的回答,我在文章《《三體》讀後思考-泰勒展開/維度打擊/黑暗森林》中也給出了一個簡易的推導。然而,在滿足了邏輯上的自洽後,我們很多人對一件邏輯上合情合理的事情便有了探索其實際意義的欲望,比如我們會問,它的物理意義是什麽,它的幾何意義是什麽,甚至更基本的,它的意義是什麽?就這麽問著問著,便似乎有了一點哲學探索的味道,在我看來,這便是最精彩的!

   很多人都看過雙截棍表演,但現如今很少有人了解鞭術了,其實你可以把鞭子看成是N趨近於無窮大時的N截棍,玩起來更難。其實我也不是很懂,就是為了解釋這個泰勒展開才稍微看了一點關於鞭術的東西,具體來講,執鞭人手執鞭子在原地只是上下左右按照一定的規則甩鞭,一條很長的鞭子就會整體展現成各種漂亮的曲線,他是怎麽做到的?
   當然,從物理上講,這當然是若幹列波從執鞭處向鞭子的另一端傳播,傳播的過程在不同的點產生了定向的效果,然而似乎不是一個很好的足以讓人滿意的解釋,我們的問題是,那個執鞭人的手需要怎麽個動作,才能讓鞭子整體上看來是那種效果?
  這個問題我是回答不了,因為我不懂鞭術,身邊也沒有懂的人,但是這個問題似乎和本文一開始的那個問題講的是同一回事,即從一個點來蘊含整體的行為。

  我的觀點是:既然走勢可以讓人預測曲線上鄰接的下一點的大致位置,那麽走勢的走勢便可以相對精確地預測鄰接下一點的具體位置,緊接著,走勢的走勢的走勢便可以告訴人們這種趨勢可以延續到什麽時候,再繼續…這似乎超出了人們的想象力…我們還是用簡單的數學來表示吧。我們先從1階導數,2階導數,3階導數的幾何意義說起。
  先看1階導數,我們知道,它是經過曲線上某點的切線的斜率:

我們來看這個1階導數可以預測到多遠處呢?如果我們僅僅知道該點的坐標以及有這麽一個該點的1階導數的值,我們幾乎什麽都預測不了,除了知道在該點處有沿著切線向上的趨勢之外,這沒能為我們畫出這個曲線帶來幫助,似乎下面的曲線都能滿足,然而真正正確的只有一個:

換句話說,1階導數只能將鄰接的下面的點定位到兩個範圍中的一個:

so,我們需要進一步的信息,我們繼續求2階導數,看看能挖掘出什麽新玩意兒。
  2階導數是1階導數的導數,換句話說,它代表了檢測點切線的變化趨勢,有了這個趨勢,我們是不是可以相對精確地預測鄰接的點的位置了呢?我們先看2階導數的幾何意義為何。學過數學的都知道,2階導數表示了曲線的凸凹,對於凸函數,2階導數是負數,它表示切線的斜率會越來越小,而對於凹函數,2階導數是正數,它表示切線的斜率越來越大:

因此,有了2階導數,我們對接下來的曲線走勢定位就更加精確了,我們可以進一步縮小鄰接的點的取值範圍:

具體的坐標由2階導數的具體值來約束。
  到了這一步,進一步將曲線往前延伸似乎是無望的,因為:

1.首先,我們不知道代表檢測點凸凹性的2階導數的值在將來會不會逆轉,即我們不知道曲線會不會由凸變凹或者由凹變凸;
2.其次,即便假設函數的凸凹性不變,我們也不知道接下來曲線是越來越凸/凹呢?還是反過來呢?

畢竟,我們只求得了檢測點的1階和2階導數,註意,它們都只是一個數字,而不是一個帶有自變量的新的函數,所以我們通過1階導數和2階導數,得到僅僅是2個值,僅此而已,如果我們能得到關於曲線任意一點的2階導數的函數表達式,那麽我們當然可以預測曲線2階函數的走勢,但在本文中,我不會那麽做,我就假設,我們沒有這個函數表達式,只有一個檢測點的2階導數的值!怎麽辦?
  我們繼續看3階導數。在此之前,我必須要澄清一個我的觀點。
  我在知乎上查過相關資料,另外還特意請教過一些搞數學的老師或者朋友,得到的解答可能都是從哪個地方看到的一致性解答,說3階,4階,5階…導數這些沒有幾何意義和物理意義,數學只追求邏輯上的完整,自包容,而不是去追求什麽幾何意義,物理意義。我並不贊成這個說法,以霍金為例,它的虛時間模型雖然只是數學上的技巧,但是最終的目標卻是為他的有限無界的宇宙幾何模型服務,這說明,完成邏輯完整性證明和尋找其意義同等重要,可能後者還會更重要,我沒有看到哪一個偉大的物理學發現背後僅僅是純粹的思辨性的數學,不管是牛頓的引力場,還是愛因斯坦的引力場,還是霍金的量子引力,在邏輯嚴謹性支撐的前臉,都有一個漂亮得體的幾何模型作為表象。

  3階導數不難求,繼續對2階導數表達式求導,然後代入檢測點的x值即可,然而3階導數的意義是什麽?其實仔細想想,並不難理解,這正如2階導數主導1階導數的變化從而把1階導數自認為正確的“以直代曲”的直線模擬拉成彎曲的或者凸或者凹的曲線一樣,3階導數同樣主導2階導數的變化,它可以表示“曲線是繼續凸下去或者繼續凹下去,還是會在某一個x值後逆轉,由凸變凹或者由凹變凸”。用語言表示比較蒼白難以理解,於是我畫個圖示:

好了,有了3階導數,我們似乎進一步將曲線向前推進了,至少是預測出了一種趨勢,然而這個趨勢是必然的嗎?考慮到一種情況,比如當前檢測點的2階導數值為1,表示曲線在檢測點是凹的,而同時3階導數的值為-1,這表示可能接下來鄰接點的2階導數會比1小一點,最終會變成0甚至負數,這意味著曲線會由凹變凸,即經歷一個拐點,但這種預測一定會發生嗎?
  不一定!But why?
  雖然當前檢測點的3階導數值為-1,但這並不意味著它會一直保持-1,如果它一直保持-1,那麽我們的預測正確,但是如果曲線的3階導數在該檢測點是遞增的呢?這意味著會發生下面的情況:
在曲線從檢測點x0x0開始,2階導數變為0甚至負數之前,其3階導數就已經從-1遞增到0以上了,這說明雖然曲線的凹性越來越顯得不那麽凹,有變平變凸的趨勢,但這種趨勢的趨勢越來越弱,還沒等曲線變成凸的,這種作用便消失了,曲線將會繼續保持凹型發展下去…
  上面的判斷簡直可以彌補3階導數的誤差,曲線進一步前進,很帥!那麽如何判斷3階導數的走勢呢?簡單,求4階導數!
進一步,以上這樣發展會持續多久呢?好吧,求5階導數吧,可以再推進一步。我們對曲線走勢的掌握離開檢測點隨著越來越高階導數的求解漸行漸遠,6階導數,7階,8階,9階…我們對曲線走勢的預測將越來越接近原先的函數。

  我來畫一個實際的例子結束討論:


這是不是有點像鞭術大師執鞭表演,力道和甩鞭模式從大師的手掌開始沿著鞭體傳播,模式的頻率越低,影響的越遠。除了鞭術,還有雙截棍,如果玩雙截棍的時候打到了自己,那麽一定是哪個導數沒有求好,比如4階導數搞錯了…
  在了解了曲線的走勢後,剩下的就是用二項式去擬合了。其實,這種二項式疊加的擬合方式並沒有什麽特殊的含義,只是因為它是可以做到的而已,你同樣可以用傅立葉變換的方式將一個函數在頻域上展開,因為那也是一種可能的方式。其實任何兩個或者多個帶有實際效應的表達式疊加在一起,整體而言都會表現出各個疊加體局部的性質,這裏重要的是一個純數學上的技巧,即如何確定二項式的系數,可以肯定的是系數跟各階導數是相關的,剩下的問題就是待定系數法求解了,這並不是需要贅述的內容。
  綜上,在這個待定系數的角度,二項式擬合任何曲線實屬湊出來的,因為湊出來的二項式疊加表達式的各階導數值恰好等於原函數的各階導數值。
  然而這並不能讓不斷尋找意義的人滿意,如果非要在純數學之外去尋找這樣做的意義,那麽我們可以從中值定理入手去理解。說好了不談這些諸如中值定理的,但事實上,想徹底理解一個數學概念,這些概念是避不開的,問題是,我們如何更簡單地(而不是更復雜地)去理解它們。
  以拉格朗日中值定理為例,它的中值定理是這樣的:

如果函數f(x)在(x0,x)上可導,[x0,x]上連續,則必有一ξ∈[x0,x]使得:f(x)=f(x0)+f′(ε)(x−x0)如果函數f(x)在(x0,x)上可導,[x0,x]上連續,則必有一ξ∈[x0,x]使得:f(x)=f(x0)+f′(ε)(x−x0)

按照這個思路展開,既然在直觀的1階導數情形下,拉格朗日中值定理擁有的幾何意義,那麽在2階導數均擬合的情況下,是不是可以有下面的描述呢:

如果函數f(x)在(x0,x)上可導,[x0,x]上連續,則必有一ξ∈[x0,x]使得:f(x)=f(x0)+f′(x0)(x−x0)+f′′(x0)2!(x−x0)2+f′′′(ε)3!(x−x0)3如果函數f(x)在(x0,x)上可導,[x0,x]上連續,則必有一ξ∈[x0,x]使得:f(x)=f(x0)+f′(x0)(x−x0)+f′′(x0)2!(x−x0)2+f′′′(ε)3!(x−x0)3

這個式子可以推廣到NN階,這是一種很常見的思路,把一個式子一般化後推廣,然後小心求證其合理性,待到證明完成,便可以進一步地解釋現象,這種思路承接了近代絕大部分的科學技術進步!
  我來給出上式子的一個幾何解釋,雖然我們想象不到2階導數依照其幾何意義如何畫出來,但是我們可以把原始的函數本身升一個維度,然後用積分的思想去理解2階導數的幾何意義。
  理解我在說什麽了嗎?我的意思簡單點說,就是積分式的1階導數(其實是導函數)就是被積函數,被積函數的1階導數就是積分式的2階導數,而我們知道積分式是有幾何意義的,它表示面積,而被積函數則表示曲線,再進一步積分式的2階導數則表示曲線上某點切線的斜率…這樣,相當於我們將2階導數看成了切線斜率,將1階導數看成了曲線本身,而原始函數看成了曲線與xx軸圍成的面積:

Farea=f(x)=∫x0g(x)dxFarea=f(x)=∫0xg(x)dx
f′=g(x)f′=g(x)
f′′=g′=切線斜率f′′=g′=切線斜率

這樣我們就可以用拼接圖形求總面積的方式來在更高的維度表達類似拉格朗日中值定理的式子了。我們看一個圖示:

我們依照上面的圖示,試著求一下OxDAOxDA的總面積,首先我們將其表示成各個小塊的和的形式:

SOxDA=SOx0P0A+Sx0xCP0+SP0CB+SP0BDSOxDA=SOx0P0A+Sx0xCP0+SP0CB+SP0BD

然後我們依照圖示中的幾何關系來分別求各個小塊的面積,幸運的是,以直代曲的思想在此體現的淋漓盡致,我們要求的只是簡單的三角形,矩形的面積,而我們知道這些完全用加減乘除四則混合運算就足夠了,是不是很符合二項式疊加的思想呢?殊途同歸!首先看SOx0P0ASOx0P0A,由定義,我們知道它就是f(x0)f(x0),接下來看Sx0xCP0Sx0xCP0,它是個矩形,變長分別為x−x0x−x0和LP0x0LP0x0,而LP0x0LP0x0按照定義,它就是g(x0)g(x0),而g(x0)g(x0)又是什麽呢?很顯然根據上面的微積分關系,他就是f′(x0)f′(x0),到此為止我們可以把面積求和算式寫成如下的樣子了:

SOxDA=f(x)=f(x0)+f′(x0)(x−x0)+SP0CB+SP0BDSOxDA=f(x)=f(x0)+f′(x0)(x−x0)+SP0CB+SP0BD

還剩下兩項,現在來看SP0CBSP0CB,它是個三角形,我們知道它的底邊長就是x−x0x−x0,而高則是LCBLCB,同時我們知道切線的斜率就是f′′(x0)f′′(x0),那麽LCBLCB顯然就是f′′(x0)(x−x0)f′′(x0)(x−x0)咯!我們把它代入到上面的式子:

SOxDA=f(x)=f(x0)+f′(x0)(x−x0)+12f′′(x0)(x−x0)+SP0BDSOxDA=f(x)=f(x0)+f′(x0)(x−x0)+12f′′(x0)(x−x0)+SP0BD

最後還剩一下一項了,即SP0BDSP0BD,它太小了,並且貌似不是很容易計算,因為它不是三角形,也不是任何用直線圍成的,它的上沿是一條曲線…這可怎麽辦?我們註意到,當xx和x0x0趨於接近的時候,這塊小面積就趨近於00了,這便是可以忽略不計了,這就是極限的思想,當然這不是本文的主題咯。我在畫上面的示意圖的時候,特意將xx和x0x0拉開了一定的距離,這是為了直觀,在真正的微積分運算中,這段距離就是無窮小,那麽圖形SP0BDSP0BD的面積也就是無窮小了,暫且記為O(SP0BD)O(SP0BD),最終的式子為:

SOxDA=f(x)=f(x0)+f′(x0)(x−x0)+12f′′(x0)(x−x0)+O(SP0BD)SOxDA=f(x)=f(x0)+f′(x0)(x−x0)+12f′′(x0)(x−x0)+O(SP0BD)

這樣,當切分的區間越來越細致時,O(SP0BD)O(SP0BD)越來越趨向於00(這個很容易用積分中值定理從直觀上看出來,事實上,O(SP0BD)O(SP0BD)的值就等於f′′′(ε)3!(x−x0)3f′′′(ε)3!(x−x0)3).
  好了,這就是一個在2階情況下,中值定理大致的幾何印象。循著這個思路推廣下去,泰勒公式就在眼前了。
  雖然我們想象不出來NN階中值定理的幾何意義,但是正像物理學中經常提及超維一樣,我們也可以把二維的笛卡爾坐標系拓展成“無限維度空間中的超立方體”。這樣的假設下,似乎還不是特別令人滿意,但也就只能這樣了。
  事實上,我這裏可以給出一點提示,利用積分中值定理可以證明泰勒公式在意義層面的合理性,利用分部積分從我上面給出的2階導數直觀幾何意義開始,可以逐漸導出完整的泰勒公式!我不會在本文正文中去表達這些內容,因為怕公式太多。當你看線條找不出線條,夾角之間的關系時,試試面積,升個維度試試。
  最後,記住一個結論,NN階導數的幾何意義物理意義要比如何用泰勒多項式表達任意表達式更加重要,後者只是說明它“恰好能做到”而已,除了泰勒多項式,傅立葉展開也可以達到同樣的效果,另外,還可能有別的。
  在觀察二項式擬合任意函數的時候,我們知道“它恰恰可以做到”,現在的問題是如何感性的認識到這一點,即“它為什麽就可以做到?”,我們以下面的兩個多項式為例,來點感性認識:

f(x)=x2f(x)=x2
f(x)=x3f(x)=x3

我們把它們畫在一個圖裏:

可以看得出,2次多項式的曲線表明它是關於yy軸對稱,而3次多項式的曲線表明它是關於原點O原點O對稱的。這個時候,我們試試兩個二項式加和的圖像時什麽,為了保持對比,我把原始的兩個二項式留在了圖裏:

感覺2次的多項式完全被3次多項式碾壓覆蓋,表現不出任何它自己的特征,我們可以清晰地看到,在xx取值小於0的時候,根本表現不出2次曲線的行為,這似乎不是一個好消息,因為直觀地看,次數越高的多項式在整體的求和表達式中越占據主導地位,那些次數較低的多項式都只是配角,負責曲線水平或者垂直的移動而已…這似乎打破了“任意次多項式求和表達式”可以擬合任何曲線的神話。
  然而,我們沒有考慮縮放。
  直觀地看,雖然3次曲線在xx變化時,其yy值的變化劇烈程度要大於2次曲線(從其1階導數上便能看得出,2次曲線是2x2x,3次曲線是3x23x2),如果我們能適當地,恰到好處的把二者的差異通過縮放平滑掉,那麽結果如何呢?考慮到我們只能用四則混合運算,非常簡單,給3次多項式除以一個大於1的系數,減小它的yy效應,或者給2次多項式乘以一個大於1的系數,從而增加它的yy效應,我們來看看結果如何。先看縮小3次曲線效應的結果:

再看增加2次曲線效應的結果:

這基本上達到了我們的預期。
  到這裏,我們知道,二項式的加和表達式是“可以”擬合任何曲線的,而泰勒展開式的那些系數則是一組“恰到好處”的系數,它保證了原表達式和展開表達式的各階導數都是相等的!

  我想,我終於把該表述的都說完了,有人提到說讓我用動畫去表示曲線的擬合,這個確實要比用圖形和文字更加震撼,然而It is beyond my ability,我並不會這些東西,我所用的gnuplot都要折騰好久,我並沒有什麽更好的簡單的工具來幫我做更加直觀的東西,所以就只能通過畫草圖和文字加以贅述,實為能力所限,實在抱歉。
  我們考慮一個形象的表述來結束關於這個話題的討論,那就是牛頓定律的位移時間位移時間公式:

v=atv=at
s=f(t)=v0t+12at2s=f(t)=v0t+12at2

我們知道,位移時間位移時間的1階導數就是速度,2階導數就是加速度,在恒力F0F0作用下,2階導數是一個不隨時間變化的定值,那麽問題是,時間tt後的位移由誰決定,仔細想想就會明白,如果我們忽略恒力導致的加速度aa,即忽略位移時間位移時間的2階導數,那麽時間t後的位移為:

st=vt0tst=vt0t

很顯然,在恒力的作用下,這與真實的位移結果差很多,距離當前時間越遠,結果誤差就越大,很顯然,在離當前時間t0t0的適當遠tt處,位移/時間的2階導數便派上了用場,在恒力作用下,它可以精確計算相對於當前時間的位移。
  以上的討論僅僅是在恒力作用下牛頓第二定律導出的結論,然而如果施加的力不是恒定的,而是一個關於時間tt變化的變力F=f(t)F=f(t),那麽此時僅僅2階導數便不足以刻畫時間tt後精確的位移了,此時要想預測時間tt後的位移,隨著tt距離當前時間的遠去,位移時間位移時間的3階導數,4階導數…便派上了用場,註意,變化率的變化率使得我們能在越來越遠的地方預測趨勢,這個正是和上文中關於泰勒展開的討論是一致的。

值得一提的是,牛頓在當初導出微積分重要結論的時候,就是為了研究物理運動的,特別是天體的運動,因此關於位移/時間在微積分上的結論應該是從《自然哲學的數學原理》中可以看到的第一手結論。

第二部分.另外一種刻畫的方式
一般而言,我們在畫一個函數的圖像時,基本就兩點:

1.首先求解各階導數,判斷其增減性,凸凹性,極值,拐點等,並且描出這些點;
2.其次,擬合若幹個可以判斷的具體點。

這樣,大致的曲線就畫出來了,可以看到,這種畫法跟素描的方式非常像,簡直就是素描!先畫輪廓,然後進一步細化。然而我覺得這不是雲天明故事中針眼畫師的畫法,這也不是我的畫法。
  不管怎樣,雖然兩種不同的畫法在操作細節上是截然不一致的,但是結果是,兩種方案的結論是完全一致的,函數被刻畫了,性質坦然地舒展了,還有什麽性質沒有暴露呢?嗯,也許在無窮遠處的無窮小的誤差可能會引發邏輯上的爭論。但此事並不經常,也不絕對。
  在正文中我是通過一個單獨的點來蘊含整體模式的,然而在數學上,多數的建議卻是,采用了素描的方式從粗到細地去刻畫。兩類的效果是一致的。

第三部分.關於導數和頻率
我們知道,1階導數就是函數在xx變化時,對應到yy變化的效應,而2階導數則是xx變化時,對應到函數1階導數的變化效應,以此類推。最後我們發現,整個NN階導數對應是一系列不同頻率的變化效應,而整個原始的函數曲線正是這些不同頻率的效應的疊加,用這個思路去解釋傅立葉展開是非常合理的,然而我們發現它竟然也可以對應地去解釋泰勒展開!
  隨著求導階數的增加,效應頻率也在不斷降低,最終這些不同頻率的效應將反饋到函數曲線上的任意一點,而這就完整勾勒出了整條曲線。如果能掌握了這個道理,那麽那些執鞭者便可以從單點甩出任意曲線了,我們都知道,頻率越高,傳播距離越短,頻率越低,傳播距離越長,當然執鞭者也知道這個道理。這一切在數學上的反映,那就是:
求導越深,頻率越低,影響越遠,曲線越擬合。
爆炸!旋轉升降座椅一定會爆炸!趕緊換椅子。

很多人在看了這些文章後,都給了一些建議,比如說加入一些動畫,我起初是不擅長這些的,然而主音吉他手告訴我說gnuplot裏做gif超級簡單,於是我在周一下班後仔細研究了一下,確實很簡單,雖然還沒有完全掌握關鍵的語法,但是比葫蘆畫瓢還是可以的。
  以下是一個y=sin(x)y=sin(x)的泰勒展開的gif動畫,紅色代表原始的y=sin(x)y=sin(x),綠色曲線的每一幀表示多了一階的導數,也就是展開式中多了一項,可以看得出,隨著求導的深入,綠色曲線將越來越擬合原始的正弦曲線,能擬合到什麽程度呢?答案是“你想到什麽程度,就能到什麽程度”


附錄
A. 分部積分法推導泰勒公式
我們從正文中提到的的中值定理的變形體入手:

f(x)=f(x0)+f′(x0)(x−x0)+誤差余項f(x)=f(x0)+f′(x0)(x−x0)+誤差余項

為了簡單起見,我忽略掉了余項O(SP0BD)O(SP0BD),註意,只是在寫法上忽略了余項,事實上它是會一直存在的,這個余項會隨著推導的進行,一直往後逼,越來越小。
  我們首先希望推倒多米諾骨牌的第一塊試試看,升個維度,把導數寫成積分的形式,我們有:

f(x)=f(x0)+∫xx0f′(x−r)drf(x)=f(x0)+∫x0xf′(x−r)dr

請註意,rr是計算積分使用的變量,它和計算整個疊加和所用的xx是不同的。以上就是整個多米諾骨牌布景了,現在該推倒第一塊了!使用分部積分法則:

∫udv=uv−∫vdu∫udv=uv−∫vdu
現在設:現在設:
u=f′(x−r)u=f′(x−r)
v=rv=r
於是:於是:
∫xx0f′(x−r)dr=(f′(x−r)r)xx0−∫xx0rdf′(x−r)∫x0xf′(x−r)dr=(f′(x−r)r)x0x−∫x0xrdf′(x−r)
按照積分區間整理上式子:按照積分區間整理上式子:
∫xx0f′(x−r)dr=f′(x0)(x−x0)+∫xx0f′′(x−r)2dr2∫x0xf′(x−r)dr=f′(x0)(x−x0)+∫x0xf′′(x−r)2dr2
代入最終表達式:代入最終表達式:
f(x)=f(x0)+f′(x0)(x−x0)+∫xx0f′′(x−r)2dr2f(x)=f(x0)+f′(x0)(x−x0)+∫x0xf′′(x−r)2dr2

好了,多米諾骨牌的第一塊已然推倒了…接下來就觀測吧!給出點提示:註意上面式子的第三部分:

∫f′′(x−r)2dr2∫f′′(x−r)2dr2

如果我們再次設u=f′′(x−r)u=f′′(x−r),v=r2v=r2呢,繼續享受上面的分部積分過程吧
  大致意思就是這樣,過程就不詳細寫了。

B.泰勒公式失效的場景(這個附錄會很長)
是滋補雞湯還是慢性毒藥,剛剛喝完的時候是無法獲知的,然而,當你喝下去這碗湯後3天,如果它是雞湯,你無法在這麽短的時間內體會到它帶給你的益處,如果它是毒藥,你將死去…
  是時候把物理意義扯出來了。
  在正文中,我強調的那些可以“從一點窺見整個世界”的曲線其實有有條件的,那就是它的定義域必須是全體實數,且處處可導,若不是這樣的話,情況就會復雜得多,這些復雜的情況在本附錄討論。在詳細討論前,有個聲明。
  由於本文並不是在同一時間寫的,中間間隔了一個工作周,在這一周中我學會並喜歡上了Geogebra,所以我放棄了gnuplot,以下的圖示全部來自於Geobebra。讓我們開始吧!
  首先看一個簡單的反比例函數y=1xy=1x,我們看下它的圖像:

且問曲線如何從A點“按照趨勢”延伸到B點?A點和B點之間有一堵墻,該墻不可逾越!因為分母不能是00,所以yy軸理所當然就是這堵不可逾越的墻了,換句話說,yy軸左右兩邊是隔離的兩個世界,在數學上,這個x=0x=0的點就叫做奇點。
  奇點的意義在於,在該點,曲線是沒有定義的,在這種點處,求導什麽的都是毫無意義的,這些點真的就是“奇異”的點,任何計算,任何公式,定律都毫無意義(下文中將會賦予奇點以意義!)。
  知道了奇點的概念後,再說一個例子。
  有一天我微信上問溫州皮鞋廠老板有沒有什麽好玩的東西,老板說算5–√5比較好玩,然後我便犯了一個低級的錯誤。我信口開河“把y=x12y=x12泰勒展開,把55代入不就可以了嗎”,為了在計算中不引入根號,瞬間想到了在x=1x=1處展開…計算是簡便了,然而結果對嗎?
  我們先來看一段動畫,即在x=1x=1處展開y=x12y=x12的最多n=50n=50階逼近的過程(Geogebra做這個非常帥!簡單直接易上手!):

從n=1n=1到n=50n=50,把x=5x=5代入均得不到正確的結果。可見,結論並不是我們之前預期的那樣,在“x=1x=1這一個點窺見整條曲線”,顯然“能窺見”的曲線範圍僅僅局限在大致(0,2)(0,2)這個區間裏。到底發生了什麽?在進一步闡釋物理意義之前,我還有點建議,如果你沒有接觸過復分析,收斂圓,收斂半徑,審斂法這些,那麽正好,如果你接觸過這些但只是懂概念,能推導,那麽建議暫時忘掉,如果你精通這些,那麽不建議繼續閱讀下去。
………….
在霍金的宇宙模型中,奇點是所有經典物理定律完全失效的地方,它既是無,它同時又是所有!霍金認為,量子理論可以解釋奇點裏發生的事,畢竟物理學不是哲學,人們顯然不能接受純粹的無或者無窮。奇點蘊含了整個宇宙本身,在創世之初的那一瞬間,奇點就是整個宇宙,它是時間,它是空間,它是上帝本體!
  宇宙的膨脹意味著時間的膨脹和空間的膨脹,既然是膨脹,肯定需要多余的物質和能量,當我們吹氣球的時候,氣球之所以會膨脹,那是因為有氣體不斷地註入氣球內部,同時氣球球壁還有足夠的厚度可以展開,總之,整個過程是需要物質(球壁)和能量(吹氣)的!宇宙外面是什麽並不是我們討論的範圍,霍金認為宇宙就是宇宙,是一個自洽的整體,那麽顯然沒有在宇宙外面吹氣的那個人,宇宙也不會有球壁…促使宇宙膨脹的物質和能量來自哪裏?
  來自奇點!
  來自奇點!
  來自奇點!
  奇點早就蘊含了一切!
  用霍金宇宙的奇點思想理解數學上的奇點概念,是樸素的。一條連續且光滑的曲線,它由它的奇點蘊含並生成,以y=1xy=1x為例,它由兩條連續且光滑的曲線構成,x=0x=0是該函數的一個奇點,也是唯一的奇點,那麽x=0x=0處便蘊含並可生成整個兩條曲線了。
  你可以把奇點想象成一個無線維度濃縮在一起的一個點,就像面團一樣,可以展開到任何維度,可以搟成餃子皮,可以拉成拉面,可以團成饅頭…現在我們用奇點的概念來描述一下函數y=x12y=x12的曲線的生成過程:

如果不加幹預,整個曲線會一直展開下去,直到遇到定義域的邊界,那麽在泰勒公式的幹預下,事情有所不同,當我們說將原函數在x=ax=a處泰勒展開的時候,實際上我們是接管了整個展開過程,x>ax>a的後面的曲線將不再從奇點拉出,而是由泰勒公式預測出來並展開,此時奇點的物質和能量將停止向外釋放,原始函數的曲線生成將停止,此後,泰勒展開的過程將用另外一條曲線去替代原始函數的曲線。需要註意的是,當我們將函數f(x)f(x)在x=ax=a處泰勒展開的時候,並非只針對x>ax>a的點有效,而是所有定義域的點都有效,畢竟泰勒展開式和原始函數是完全不同的兩個函數!
  由上面的過程性描述可知,如果將f(x)f(x)在x=ax=a處泰勒展開了,那麽泰勒公式僅僅能看到的是曲線從其奇點開始到x=ax=a結束這個區間的部分,其余的部分它是看不到的。這意味著什麽?
  這意味著,泰勒公式僅僅可以利用曲線來自奇點的從奇點到這個展開點之間的小區間的“物質”和“能量”,這些能量有多少決定了泰勒公式能量曲線往後(離開奇點的方向上)延展多遠,如果說從奇點到泰勒展開點,能量已經釋放了EE,那麽泰勒公式就只能利用大小等於EE的能量去展開原函數:

事實上也確實這樣,拋開這些燒腦的東西,在我們日常生活中也經常會碰到類似的情況。
  當一個人講話的時候,一些喜歡接話頭的人就會插嘴說,我知道你想說什麽,我來說吧。然而這種出風頭的策略並非總是奏效。如果原來講話的人剛開始說話,那麽插話的人往往也預測不了太多的內容,然而如果最開始講話的人說了很久,那麽一些暗中觀察的插話者往往能預測很多的內容並接著說下去。回到我們的泰勒展開,也就是說,展開點離開奇點越遠,那麽泰勒公式擬合的就越遠,這背後的思想就是能量守恒,奇點已經將能量積累到了展開點,那麽泰勒公式也就僅僅能用這麽多能量(事實上所謂的能量就是各階導數信息)來展開,這麽多能量能跑多遠呢?積累過程跑了多遠,那就還能跑那麽遠!想想單擺運動吧,就這個道理。
  那麽y=sin(x)y=sin(x),y=exy=ex這些函數的奇點在哪裏?這些函數的奇點在無窮遠處。這意味著,在任意一個展開點,函數曲線本身都已經積累的無窮的能量(即信息),這說明泰勒公式可以將其完全展開到無窮。
  離奇點越近,各種趨勢越不易表現出來,奇點附近剛開始積累趨勢,趨勢尚未表現,這就是能量和運動的觀點,我就是這樣避開了那些收斂圓,收斂半徑這些概念的。

C.到底什麽是數學
如果你覺得數學純思辨性的類似哲學的東西,那麽你可以忽略我下面的所述,如果不是,請看完它,哪怕是心裏壓著邪火,保持著憤怒。
  只有在古希臘數學才是純思辨哲學的分支,從羅馬帝國的地中海世界開始,一直到今天,數學都只是工具,解題工具。當然這裏說的解題並非我們考試中的解題,而是實實在在的處理數據時必須要解決的難題。
  不要把煉丹術和占星術看作是迷信這種不可救藥的東西,它們和數學的關系源遠流長。首先指出,現代數學和古希臘數學完全不是一個概念,甚至幾乎沒有什麽關聯,所以在理解現代數學本質的概念的時候,千萬不要去想什麽畢達哥拉斯學派什麽的。煉丹術和占星術是現代化學和天文學的先祖,當它們無法用咒語欺騙國王的時候,它們就必須拿出證據來保住自己的飯碗,這無形中將它們推向了現代科學的“深淵”。千萬不要將哥白尼,伽利略,牛頓…他們看成是擁有現代科學品質的明事理的人,在他們的年代,他們無一例外都披著神學的外衣,只是他們在處理一些棘手問題的時候,偶然間發現了一些所謂的真相,要讓這些真相在邏輯上變得合理,他們必須處理大量的數據從而期望導出一些隱藏在這些數據背後的關系。在處理數據的時候,他們無一例外地被數據和關系的復雜性困擾,於是乎他們搞出一些處理技巧,這些技巧就是現代數學的前身,因此可以說煉丹術和占星術引導了現代物理,現代物理激發了現代數學,這其中一脈相承的就是神學和哲學的不斷滲透和對抗。
  明白了這些之後,你會發現現在中學大學裏的數學課程的教法是多麽沒有意義。這些課程看似很深邃,然而都是毫無意義的。我記得我上大學的時候(當時還是本科,後來才“進修到大專”),老師給我們講梯度散度旋度,最後的輸出就是背誦了一大堆的定理和公式,我問老師這些有什麽用,老師說這些期末考試是必考點,以後考研也會考…後來我退學後跑到了女朋友(小小的媽媽)學校外面的村子裏租了個房子,剛過去時,正逢她們班要期末考試了,也要考高等數學,什麽洛必達法則,牛頓/萊布尼茲公式…爆炸,她們是日語教育專業啊!考這玩意兒毛用啊!
  然而抱怨是蒼白的,我依然要拖著疲憊的身軀去給她們講高等數學,對了,還包括她的同班男生,反正就是我女朋友全班…講著講著我就上癮了(其實也沒講多久),當有人問我學這些有什麽用的時候,我總是微笑著回答,這些都是必考點,以後你們考研也會考,說這話時我特別自豪,微笑裏帶著些許嘲諷和灑脫,因為我TMD再也不用考試和考研了!我不知道當時這樣回答我的老師是不是也是這麽想的。
….
在以後的學習生涯中,我徹底摒棄了學校裏的那一套,因為我再也不用考試了,而且也不會再參加任何形式的考試。所以我變得天馬行空,我從馬鞍面導出了Linux Netfilter的設計模型,最終確認作者也是這麽想的,然後我想僅僅是精通iptables的配置或者看完conntrack的代碼是多麽Low啊,於是便更進一步探索了Cisco和Netfilter在設計上的差異,最終實現了基於Netfilter的Cisco模型…在我學習最小二乘法的時候,我試圖理解平方的深意,後來我看了牛頓的《原理》之後,發現了平方律和立方律簡直就是構成我們世界的基本元素啊!
  王姐姐說牛頓是外星人,我表示贊同。然而牛頓是怎麽思考的?!
  1905年,愛因斯坦的奇跡年,主角是一位不修邊幅,收入不高的專利局小職員,有點像《三體》小說作者劉慈欣,在火電站工作,不好好上班天天上班時間寫小說…然而就是這個愛因斯坦道出了現代數學的本質,它只是工具!愛因斯坦從來沒有系統學習過現代數學,他只是在用到的時候去請教身邊的數學專家,他真的就是把數學當扳手使的。我不曉得其它的人怎麽想,我只知道,狄拉克的算符,費曼的積分,霍金的虛時間軸,這些都是數學上的技巧,你要是問有什麽物理意義,我覺得他們本人都說不出,只是這麽處理很方便,僅此而已吧。
  那麽,既然現代數學只是個工具,豈不是很Low?!No!每一個數學上的突破,均代表了一系列的總結,最終會引領新的突破,這方面,數學已經替代了哲學。在我工作的計算機領域,任何一個想法,如果你不能用數學表示出來,那便是不可處理的,請問不可處理的東西能完成KPI嗎?於是便有了數學建模。然而模型的建立談何容易。
---------------------
作者:dog250
來源:CSDN
原文:https://blog.csdn.net/dog250/article/details/76697167
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!

泰勒公式的展開細節解析(轉載)