MIT 18.06 linear algebra lecture 4 A的LU分解 笔记

本节主要在理解高斯消元法的基础上,寻找一个矩阵\(L\)使得\(A=LU\)。首先介绍一下关于一些关于矩阵乘法有用的性质。

矩阵乘积的逆

\(AB\)的逆矩阵是\(B^{-1}A^{-1}\)

矩阵乘积的转置

通过互换矩阵的行和列得到转置,换句话说\(A\)的第\(i\)行第\(j\)列元素是\(A^T\)\(j\)行第\(i\)列的元素。
\(AB\)的转置是\(B^TA^T\),可以推导出对于任意可逆矩阵\(A\)\(A^T\)的逆是\((A^{-1})^T\)

\(A=LU\)

第二讲提到如何通过消元将\(A\)转换为上三角矩阵\(U\),基于消元的思想进行\(A=LU\)分解,对助于理解矩阵\(A\)

假设在消元过程中不需要交换行,可以通过一系列消元矩阵描述消元过程,\(A\rightarrow E_{21}A\rightarrow E_{31}E_{21}A\rightarrow \cdots\rightarrow U\)。以下面\(2\times2\)矩阵为例:
\[ \begin{matrix} E_{21} & A & & U\\ \left[\begin{array}{rr} 1 & 0 \\ -4 & 1 \end{array}\right] & \left[\begin{array}{rr} 2 & 1 \\ 8 & 7 \end{array}\right] & = & \left[\begin{array}{rr} 2 & 1 \\ 0 & 3 \end{array}\right] \end{matrix} \]

左边消去\(E_{21}\)可以将上式转换为\(A=LU\)的形式:两边同时乘以\(E_{21}^{-1}\)\(E_{21}^{-1}E_{21}A=E_{21}^{-1}U\)
\[ \begin{matrix} A & & L & U\\ \left[\begin{array}{rr} 2 & 1 \\ 8 & 7 \end{array}\right] & = & \left[\begin{array}{rr} 1 & 0 \\ 4 & 1 \end{array}\right] & \left[\begin{array}{rr} 2 & 1 \\ 0 & 3 \end{array}\right] \end{matrix} \]
矩阵\(U\)是上三角矩阵,并且主对角线上是主元,有些时候需要使用仅包含主元的对角矩阵,上式可以转变为:
\[ \begin{matrix} A & & L & D & U'\\ \left[\begin{array}{rr} 2 & 1 \\ 8 & 7 \end{array}\right] & = & \left[\begin{array}{rr} 1 & 0 \\ 4 & 1 \end{array}\right] & \left[\begin{array}{rr} 2 & 0 \\ 0 & 3 \end{array}\right] & \left[\begin{array}{rr} 1 & 1/2 \\ 0 & 1 \end{array}\right] \end{matrix} \]
在三维空间的情况下,如果\(E_{32}E_{31}E_{21}A=U\),则\(A=E_{21}^{-1}E_{31}^{-1}E_{32}^{-1}U=LU\)
假如\(E_{31}=I\)\(E_{21}\)\(E_{32}\)如下:
\[ \begin{matrix} E_{32} & E_{21} & & E\\ \left[\begin{array}{rr} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & -5 & 1 \end{array}\right] & \left[\begin{array}{rr} 1 & 0 & 0 \\ -2 & 1 & 0 \\ 0 & 0 & 1 \end{array}\right] & =& \left[\begin{array}{rr} 1 & 0 & 0 \\ -2 & 1 & 0 \\ 10 & -5 & 1 \end{array}\right] \end{matrix} \]
左下角的\(10\)出现是因为第二行变换时减去了2倍的第一行,第三行减去了5倍变换后的第二行。
\(A=LU\)比起\(EA=U\)更方便之处在于,消元时行之间的相加减不会影响到\(L\),而\(E\)会受到影响,如上面提到的\(10\)的出现。\(L=E_{-1}=E_{21}^{-1}E_{32}^{-1}\)
\[ \begin{matrix} E_{21}^{-1} & E_{32}^{-1} & & L\\ \left[\begin{array}{rr} 1 & 0 & 0 \\ 2 & 1 & 0 \\ 0 & 0 & 1 \end{array}\right] & \left[\begin{array}{rr} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 5 & 1 \end{array}\right] & =& \left[\begin{array}{rr} 1 & 0 & 0 \\ 2 & 1 & 0 \\ 0 & 5 & 1 \end{array}\right] \end{matrix} \]
注意\(L\)的左下角为\(0\),而\(E\)\(10\)。如果在消元过程中没有行交换的情况下,消元矩阵的乘数可以直接对应填充到\(L\)中。

消元法的时间复杂度

在计算机应用中经常需要对大型矩阵进行逆运算,下面将计算消元法的时间复杂度。
当使用消元法进行\(A=LU\)分解时,可以通过跟踪消元法的计算步骤(行间计算),分解完成后只需要记录\(L\)\(U\),不需要在计算机中存储\(A\)\(E_{ij}\)
假设现在对\(n\times n\)矩阵进行\(LU\)分解,主要操作是乘以1行,然后在另一行减去乘法计算后的结果。因为有\(n\)行,第一列消元的所有步骤数大约是\(n^2\),第二列消元的所有步骤数大概是\((n-1)^2\),依次递减。完成\(LU\)分解的步骤数复杂度是\(n^3\)
\[ 1^2+2^2+\cdots+(n-1)^2+n^2=\sum^n_{i=1}i^2\approx \int_0^n x^2dx=\frac{1}{3}n^3 \]
而分解\(A\)的过程中对\(\boldsymbol b\)进行了同样的消元操作,时间复杂度约是\(n^2\),和\(\frac{1}{3}n^3\)不在一个数量级。

行交换

当主元的位置是\(0\)时,需要交换行使得主元不为\(0\)。通常在矩阵左边乘以置换矩阵交换行:
\[ P_{12}= \begin{bmatrix} 0 & 1 & 0 \\ 1 & 0 & 0 \\ 0 & 0 & 1 \end{bmatrix} \]
与上面矩阵相乘后会交换第一行和第二行,任意置换矩阵\(P\)的逆\(P^{-1}=P^T\)
对于\(n\times n\)矩阵有\(n!\)个不同的置换矩阵。


笔记来源:MIT 18.06 lecture 4

转载于:https://www.cnblogs.com/yuyin/articles/10031666.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值