數值線性代數:直接法

前代

假設你的方程式已經排好:第一條只含第一個未知數,第二條只含前兩個,依此類推——像一條往下的階梯。前代就是往下走這條階梯的顯然方法:從第一條解出 x_1,代入第二條得 x_2,再把兩者代入第三條得 x_3,一直走下去。每一步只用到你已經算出的答案。

形式上它解一個下三角系統 L y = b,其中 L 只有對角線及以下為非零。第一列為 l_11 y_1 = b_1,故 y_1 = b_1 / l_11。第 i 列為 l_i1 y_1 + ... + l_ii y_i = b_i,由於 y_1, ..., y_{i-1} 已知,可整理成 y_i = (b_i - sum_{j<i} l_ij y_j) / l_ii。i 由 1 掃到 n,由上而下。成本約 n^2 次浮點運算——遠比分解的 n^3 便宜。

前代是有了 A = L U(或 P A = L U)之後求解 A x = b 的前半段:先用前代解 L y = b,再用回代解 U x = y。它只對三角矩陣有效,而這正是把 A 分解成三角片段的用意。一個注意點:只要對角元 l_ii 不過小,它就表現良好,而良好的樞紐選擇有助於確保這點;接近零的對角元會讓除法爆掉。

解 L y = b,其中 L 的列為 (2, 0) 與 (3, 1)、b = (4, 5):y_1 = 4/2 = 2;y_2 = (5 - 3*2)/1 = -1。

由上而下:每個新未知數只依賴已求出的那些。

前代只適用於下三角矩陣;若你的單位下三角 L 對角線都是 1,除以 l_ii 的步驟完全消失。別把它的順序與回代搞混,後者是對上三角矩陣由下而上進行。

又称
forward solve前向代入前向求解