數值線性代數:直接法

成長因子

當你執行消去時,矩陣內的數字在每一步都改變,有時會變得比你起初的任何數都大。成長因子就是衡量這個變化程度的單一數字:它把消去過程中任何地方曾出現過的最大絕對值,和原矩陣的最大元素相比。若元素大小大致維持不變,成長就小、你很安全;若它們暴增,你就有麻煩了。

精確地說,成長因子 rho 是消去過程中所有中間矩陣裡任何元素最大絕對值,與 A 中最大絕對值的比值。它之所以重要,是因為向後誤差分析顯示,高斯消去法的捨入誤差受到一個正比於 rho 乘以單位捨入的量所限制:算出的 L 與 U 解的是系統 A + E,其中擾動 E 相對於 rho 很小。所以小成長意味向後穩定與可信的答案;大成長則意味消去在內部製造了淹沒資料的巨大抵消。樞紐選擇存在的主因正是把 rho 控制住:在部分樞紐下,每個乘數絕對值至多為 1,這把 rho 的最壞情況上限定在 2^(n-1),但對幾乎所有真實矩陣都讓它保持極小(幾倍,而非數百萬倍)。

成長因子正是「為穩定性而選樞紐」(而不只是「為避開零而選樞紐」)才是正確口號的誠實理由。完全不選樞紐時,即使 A 良態,rho 也可能極大,於是答案被演算法而非問題本身毀掉。在完全樞紐下 rho 可證明被多項式地界住。一個微妙又著名的事實是:部分樞紐的 2^(n-1) 上限在實務上幾乎從不被逼近——病態成長矩陣稀有到可忽略——這正是為何部分樞紐儘管缺乏滴水不漏的最壞情況保證,仍被到處信賴。

對列為 (1e-18, 1) 與 (1, 1) 的矩陣不選樞紐做消去,會使 (2,2) 元素變成約 -1e18——巨大的成長摧毀精度;先交換兩列(部分樞紐選擇)則使每個元素都保持在 1 的量級。

極小的樞紐造成災難性成長;選樞紐可避免。此處矩陣是良態的——損害純粹來自演算法。

大成長是演算法的過錯,而非條件數的過錯:良態系統若不選樞紐消去仍可能被毀。部分樞紐的最壞情況上限 2^(n-1) 在真實問題中幾乎從未出現。

又称
element growthgrowth ratio rho元素成長成長率