矩陣分解與應用
LU 分解(LU decomposition)
LU 分解把一個方陣 A 寫成乘積 A = L*U,其中 L 是下三角矩陣(對角線以上全為零),U 是上三角矩陣(對角線以下全為零)。它其實就是把高斯消元過程記錄下來:U 是消元後得到的階梯形,而 L 保存了你一路用到的那些乘數。
為什麼要記下來?因為對單個 b 解 A*x = b 並不難,但若要對許多不同的 b 反覆求解,每次都重做消元就太浪費了。一旦手上有了 L 和 U,每個新的 b 只需兩輪快速的三角形回代(先前代、再後代)即可解出,而不必再做完整消元。
為誠實起見有個小提醒:樸素的 LU 在某個主元為零或非常小時會出問題,所以實用軟體會加入換列操作(稱為帶部分主元的 LU,常寫作 P*A = L*U)。它是日常解方程背後的主力工具之一。
[[4,3],[6,3]] = [[1,0],[1.5,1]] * [[4,3],[0,-1.5]] (A = L*U)
L 保存消元乘數 1.5;U 是由此得到的上三角階梯形。
一旦算出 A = L*U,每個新的右端項 b 只需兩次廉價的三角形求解。
又稱
另見