1814 高斯求積與自適應積分#
定積分 \(\int_a^b f(x)\,dx\) 是許多科學計算的終點:軌道的位置、橋梁的受力、機率的累積,最後都歸結為一個積分。數值積分的歷史跨越四百年,其中有葡萄酒稅引發的天才洞見,也有高斯在 1814 年的神來之筆,最終匯入今天的自適應數值積分軟體。
Kepler 的酒桶:一段被稅收逼出來的數學#
1615 年,天文學家 Johannes Kepler 出版了《測量酒桶體積的新立體幾何》(Nova stereometria doliorum vinariorum)。這本書的起因相當世俗:Kepler 為第二任妻子採辦葡萄酒時,發現奧地利林茲的酒商用一根斜插桶中的量杆來估算酒量,方法粗糙且對買方不利。作為計算行星軌道的人,Kepler 很清楚:把酒桶視為旋轉體,其體積可以用無限細的圓盤切片累加——這正是積分思想的先聲,比牛頓與萊布尼茲的微積分早了半個多世紀。書中他把桶切成無數薄片求和,相當於用粗略的「切片求和」逼近積分。這是數值積分思想第一次出現在印刷品上,而且直接來自消費者權益與商業計量的糾紛——經濟制度問題推動了數學。
Simpson、Newton–Cotes 與天文觀測#
更系統的方法在十八世紀成形。牛頓在《原理》中已使用過梯形式的近似;英國數學家 Roger Cotes(牛頓的助手,早逝於 1716 年)系統地研究了用等距節點的插值多項式積分,後人稱這族公式為 Newton–Cotes 公式。所謂 Simpson 法則(取三個等距節點的拋物線插值再積分)名義上是 Thomas Simpson 的貢獻——他在 1743 年的《數學論文集》中介紹並推廣了這個方法。但歷史再次比名字早:Kepler 在 1615 年已經使用過同樣的公式(德語文獻稱之為 Kepler 法則),英國的 James Gregory 也在 1668 年前後寫下過它。Simpson 本人相當坦率地承認這方法非他首創——他是以編織工出身自學成才的數學家,任職於倫敦的 Woolwich 皇家軍事學院,教書與寫暢銷教材是他的生計,把最好的方法寫進教材並命名推廣,也是一種貢獻。
這些公式有一個共同的限制:\(n+1\) 個節點的插值多項式精度至多是 \(O(h^{n+2})\),而且節點一多(高次插值)就會碰到 Runge 型的震盪問題。要突破,節點必須「不等距」。
高斯 1814:一次兼收兩階#
1814 年,Gauss 在 Göttingen 的《哥廷根科學院通訊》上發表〈Methodus nova integralium valores per approximationem inveniendi〉(求積分近似值的新方法)。他的想法極為大膽:不只節點位置可選,連「權重」也一併最佳化。對 \(n\) 個節點的求積公式
Gauss 證明:把節點取為 Legendre 多項式 \(P_n(x)\) 的根,權重取為相應的 Christoffel 數(其證明工具正是他在 1814 年同一時期發展的超幾何級數理論),則公式對次數不超過 \(2n-1\) 的多項式完全精確——比等距節點的 \(2n-1\) 次多項式精度上限足足多了一倍。這個「一次兼收兩階」的結果,背後是正交多項式與 Gram 行列式的深刻結構。Gauss 當時的動機之一是天文計算:行星軌道攝動計算中大量出現的積分需要高精度。也正是在做軌道計算時,高斯在 1809 年的《天體沿圓錐截線的運動理論》中發展了最小平方法——數值積分與最小平方法同源於高斯的天文觀測數據處理工作。
十九世紀後期,俄國的 Christoffel 在 1877 年重新發展了權重的系統理論(今日稱 Gauss–Christoffel 求積),聖彼得堡學派再次現身。
錯誤估計與自適應:Gauss–Kronrod 與 QUADPACK#
Gauss 公式很精確,但有一個實用難題:加一個節點,所有舊節點全作廢,無法「重用」。1950 年代末,蘇聯數學家 Kronrod 提出解法:在 \(n\) 點 Gauss 節點之間再插入 \(n+1\) 個新節點(Kronrod 節點),使 \(2n+1\) 個節點的聯合公式達到最高精度,而原來的 \(n\) 個 Gauss 節點全部保留。這樣,同一組函數值可以同時給出兩個精度不同的估計值,兩者之差就是誤差估計。
有了誤差估計,就可以自適應:在誤差大的區間自動加密、誤差小的地方不浪費計算。這就是自適應求積(adaptive quadrature)的思想。1970 年代,萊頓大學的 Robert Piessens 與其合作者把 Gauss–Kronrod 分割與自適應策略工程化,於 1983 年發表了 QUADPACK 函式庫——直到今天,Python 的 scipy.integrate.quad、R 的 integrate、MATLAB 的 integral,底層都是 QUADPACK 的演算法。理論上,Gauss–Kronrod 對足夠光滑的函數收斂極快,這解釋了為何它統治了單變數數值積分半個世紀。
Monte Carlo 的另一條路#
當維度升高,Gauss 型公式的節點數會隨維度指數增長(維度的詛咒)。這時另一種哲學登場:Monte Carlo 方法。1940 年代末,Los Alamos 的 Ulam、von Neumann 與 Metropolis 為中子輸運問題發明了這種隨機方法——用隨機抽樣的平均值估計積分,誤差以 \(O(N^{-1/2})\) 下降,與維度無關。Ulam 病癒休養時玩接龍牌局計算成功機率的軼事,已成為這方法的起源傳說;「Monte Carlo」這個名字取自 Metropolis 建議的賭城之名,專案代號還涉及曼哈頓計畫的保密文化。對低維光滑積分,Gauss–Kronrod 無可匹敵;對高維或帶隨機性的積分(如金融衍生品定價),Monte Carlo 才是王道。兩者的分工,體現了數值積分問題本身的多样性。
結語#
從 Kepler 為了不被酒商占便宜而切酒桶,到 Simpson 在軍事學院寫教材,到高斯在哥廷根為行星軌道一次兼收兩階,再到 QUADPACK 成為全球科學計算的標準配件,數值積分的每一步都緊扣著具體的社會需求:商業計量、軍事教育、天文觀測、核武模擬。積分符號背後,是四百年來人類「用有限算出無限」的執念。