zoukankan      html  css  js  c++  java
  • 矩阵分析线性系统3 LU分解

    1. LU分解

    LU分解在本质上是高斯消元法的一种表达形式。实质上是将A通过初等行变换变成一个上三角矩阵,其变换矩阵就是一个单位下三角矩阵。这正是所谓的杜尔里特算法(Doolittle algorithm):从下至上地对矩阵A做初等行变换,将对角线左下方的元素变成零,然后再证明这些行变换的效果等同于左乘一系列单位下三角矩阵,这一系列单位下三角矩阵的乘积的逆就是L矩阵,它也是一个单位下三角矩阵。

    下面以具体例子来说明。若AX=b是一个非奇异系统,那么高斯消元法将A化简为一个上三角矩阵。若主轴上没有0值,则无需交互行,因此只需进行第3类初等行变换(把第 i 行加上第 jk 倍)即可完成此变换。例如

                                        image                                         (1)

    第3类行变换可以通过左乘相应的初等矩阵image实现,对上例来说进行的3个变换就是相应初等矩阵的乘积。注意最右边是一个下三角矩阵L

                                   image   =L            (2)

    从而有image,即image。因此A=LU,为一个下三角与一个上三角矩阵的乘积,因此称为LU分解。

    注意

    1)U是高斯消元的结果,且对角线上是主元

    2)L对角线上是1,对角线下面的元素image恰恰是在式1中用于消去(i,j)位置上元素的乘子。

    2. LDU分解

    LU分解存在不对称,因为L矩阵的主对角线元素为1,而U矩阵主对角线不为1。为了对此进行弥补,可U矩阵进一步做如下分解

                         image = DU

    这就是LDU分解,其中L和U是单位三角阵(主对角线都为1),D是对角阵。

    下图说明了Walsh matrix的LDU分解 

                                 

    3. LDLT分解

    当A是对称阵时,LDU分解为A=LDLT 。例子如下

    对称阵   image, LU分解为image, LDLT 分解为image

    进一步,由于对角阵D的元素为正,可有image,从而得到image,其中U是上三角阵。

  • 相关阅读:
    python 函数
    python升级功能
    python3与c++的不同点(初学看重点~)
    python中的数据结构
    github超简单用法
    ListView
    线性代数(1)--方程组的同解变形
    C++基础学习
    C++多态
    PKU《程序设计》专项课程_递归汉诺塔问题
  • 原文地址:https://www.cnblogs.com/pegasus/p/2257258.html
Copyright © 2011-2022 走看看