矩陣範數與擾動
後向誤差
後向誤差重新表述了你對數值演算法所提的問題。它不問答案有多錯,而是問:對於哪個鄰近的問題,計算出的答案恰好是對的?使你計算出的輸出成為精確解的最小輸入資料擾動,就是後向誤差。後向誤差小,意味著演算法所解的問題本質上等同於你所提出的那個。
具體地,若你求解 A x = b 並得到近似的 x_hat,後向誤差就是使得 (A + delta A) x_hat = b + delta b 恰好成立的最小 ||delta A||(及 ||delta b||)。對線性系統,這可由殘差 r = b - A x_hat 廉價地算出;微小的相對殘差證明了微小的後向誤差。
若一個演算法總能給出後向誤差量級在機器精度附近的答案——雙精度下約為 10^-16——就稱它後向穩定。帶部分主元的高斯消去、基於 QR 的最小二乘,以及對稱特徵值求解器都是後向穩定的。計算出的答案所解的問題,在你本就擁有的輸入雜訊下,與你的問題無從區分。
深層要點在於關注點的分離。後向誤差評判演算法;條件數評判問題。兩者之積就是前向誤差——答案實際有多錯。後向穩定的演算法給你所能企盼的最好結果,但它無法讓病態問題變得準確。
backward error ~ ||b - A x_hat|| / (||A|| ||x_hat|| + ||b||)
歸一化殘差是線性系統後向誤差的廉價而可靠的證書。
威爾金森的洞見:好演算法不必給出正確問題的正確答案;給出略微擾動後問題的精確答案就足夠了。這一視角的轉變奠定了現代數值分析。
又稱
另見