克洛脱(Crout)矩阵分解——LU分解

作者:追风剑情 发布于:2017-6-10 13:34 分类:Algorithms

任意矩阵A都可以通过克洛脱(Crout)分解得到两个三角矩阵:

111111.png

如果A是三对角矩阵(非0元素排列在三条对角线上),则克洛脱分解的结果为:

222222.png

在分解后的矩阵中,3333.png,44444.png,其余各项的计算规则如下:

55555.png

1111.png

在得到了各个系数后,原方程组就可以分解为两个方程组,即:

1111.png

对于第一个方程,求解向量yi
2222.png

其中y1=d1/l1,其余各项的递推计算关系是:
4444.png(i=2,3,...,n)

对于第二个方程,求解最终结果xi
33333.png

其中xn=yn,其余各项的递推求解关系是:
555.png(i=n-1,n-2,...,1)

       递推计算yi和xi的过程分别被形象地形容为“追的过程”和“赶的过程”,这也是追赶法(国际上叫作托马斯法)得名的原因。对三角矩阵的克洛脱分解需要满足几个条件,否则无法进行,这几个条件分别是:
6666.png

再附上一张网上找的LU分解图,感谢作者提供这么漂亮的图片
原图来自百度百科 https://baike.baidu.com/item/lu%E5%88%86%E8%A7%A3/764245?fr=aladdin

111111.jpg


克洛脱(Crout)LU分解——C#实现


标签: Algorithms

Powered by emlog  蜀ICP备18021003号   sitemap

川公网安备 51019002001593号