JOVANA
Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

當原函數無法用初等函數表示時

有些積分——高斯積分、正弦積分、橢圓積分——根本無法用初等函數寫出公式,而這是一條定理,並非你不夠聰明。來弄清這究竟意味著什麼,學會用柯西主值馴服發散的積分,並學會如何用數值方法算出它們中的任何一個。

每個積分高手終會撞上的那堵牆

到現在你已經握有一套像樣的工具:第一卷裡的 換元積分分部積分,再加上本級裡的 三角換元部分分式遞推公式參數求導技巧。所以當你第一次遇到一個能把這些招數全部擊敗的積分時,那滋味格外刺痛。試試 integral of e^{-x^2} dx,或 integral of (sin x)/x dx,又或 integral of sqrt(1 - k^2 (sin theta)^2) d(theta)。你在它們身上死磕幾個鐘頭也一無所獲——而原因並不是你少了某個竅門。

下面是老實話。有一條定理——劉維爾定理,到 20 世紀才被徹底精確化——它告訴我們:這些原函數根本無法寫成你從小熟悉的那些函數的有限組合,即多項式、根式、指數與對數、正弦與餘弦,以及由它們經四則運算和複合所搭建出的一切。像這樣的積分被稱為 非初等積分,這是一個鐵打的數學事實,而不是認輸的供詞。函數 e^{-x^2} 既完全光滑又完全可積;只是它的原函數拒絕待在初等函數這個圈子裡罷了。

三個著名的非初等積分

來認識幾位主角。先看高斯函數:integral of e^{-x^2} dx 沒有初等原函數,可是完整的 高斯積分 integral from -infinity to infinity of e^{-x^2} dx = sqrt(pi) 卻是被精確知道的——這優美地提醒我們:即便不定積分無解,一個積分也可以乾淨俐落。填補這道空缺的具名函數就是 誤差函數 erf(x) = (2/sqrt(pi)) integral from 0 to x of e^{-t^2} dt,它是機率論與統計學的主力。

其次是正弦積分:integral of (sin x)/x dx 同樣是非初等的,於是我們定義 正弦積分 Si(x) = integral from 0 to x of (sin t)/t dt。它是繞射問題或訊號處理問題的天然答案,而它的極限值 Si(infinity) = pi/2 又一次乾淨俐落地浮現。第三是橢圓積分:橢圓的弧長,以及大擺幅單擺的精確週期,都通向 integral of d(theta)/sqrt(1 - k^2 (sin theta)^2)。劉維爾定理在這裡把你攔得死死的——這些就是 橢圓積分,它們為自己贏得了整整一架專門的列表函數。

看出門道了嗎?當初等世界給不出某個原函數的名字時,數學並不投降——它把這個積分本身收編為一個新函數的定義。erf、Si 和橢圓積分並不比 sin 或 ln 更神祕;它們只是來得晚些的成員,由一個積分而非冪級數或直角三角形來定義。你可以把它們列表、作圖、求導(由基本定理,d/dx of Si(x) = (sin x)/x),還能把它們展成 泰勒級數——它們是堂堂正正的一等公民。接下來一整級的「特殊函數」,就專門獻給這群奇珍異獸。

為什麼定積分仍可能算出精確值

integral from -infinity to infinity of e^{-x^2} dx 恰好等於 sqrt(pi),而 integral of e^{-x^2} dx 在一般區間上卻被禁止有公式,這感覺很矛盾。化解之道是:定積分不過是一個,而一個數可以靠一個巧妙的全局論證求得,根本不必產生任何原函數。經典的高斯技巧把這個積分平方,將乘積讀作整個平面上的二重積分,再改用 極座標——那裡多出的因子 r 讓新被積函數變成初等的,整件事就坍縮為 pi。你從未對 e^{-x^2} 求原函數;你繞過了它。

馴服發散的積分:柯西主值

有時麻煩不在於原函數的形式,而在於一個奇點讓積分乾脆地發散了。考慮 integral from -1 to 1 of dx/x。被積函數在 x = 0 處炸開,作為普通的 反常積分 它沒有值:從 0+ 到 1 的那塊跑向 +infinity,從 -1 到 0- 的那塊跑向 -infinity,而無窮減無窮不是一個數。然而函數 1/x 關於原點是完美反對稱的,眼睜睜不能利用這種抵消,實在叫人發狂。

柯西主值正是為這種局面解圍。與其讓兩側各自獨立地逼近奇點,不如挖去一個對稱的、半寬為 epsilon 的缺口,再讓它一起收縮:P.V. integral from -1 to 1 of dx/x = limit as epsilon -> 0+ of [ integral from -1 to -epsilon of dx/x + integral from epsilon to 1 of dx/x ]。由於缺口對稱,+infinity 與 -infinity 在取極限之前就相互抵消,於是你得到一個有限的、定義良好的答案 0。主值 是一種約定——一條規定該如何逼近壞點的規則——它讓反對稱性得以發揮作用。

數值積分的初次登場

那麼,當公式根本不存在時,你究竟怎樣從 integral from 0 to 1 of e^{-x^2} dx 裡弄出一個呢?回到最本初的定義。定積分黎曼和 的極限:把 [a, b] 切成 n 個小片,在取樣點上算出被積函數的值,乘以片寬,再加起來。在有限的 n 處把這個極限截斷,就得到一個你能用手或機器算出的近似值。這就是數值積分,它對任何連續被積函數都管用——無論初等與否——因為它從頭到尾根本不索取原函數。

粗糙的矩形收斂很慢,所以實用的方法把力氣花在每個小片的形狀上。梯形法則用直線連接取樣點;辛普森法則把取樣點三個一組地穿上小拋物線,對光滑函數而言精度高得多;高斯型求積更進一步,巧妙地連取樣點本身都精心挑選,使得 n 個安放得當的取值就能把直到 2n - 1 次的每個多項式算得分毫不差。只需寥寥幾個點,辛普森法則就已能把 erf 和 Si 算到許多位有效數字——而這恰恰就是這些「不可能」積分的列表和庫函數被造出來的方式。

Approximate  integral from 0 to 1 of e^{-x^2} dx   (Simpson, n = 4 panels, h = 0.25)

  x:      0.00     0.25     0.50     0.75     1.00
  f(x):   1.0000   0.9394   0.7788   0.5698   0.3679
  weight:   1        4        2        4        1     (Simpson pattern)

  estimate = (h/3) * [ f0 + 4 f1 + 2 f2 + 4 f3 + f4 ]
           = (0.25/3) * [1.0000 + 3.7576 + 1.5576 + 2.2790 + 0.3679]
           = 0.74683

  exact (= (sqrt(pi)/2) erf(1)) = 0.74682...   -> right to 4 decimals with 5 points
五次取值加上辛普森法則,就已把一個非初等積分釘到四位小數——根本不需要原函數。

把它們串起來

下次再遇到一個抵抗你一切招數的積分時,別再沒完沒了地死磕,而是走一遍下面這套老實的分診流程。

  1. 先問初等原函數究竟存不存在。如果被積函數形如 e^{-x^2}、(sin x)/x 或 1/sqrt(1 - k^2 (sin theta)^2),劉維爾定理給出否定答案——別再苦尋公式了。
  2. 如果你需要把它當作一個函數,就接納那個具名的特殊函數——erf、Si 或某個橢圓積分——並把它當成一個可求導、可展開、可列表的一等對象來對待。
  3. 如果你只需要一個定值,就去找一個全局技巧——對稱性、參數法、極座標平方,或一條圍道——不靠函數也能求出那個數。
  4. 如果某個奇點讓它發散,但發散是對稱的,就申明一個柯西主值——老實地把它作為一種選定的約定,而非尋常的等式。
  5. 當其餘辦法都過頭或都用不上時,退回到數值積分——辛普森法或高斯型求積——它能把那個數算到你所要求的任意精度。