皮卡迭代(Picard iteration)
/ pee-KAR /
皮卡迭代是一種透過反覆改良一個猜測、直到它不再變動,來製造初值問題之解的方法。它既是證明工具(它驅動皮卡-林德洛夫定理),也是你能在小例子上親手執行的老實構造。訣竅是先把微分方程轉成積分方程,因為在導數苛刻之處,積分是溫和而寬容的。
以下是一步步的配方。從 y' = f(x, y)、y(x0) = y0 出發,改寫成 y(x) = y0 + 從 x0 到 x 對 f(t, y(t)) dt 的積分。現在建立一個函數序列:取一個粗糙的初猜 y0(x) = y0(常數)。把它代入右端得到下一個逼近 y1(x) = y0 + 從 x0 到 x 對 f(t, y0(t)) dt 的積分。再把它代入得到 y2,如此繼續:y_{n+1}(x) = y0 + 從 x0 到 x 對 f(t, y_n(t)) dt 的積分。每一輪都把上一個逼近放進積分裡,吐出一個更好的。在利普希茨條件下,這些迭代逼近真解,且相鄰兩者之差以幾何速率縮小,所以收斂很快。
重點是,這其實就是穿著工作服的壓縮映射原理:「把函數代入積分」這個映射在短區間上是壓縮,所以反覆施加它,會把任何初猜推向那個唯一的不動點,也就是解。同一台引擎也解釋了為何解唯一——壓縮不可能有兩個不同的極限。實務上,積分很快就變得雜亂,所以皮卡迭代更常用來理解與證明,而非計算;要拿到數值,數值方法才是實用工具。
對於 y' = y、y(0) = 1,從 y0 = 1 開始。則 y1 = 1 + 從 0 到 x 對 1 dt 的積分 = 1 + x;y2 = 1 + 從 0 到 x 對 (1 + t) dt 的積分 = 1 + x + x^2/2;y3 = 1 + x + x^2/2 + x^3/6。這些恰好是 e^x 的部分和——迭代正在重建真解的泰勒級數。
每一輪都添上一個正確的項:皮卡迭代正一項一項地重建 e^x,朝真解逼近。
它是漂亮的證明工具,卻是糟糕的計算器:積分通常在幾步之後就變得難以處理,這也是為什麼實際計算用數值方法,而非皮卡迭代。