【线性代数】矩阵的LU分解

矩阵的 L U LU LU分解

参考资料:线代启示录 - https://ccjou.wordpress.com/2010/09/01/lu-%e5%88%86%e8%a7%a3/

1. 性质

对于 n n n阶可逆矩阵 A A A,若存在一个 n n n阶下三角矩阵 L L L和一个 n n n阶上三角矩阵 U U U,使得 A = L U A=LU A=LU,则称 A A A具有 L U LU LU分解性质如下:

  1. l i i = 1 , u i i ≠ 0 l_{ii}=1, u_{ii}\neq 0 lii=1,uii=0 i = 1 , 2 , ⋯   , n i=1,2,\cdots,n i=1,2,,n
  2. U U U是对 A A A进行高斯消去法后的结果;
  3. L L L的主对角线下方的元素 l i j l_{ij} lij记录了消元系数.
[例子]

A = [ 3 − 1 2 6 − 1 5 − 9 7 3 ] A=\begin{bmatrix} 3 & -1 & 2 \\ 6 & -1 & 5 \\ -9 & 7 & 3 \end{bmatrix} A= 369117253

使用高斯消去法,得到
A → r 2 + ( − 2 ) r 1 [ 3 − 1 2 0 1 1 − 9 7 3 ] → r 3 + 3 r 1 [ 3 − 1 2 0 1 1 0 4 9 ] → r 3 + ( − 4 ) r 2 [ 3 − 1 2 0 1 1 0 0 5 ] A\xrightarrow{r_2+\red{(-2)}r_1} \begin{bmatrix} 3 & -1 & 2 \\ 0 & 1 & 1 \\ -9 & 7 & 3 \end{bmatrix} \xrightarrow{r_3+\red{3}r_1} \begin{bmatrix} 3 & -1 & 2 \\ 0 & 1 & 1 \\ 0 & 4 & 9 \end{bmatrix} \xrightarrow{r_3+\red{(-4)}r_2} \begin{bmatrix} 3 & -1 & 2 \\ 0 & 1 & 1 \\ 0 & 0 & 5 \end{bmatrix} Ar2+(2)r1 309117213 r3+3r1 300114219 r3+(4)r2 300110215

根据上述性质2 U U U是对 A A A进行高斯消去法后的结果,所以
U = [ 3 − 1 2 0 1 1 0 0 5 ] . U=\begin{bmatrix} 3 & -1 & 2 \\ 0 & 1 & 1 \\ 0 & 0 & 5 \end{bmatrix}. U= 300110215 .
根据性质3 L L L的主对角线下方的元素 l i j l_{ij} lij记录了消元系数,所以
L = [ 1 0 0 2 1 0 − 3 4 1 ] . L=\begin{bmatrix} 1 & 0 & 0 \\ 2 & 1 & 0 \\ -3 & 4 & 1 \end{bmatrix}. L= 123014001 . 具体来说,有
l i j = a i j ( k ) a k k ( k ) , i = k + 1 , k + 2 , ⋯   , n , j = k , k + 1 , ⋯   , n . l_{ij}=\frac{a_{ij}^{(k)}}{a_{kk}^{(k)}}, \quad i=k+1,k+2,\cdots,n, \quad j=k,k+1,\cdots,n. lij=akk(k)aij(k),i=k+1,k+2,,n,j=k,k+1,,n. 其中 a i j ( k ) a_{ij}^{(k)} aij(k)是第 k k k步消元后的第 i i i行第 j j j列元素, a k k ( k ) a_{kk}^{(k)} akk(k)是第 k k k步消元后的第 k k k行第 k k k列元素.

根据上述给出的 L L L U U U,可以验证 A = L U A=LU A=LU

2. 存在性

不一定所有可逆矩阵 A A A都存在 L U LU LU分解. 若 A A A的主元有 0 0 0,则不存在 L U LU LU分解. 一个例子是
A = [ 0 2 1 3 ] . A=\begin{bmatrix} 0 & 2 \\ 1 & 3 \end{bmatrix}. A=[0123].

这样的情况,可以通过行交换来解决. 行交换通过排列矩阵 P P P实现. 这样得到的即为 P A = L U PA=LU PA=LU分解.

3. 可逆矩阵 L U LU LU分解存在的条件

A A A可逆,则存在 A = L U A = LU A=LU分解的充分条件是 A A A的所有顺序主子式都不为 0 0 0.

[证明]

用数学归纳法证明.

  1. n = 1 n=1 n=1时, A 1 = [ a 11 ] A_1=[a_{11}] A1=[a11] A 1 A_1 A1可逆, a 11 ≠ 0 a_{11}\neq 0 a11=0 A 1 = L U A_1=LU A1=LU,其中 L = 1 L=1 L=1 U = [ a 11 ] U=[a_{11}] U=[a11].
  2. 假设 n = k n=k n=k时, A k A_k Ak可逆, A k = L k U k A_k=L_kU_k Ak=LkUk,其中 L k L_k Lk是单位下三角矩阵(主对角线为 1 1 1), U k U_k Uk是上三角矩阵.
  3. n = k + 1 n=k+1 n=k+1时,有$A_{k+1}=\begin{bmatrix}
    A_k & b \
    c^T & d
    \end{bmatrix}
    . 将其写成 . 将其写成 .将其写成LU$分解的形式,即
    [ A k b c T d ] = [ L k 0 x T 1 ] [ U k y 0 z ] = [ L k U k L k y x T U k x T y + z ] \begin{bmatrix} A_k & b \\ c^T & d \end{bmatrix}=\begin{bmatrix} L_k & 0 \\ x^T & 1 \end{bmatrix}\begin{bmatrix} U_k & y \\ 0 & z \end{bmatrix} =\begin{bmatrix} L_kU_k & L_ky \\ x^TU_k & x^Ty+z \end{bmatrix} [AkcTbd]=[LkxT01][Uk0yz]=[LkUkxTUkLkyxTy+z] 比较元素,有
    { A k = L k U k b = L k y c T = x T U k d = x T y + z ⇒ { y = L k − 1 b x T = c T U k − 1 z = d − c T U k − 1 L k − 1 b = d − c T A k − 1 b . \begin{cases} A_k=L_kU_k \\ b=L_ky \\ c^T=x^TU_k \\ d=x^Ty+z \end{cases} \Rightarrow \begin{cases} y=L_k^{-1}b \\ x^T=c^TU_k^{-1} \\ z=d-c^TU_k^{-1}L_k^{-1}b = d-c^TA_k^{-1}b \end{cases}. Ak=LkUkb=LkycT=xTUkd=xTy+z y=Lk1bxT=cTUk1z=dcTUk1Lk1b=dcTAk1b. 显然 L k + 1 L_{k+1} Lk+1是单位下三角矩阵,是可逆的. 由于 A k + 1 = L k + 1 U k + 1 A_{k+1}=L_{k+1}U_{k+1} Ak+1=Lk+1Uk+1中, A k + 1 A_{k+1} Ak+1 L k + 1 L_{k+1} Lk+1都是可逆的,所以 U k + 1 U_{k+1} Uk+1也是可逆的.

4. L U LU LU分解的唯一性

A A A可逆,且其所有顺序主子式都不为 0 0 0,则 A A A L U LU LU分解是唯一的.
可将 U U U分解为对角阵 D D D与上三角矩阵 U ′ U' U,即 U = D U ′ U=DU' U=DU(其中 D D D的对角线元素为 U U U的对角线元素),证明其唯一性. (即 L D U LDU LDU分解).

5. L U LU LU分解的应用

5.1 解线性方程组/计算逆矩阵

对于线性方程组 A x = b Ax=b Ax=b,可以通过 L U LU LU分解来求解.

  1. A x = b Ax=b Ax=b A = L U A=LU A=LU,则 L U x = b LUx=b LUx=b,令 U x = y Ux=y Ux=y,则有 L y ⏟ = U x = b L\underbrace{y}_{=Ux}=b L=Ux y=b,即 L y = b Ly=b Ly=b,解得 y y y (前代);
  2. 解得 y y y后,再解 U x = y Ux=y Ux=y (回代).

对于矩阵 A A A,可以通过 L U LU LU分解来求逆矩阵.
求逆矩阵可以转化为求解线性方程组 A X = I AX=I AX=I,其中 I I I是单位矩阵.
其中 X = [ x 1 x 2 ⋯ x n ] X = \begin{bmatrix} x_1 & x_2 & \cdots & x_n \end{bmatrix} X=[x1x2xn] x i x_i xi A A A的第 i i i列. 即求解 n n n个线性方程组 A x i = e i Ax_i=e_i Axi=ei,其中 e i e_i ei是单位向量.

5.2 计算行列式

对于上三角或下三角矩阵,其行列式等于对角线元素的乘积.
所以,对于可逆矩阵 A A A,有
det ⁡ ( A ) = det ⁡ ( L U ) = det ⁡ ( L ) det ⁡ ( U ) = ∏ i = 1 n l i i ∏ i = 1 n u i i = ∏ i = 1 n u i i ( 因为 l i i = 1 ) . \begin{aligned} \det(A) &= \det(LU) \\ &= \det(L)\det(U) \\ &= \prod_{i=1}^n l_{ii} \prod_{i=1}^n u_{ii} \\ &= \prod_{i=1}^n u_{ii} \quad (\text{因为}l_{ii}=1) \\ \end{aligned}. det(A)=det(LU)=det(L)det(U)=i=1nliii=1nuii=i=1nuii(因为lii=1).

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值