矩阵分解与应用
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 只需两次廉价的三角形求解。
又称
另见