你已有一組基,你想要一組正交的
本台階前幾篇一直把正交性當作禮物送到你手上。斯圖姆-劉維爾問題保證了對應不同本徵值的本徵函數自動正交,而廣義傅立葉級數那一篇又展示了:一旦正交家族在手,展開一個函數有多便宜——每個係數一個積分,無需求解任何代數。但這引出一個我們尚未直面的誠實問題:當沒人遞給你正交家族時,它究竟從何而來?本篇用構造的方式回答它。我們要從能想象到的最乏味的原料裡搭建出一組正交基,而那些著名的多項式將作為獎賞掉出來。
從你已經信任的東西開始。冪 1, x, x^2, x^3, ... 是全數學中最熟悉的一組基:每個多項式都是它們的組合,而一條泰勒級數不過就是恰好按這些積木做的展開。所以這些冪早已張成了整個空間——它們是多項式的一組完整的座標軸。麻煩在於它們是一組傾斜的座標軸。它們彼此嚴重重疊;比如在區間 [-1, 1] 上,1 乘 x^2 的積分是三分之二,而非零,所以常值函數與 x^2 遠談不上垂直。在傾斜基裡工作,就像在兩條以銳角相交的軸上讀座標——每個座標都漏進別的座標,你不解出全部就讀不出其中任何一個。
於是計劃不言自明。我們保留 1, x, x^2, ... 的張成能力——那部分已經完美——並把這些座標軸扶正,直到它們彼此成直角,同時不改變它們所描述的空間。這套扶正手續就是格拉姆-施密特正交化,是把任意一組基變成垂直基的頭號重要算法。你大概在有限維向量那裡見過它;這裡它對函數原封不動地照樣管用,只要我們就「垂直」對兩條曲線意味著什麼達成一致。那個一致正是全部微妙之處,也正是權介入的地方。參見格拉姆-施密特正交化。
「垂直」對兩條曲線意味著什麼
對空間中的兩支箭,垂直意味著點積為零:把對應分量相乘、加起來、得到零。對兩個函數,我們把這個配方升高一檔照抄。把對應分量相乘變成把兩條曲線逐點相乘;把分量加起來變成在區間上積分。於是兩個函數 f 與 g 在區間 [a, b] 上的天然內積,就是 integral over [a, b] of f(x) g(x) dx,而當這個積分為零時兩條曲線恰好正交。點積變成了積分,這就是你需要的唯一一個真正新的想法。
但第一篇的斯圖姆-劉維爾機制早已提醒我們:正交性通常自帶一個權函數 w(x)——當一個算子寫成自伴形式時,它的本徵函數不是在樸素積分下、而是在帶權積分下正交。所以我們從一開始就採用一般定義。f 與 g 的帶權內積是 integral over [a, b] of f(x) g(x) w(x) dx,其中 w(x) 是一個固定的正權。當這個帶權積分為零時兩條曲線正交。這就是帶權正交性,而整篇的妙處在於:區間與權的選擇,是決定你將搭出哪個著名家族的唯一輸入。
格拉姆-施密特:減去投影,重複
整個演算法就是一個生動想法的反覆施用:要讓一個新向量垂直於你已有的那些,就減去它在每一個上的投影。從幾何上看,一個向量在某條已有軸上的投影(影子),是它沿那條軸的那一部分;把它去掉,剩下的就純粹指向側旁,垂直於那條軸。對你迄今搭出的每一條軸都這麼做,剩餘部分就一舉垂直於它們全體。格拉姆-施密特不過是把這套去影手續,沿原始冪的清單按順序一個接一個地跑下去。
- 取第一個原始冪,即常數 1,原封不動;稱之為第一個家族成員 u_0。它前面沒有任何東西需要去垂直,所以它就這樣起頭這組基。
- 取下一個原始冪 x。算出它在 u_0 上的投影(x 與 u_0 的帶權內積,除以 u_0 與自身的內積,再乘 u_0),把這個投影減掉。剩下的 u_1,保證垂直於 u_0。
- 取 x^2。減去它在 u_0 上的投影以及它在 u_1 上的投影——兩個都得去掉。剩下的 u_2,垂直於前兩個成員。對 x^3, x^4, ... 繼續,每次都剝掉它在已搭出的每個成員上的每一道投影。
- 可選地歸一化:用每個完成的 u_k 除以它自身的範數,使其長度為 1。要得到乾淨的係數公式,正交就夠了;標準正交只是整理過的、單位長度的版本。
注意一個結構性事實,它稍後會讓你安心:因為 u_k 是 x^k 減去一組低次冪的組合,每個 u_k 本身都是一個恰好 k 次的多項式,帶一個新的最高次冪以及其下的修正。所以你培育出的家族,每個次數恰好有一個多項式,而你可以在任何次數處停下,仍然擁有一組對那一次數以內的多項式完美適用的正交基。這正是所有經典家族的結構。現在我們用兩個不同的權搖動這台機器,看著兩個不同的著名家族列隊走出。
在 [-1, 1] 上取權 1,長出勒讓德
做最簡單的選擇:區間 [-1, 1] 配最樸素的權 w(x) = 1。這裡內積就是在 [-1, 1] 上的普通積分。一個對稱性捷徑省去大量算術:在對稱區間上,任何奇函數的積分為零,因為左半與右半相消。記住這點,許多投影還沒算就已消失。開動機器:u_0 = 1。接著是 x——它在 u_0 上的投影是否已為零?這道投影用到 integral over [-1, 1] of x times 1,是個奇函數的積分,故為零。所以 x 早已垂直於 1,於是 u_1 = x 原樣保留。
現在是第一個真正的減法。取 x^2,去掉它在 u_0 = 1 和 u_1 = x 上的投影。它在 x 上的投影為零(x^2 乘 x 在 [-1, 1] 上的積分是奇積分,沒了)。它在 1 上的投影不為零:integral over [-1, 1] of x^2 等於三分之二,而 1 乘 1 的積分等於二,所以投影係數是(三分之二)除以二,即三分之一。相減:u_2 = x^2 減三分之一。這就是勒讓德的形狀——差一個慣用的縮放 P_2(x) = (3 x^2 減 1) over 2,恰好就是我們 u_2 的 3/2 倍。經典的勒讓德多項式就這樣從冪裡自行組裝出來,沒有方程,沒有運氣,只有減投影。
Weight w(x) = 1 on [-1, 1]. Inner product <f,g> = integral_{-1}^{1} f g dx.
(Odd integrands over [-1,1] vanish, killing most shadows.)
u0 = 1
u1 = x - ( <x,1>/<1,1> ) * 1 = x - 0 = x
u2 = x^2 - ( <x^2,1>/<1,1> )*1 - ( <x^2,x>/<x,x> )*x
<x^2,1> = 2/3, <1,1> = 2 -> shadow coeff = 1/3
<x^2,x> = 0 (odd) -> no shadow on x
u2 = x^2 - 1/3
Conventional rescaling (force P_n(1) = 1):
P0 = 1, P1 = x, P2 = (3x^2 - 1)/2 = (3/2) * u2
Same machine, only the WEIGHT and INTERVAL change to switch families.換一個權,改長出厄米
現在到了構造證明其價值的時刻:演算法什麼都不改,只換棲息地。移到整條實軸 (-infinity, infinity),採用鐘形權 w(x) = e^{-x^2},即貫穿特殊函數那一台階的高斯形狀。同樣的奇函數對稱性仍然有用——在對稱定義域配對稱權下,奇被積函數照樣積分為零。新成分僅僅是:內積積分現在跑到無窮,並依賴高斯積分:e^{-x^2} 在整條直線上的積分是根號 pi,而 x^2 e^{-x^2} 的積分是半個根號 pi。
跑一模一樣的三步。又是 u_0 = 1。對 x,它在 1 上的投影用到 x e^{-x^2} 在直線上的積分,是奇被積函數,為零——於是又得 u_1 = x。對 x^2,它在 x 上的投影因奇性再次為零,而它在 1 上的投影係數是(x^2 e^{-x^2} 的積分)比(e^{-x^2} 的積分),即(半個根號 pi)比(根號 pi),恰好二分之一。相減:u_2 = x^2 減二分之一。這就是厄米的形狀:經典約定寫作 H_2(x) = 4 x^2 減 2,恰好是我們 u_2 的 4 倍。同一台機器、同樣的冪,只是換了個權——走出來的便是另一個厄米多項式家族。
停下來體會剛發生的事,因為這就是本篇的教益。勒讓德與厄米並非課本要你背誦的兩個互不相干的發明。它們是同一個演算法——把冪正交化——用兩個不同的權跑出來的:有限區間上 w = 1,對整條直線上 w = e^{-x^2}。拉蓋爾是同一台機器配半直線上的權 e^{-x};切比雪夫是同一台機器配 [-1, 1] 上的權 1 over the square root of (1 - x^2)。那些著名家族不是一群各異的特種生物;它們是同一項構造在四種不同燈光下拍出的照片。權就是那個旋鈕,轉動它便選定家族。
誠實的限度,以及它接下來指向何處
在你太信任這套配方之前,說幾句誠實話。第一,歸一化是約定,而非自然事實:我們的原始 u_2 是 x^2 減三分之一,經典 P_2 是 (3 x^2 減 1) over 2,而一個把範數歸到 1 的物理學家又會寫出另一個倍數。三者差一個縮放,是同一條曲線,你必須始終核對某個公式假定的是哪種約定——正交性是真的,首項常數是一種選擇。第二,格拉姆-施密特要求這些冪相對該權確實可積;在無窮區間上,權必須衰減得足夠快以壓住 x^k 的增長,這正是厄米為何需要強勁的 e^{-x^2}、而不是衰減更慢的尾巴。
第三,一條在真實計算中會咬人的提醒:在有限精度算術裡做的經典格拉姆-施密特,數值上很脆弱。早期的成員在扶正前幾乎平行,所以減它們的投影就是在減兩個近乎相等的大數,捨入誤差會讓正交性在你到達高次時悄悄漂走。補救辦法是一種重排版本,叫修正格拉姆-施密特,它邊走邊逐個減去投影;它在數學上完全等同,但在計算機上穩健得多。對上面那種紙筆家族這從不要緊,但這正是生產代碼很少照課本演算法原樣跑的原因。
帶走這幅可用的圖景。正交基不是魔法饋贈;它是一組你扶正過的基,而格拉姆-施密特就是那番扶正——減去在每條已搭軸上的投影,留下那垂直的剩餘。區間與權是僅有的兩個旋鈕,轉動它們就讓同一台機器從不同的門走出,成為勒讓德、厄米、拉蓋爾或切比雪夫。如今你已憑構造握有一個貨真價實的正交家族,便有本事免費地把任何合理的函數在其中展開,這恰是先前那份廣義傅立葉的回報。本台階最後一篇會對這些同樣的本徵函數提一個不同的問題——不是如何搭建這組基,而是如何迅速估計它的本徵值——並用瑞利商作答。