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\)矩阵为例:
左边消去\(E_{21}\)可以将上式转换为\(A=LU\)的形式:两边同时乘以\(E_{21}^{-1}\):\(E_{21}^{-1}E_{21}A=E_{21}^{-1}U\):
矩阵\(U\)是上三角矩阵,并且主对角线上是主元,有些时候需要使用仅包含主元的对角矩阵,上式可以转变为:
在三维空间的情况下,如果\(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}\)如下:
左下角的\(10\)出现是因为第二行变换时减去了2倍的第一行,第三行减去了5倍变换后的第二行。
\(A=LU\)比起\(EA=U\)更方便之处在于,消元时行之间的相加减不会影响到\(L\),而\(E\)会受到影响,如上面提到的\(10\)的出现。\(L=E_{-1}=E_{21}^{-1}E_{32}^{-1}\):
注意\(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\):
而分解\(A\)的过程中对\(\boldsymbol b\)进行了同样的消元操作,时间复杂度约是\(n^2\),和\(\frac{1}{3}n^3\)不在一个数量级。
行交换
当主元的位置是\(0\)时,需要交换行使得主元不为\(0\)。通常在矩阵左边乘以置换矩阵交换行:
与上面矩阵相乘后会交换第一行和第二行,任意置换矩阵\(P\)的逆\(P^{-1}=P^T\)。
对于\(n\times n\)矩阵有\(n!\)个不同的置换矩阵。
笔记来源:MIT 18.06 lecture 4