zoukankan      html  css  js  c++  java
  • 第六讲.LU分解

    LU分解

    对矩阵(A),有(E_{21}A = U)

    [egin{pmatrix} 1 & 0 \ -4 & 1 end{pmatrix} egin{pmatrix} 2 & 1 \ 8 & 7 end{pmatrix} = egin{pmatrix} 2 & 1 \ 0 & 3 end{pmatrix} ]

    现在要转换成(A = LU)的形式,这里的(L)即为(E_{21}^{-1})

    [egin{pmatrix} 2 & 1 \ 8 & 7 end{pmatrix} = egin{pmatrix} 1 & 0 \ 4 & 1 end{pmatrix} egin{pmatrix} 2 & 1 \ 0 & 3 end{pmatrix} ]

    这种分解形式相当于将一个矩阵分解为一个对角线全为(1)的下三角矩阵与一个对角线为主元的上三角矩阵的乘积。
    另外一种分解方式是(A = LDU),其中(D)是一个对角线为主元的对角矩阵(diagonal),如:

    [egin{pmatrix} 2 & 1 \ 8 & 7 end{pmatrix} = egin{pmatrix} 1 & 0 \ 4 & 1 end{pmatrix} egin{pmatrix} 2 & 0 \ 0 & 3 end{pmatrix} egin{pmatrix} 1 & frac{1}{2} \ 0 & 1 end{pmatrix} ]

    为什么用(A = LU),而不是(U = EA)

    答:(L)容易计算,(E)不易计算:(L)是将消元的系数直接写到单位阵上得到的。因此,(L)只包含消去信息,(E)包含其他信息。

    LU分解求线性方程组与计算量

    (LU)分解一个比较重要的意义在于加速(多个)线性方程组的求解。首先将(A)分解为(LU)的形式,然后再计算(LUx = b)。计算(LUx = b),可以分为两步,即:(Ly = b, Ux = y)。这两个线性方程组的求解都是(O(n^2))的。

    (n)阶矩阵(A)通过初等行变换,变为(U),总共大概需要(n^2 +(n - 1)^2 + dots ,1^2 approx frac{1}{3}n^3)次操作。

    LU分解的存在性和唯一性

    • 存在性定理:设可逆矩阵(A)的顺序主子阵(A_k(k = 1, dots, n))均为可逆矩阵,则(A)(LU)分解。

    证明:对(A)的阶数(n)用数学归纳法。当(n = 1)时,(L = (1), U = A = (a_{11}) eq 0),定理成立!设(n = k)时定理成立,则(n = k + 1)时,设(A = pmatrix{A_k & eta \ alpha^T & a_{nn}}),其中(eta)(k)维列向量,(alpha^T)(k)维行向量。由(A_k)可逆,对(A)做消元:(pmatrix{I_k & 0 \ -alpha^TA_k^{-1} & 1}A = pmatrix{A_k & eta \ 0 & a_{nn} - alpha^TA_k^{-1}eta}),即:(A = pmatrix{I_k & 0 \ alpha^TA_k^{-1} & 1}pmatrix{A_k & eta \ 0 & a_{nn} - alpha^TA_k^{-1}eta})。因为此时右侧矩阵还未达到(U)的形式,因此需要继续分解。由归纳假设,(A_k = L_kU_k)。故:(A = pmatrix{I_k & 0 \ alpha^TA_k^{-1} & 1}pmatrix{L_k & 0 \ 0 & 1}pmatrix{U_k & L_k^{-1}eta \ 0 & a_{nn} - alpha^TA_k^{-1}eta} = LU)。定理得证!

    • 唯一性定理:设(n)阶可逆阵(A = LU),其中(L)为下三角矩阵,(U)为上三角矩阵,且(l_{ii} = 1, u_{ii} eq 0(1 leq i leq n)),则分解唯一。

    证明:设可逆阵(A)有两个(LU)分解:(A = L_1U_1 = L_2U_2),则(L_1^{-1}L_2 = U_1U_2^{-1}),因为上(下)三角矩阵乘以上(下)三角矩阵也为上(下)三角矩阵,两者相等说明都为对角阵。因为(L_1, L_2)的对角元为(1),故(L_1^{-1}L_2)对角元全为(1),故(L_1^{-1}L_2 = U_1U_2^{-1} = I),即(L_1 = L_2, U_1 = U_2)

    对称矩阵的(LDL^T)分解

    设可逆对称矩阵(A)不需换行,只通过消元能化成上三角矩阵(U),有(A = LDU),则(A = A^T = U^TDL^T)。由(LDU)分解唯一性知(U = L^T),故(A = LDL^T)

    置换矩阵

    一个(n)元置换是(1, 2, dots, n)的一个排列,这诱导了(n)阶单位矩阵行的一个重排。单位阵行重排后得到的矩阵称为置换矩阵。

    总共有(n!)(n)阶置换阵。置换阵的逆还是置换阵,置换阵的乘积仍是置换阵。置换矩阵(P)满足(P^{-1} = P^T)

    (PA = LU)分解

    (A)是一个(n)阶可逆阵,则存在置换阵(P),使得(PA = LU)

    证明:对矩阵(A)的阶数(n)用数学归纳法。当(n = 1)时定理显然成立,假设(n = k)时定理成立。当(n = k + 1)时,(A)的第一列有非零元,否则(A)不可逆。设(a_{i1} eq 0),则调换第(1)行和第(i)行,得矩阵(A'),于是(A' = P_{i1}A)也可逆,对(A')作消元得(A'' = pmatrix{a_{i1} & * \ 0 & A_1}),且(A' = pmatrix{1 & 0 \ t & I}A'')(A_1)(n - 1)阶可逆阵,由归纳假设知,存在(n - 1)阶置换阵(P_1)使得(P_1A_1 = L_1U_1),于是:

    [egin{aligned} P_{i1}A = A' &= pmatrix{1 & 0 \ t & I}pmatrix{a_{i1} & * \ 0 & A_1} \ &= pmatrix{1 & 0 \ t & I}pmatrix{1 & \ & P_1^{-1}}pmatrix{1 & \ & L_1}pmatrix{a_{i1} & * \ 0 & U_1} \ &= pmatrix{1 & \ & P_1^{-1}}pmatrix{1 & 0 \ P_1t & I}pmatrix{1 & \ & L_1}pmatrix{a_{i1} & * \ 0 & U_1} \ end{aligned} ]

    (注:最后一步的变换是为了凑出形式)

    故,(pmatrix{1 & \ & P_1}P_{i1}A = pmatrix{1 & 0 \ P_1t & L_1}pmatrix{a_{i1} & * \ 0 & U_1} = LU)

    最后令(P = pmatrix{1 & \ & P_1}P_{i1}),则(PA = LU)

  • 相关阅读:
    hive与hbase整合
    待重写
    hive DML
    【知识强化】第六章 总线 6.1 总线概述
    【知识强化】第五章 中央处理器 5.1 CPU的功能和基本结构
    【知识强化】第四章 指令系统 4.3 CISC和RISC的基本概念
    【知识强化】第四章 指令系统 4.2 指令寻址方式
    【知识强化】第四章 指令系统 4.1 指令格式
    【知识强化】第三章 存储系统 3.6 高速缓冲存储器
    【知识强化】第三章 存储系统 3.5 双口RAM和多模块存储器
  • 原文地址:https://www.cnblogs.com/miraclepbc/p/14546495.html
Copyright © 2011-2022 走看看