MINRES(最小殘差法)
/ MIN-rez /
MINRES 是對付「對稱但不正定」矩陣的對的工具——對稱不定,意思是它的特徵值都是實數(拜對稱所賜),但有些正、有些負。這類矩陣處處可見:受約束最佳化與流體力學裡的鞍點系統、某些位移系統 A - sigma I、以及亥姆霍茲型波動問題。共軛梯度法在此不可信賴,因為它的能量碗不再是碗(不定矩陣給出鞍點而非極小),所以 CG 可能崩潰。MINRES 正好填補這個空缺。
和 GMRES 一樣,MINRES 在克雷洛夫子空間上最小化殘差範數 ||b - A x||——這正是名字的意思,MINimal RESidual。關鍵的差別在於它利用了對稱性。對對稱矩陣,阿諾迪程序坍縮成便宜得多的蘭索斯程序,其中每個新基底向量只需對前「兩個」做正交化(一個三項遞迴),而非對整段歷史。後果美妙:MINRES 取得 GMRES 那種最小化殘差的最佳性,卻是每步固定工作量、固定記憶體——不論跑多少次迭代,都只儲存固定的少數幾個向量。它實際上就是去掉了失控成本的、對稱矩陣版的 GMRES。
於是決策樹很乾淨。若 A 對稱正定,用共軛梯度法(更便宜,且最小化自然的能量範數)。若 A 對稱但不定,用 MINRES——它在 CG 失敗之處仍穩健,且不像 GMRES 那樣需要重啟。若 A 非對稱,兩者皆不適用,你就改用 GMRES 或 BiCGStab。所有這些短遞迴克雷洛夫方法共有一個誠實的告誡:在浮點算術下,蘭索斯向量會逐漸喪失正交性,這可能使收斂相對於乾淨的理論變慢,不過 MINRES 在實務上一般表現良好。而且一如往常,條件數決定速度,預條件才是加速之道。
受約束問題產生的鞍點系統,分塊形式為 K = (H, B^T; B, 0),是對稱但不定的(同時有正與負的特徵值)。CG 在它上面可能失敗;MINRES 用便宜的三項蘭索斯遞迴與固定記憶體,可靠地最小化殘差。
對稱卻不定:在 CG 崩潰之處,MINRES 以每步固定成本最小化殘差。
對「對稱不定」系統要用 MINRES 而非 CG——CG 的能量最小化假設正定,缺了它便可能崩潰。MINRES 勝過 GMRES 之處在於短的蘭索斯遞迴(固定記憶體),但該遞迴在浮點下會喪失正交性,可能使它慢於理想速率。