求根與非線性方程

不動點迭代(fixed-point iteration)

在計算機上反覆按餘弦鍵,從任意數(弧度)開始:1,然後 cos(1) = 0.540,再 cos(0.540) = 0.858,依此類推。數字跳來跳去,最後穩定在 0.739085...,再按 cos 也不會改變。你找到了一個不動點(fixed point)——函數把它映到自己的值。不動點迭代把這種「不斷套用同一規則」的遊戲,變成解方程的通用方法。

其想法是把你要解的方程(例如 f(x) = 0)改寫成 x = g(x) 的形式,於是解就是被 g 固定不動的點。接著迭代:選一個猜測 x_0,計算 x_{n+1} = g(x_n),x_1 = g(x_0)、x_2 = g(x_1),依此類推。若數列收斂,其極限 x* 滿足 x* = g(x*),正是你要的不動點。把 f(x) = 0 改寫成 x = g(x) 的方式有很多種,有些收斂、有些不收斂,差別取決於 g 在 x* 附近上升得多陡(見收縮映射條件)。牛頓法本身就是一個巧妙的不動點迭代,其 g(x) = x - f(x)/f'(x)。

不動點迭代是數值分析中最具統合力的觀念之一:它支撐線性方程組的靜態迭代法(雅可比、高斯-賽德爾)、微分方程的時間推進,以及許多機器學習的更新式。它誠實的限制是:同一個方程可以被改寫成好的或壞的 x = g(x)——草率的改寫會發散、振盪或爬得極慢,而好的改寫快速收斂。訣竅在於選擇 g,使迭代既收斂又收斂得快。

要解 x^2 - x - 1 = 0(黃金比例),改寫成 x = 1 + 1/x,從 x_0 = 1 迭代:2、1.5、1.667、1.6、1.625、...,收斂到 1.618。但把同一方程改寫成 x = x^2 - 1,從 1 迭代得到 0、-1、0、-1、...——永不穩定。同一方程、兩個 g、兩種命運。

x = 1 + 1/x 收斂到黃金比例;x = x^2 - 1 永遠循環。

收斂與否不取決於方程,而取決於你「選的」g。同一個根可以是許多 g 的不動點;迭代能否找到它,取決於 |g'(x*)|,而非根本身。

又称
functional iterationPicard iteration迭代法求不動點皮卡迭代