MOOC上面的这几章讲的不是很清楚,所以总结了相关知识后开一篇博文做个笔记,希望能帮到有需要的人。

所谓直接三角形分解法,就是:

系数矩阵A分解为两个三角形矩阵LU的乘积A=LU ,将方程组AX=b的求解问题归结为两个三角形方程组

这个就是矩阵的LU分解,基本思想如下:
假定我们能把矩阵A写成下列两个矩阵相乘的形式:A=LU
其中L为下三角矩阵U为上三角矩阵。这样我们可以把
线性方程组 Ax=b 写成

Ax=(LU)x=L(Ux)=b

Ux=y ,则原线性方程组 Ax=b 等价于

  • Ly=b
  • Ux=y

(markdown不能插LaTex,抱歉~)

于是可首先求解向量y使 Ly=b
然后求解 Ux=y ,从而求解线性方程组 Ax=b 的目的.

它其实跟Guass消去法的原理是一样的,都是对系数矩阵做初等行变换再进行求解,在求一系列同系数的线性方程组AX=b时,可以节省大量的运算量,复杂度是O(n^3)。

矩阵三角分解基本定理:

n阶方阵A各阶顺序主子式不为零,则存在唯一单位下三角矩阵L上三角矩阵U使得A=LU

这个充分条件和Guass消去法的条件是一样的,侧面说明了两者的原理一致。

唯一性证明如下:

请输入图片描述

重头戏来了,矩阵三角形分解的Doolittle分解方法

请输入图片描述

代入,有:

请输入图片描述

请输入图片描述

根据矩阵乘法及相等的定义,有:

请输入图片描述

得到Doolittle分解公式:

请输入图片描述

回代后,有:

请输入图片描述

需要说明的是,计算的时候矩阵A的第一行和第一列就是UL的第一行和第一列,所以计算机利用三角形分解的时候是不会单独开辟内存储存矩阵LU的,只会在A上进行运算操作。

参考资料:
[1]https://wenku.baidu.com/view/fb0c416da8956bec0875e320.html
[2]https://wenku.baidu.com/view/d656b30cba1aa8114431d981.html
[3]http://www.icourse163.org/course/NEU-1002089009