第六讲.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)

原文地址:https://www.cnblogs.com/miraclepbc/p/14546495.html