关于线代的新的理解(二)LU分解

LU分解是什么
  LU分解是将一个可逆矩阵分解为一个下三角矩阵(对角元素均为1),与一个上三角矩阵的乘积。L代表lower triangular matrix,U代表upper triangular matrix。

LU分解的基本思想
  LU分解的基本思想其实就是消元法,通过矩阵消元,构造出完美的上三角矩阵。将所有消元的初等矩阵乘起来,得到L。
  在这里我们假设矩阵消元不存在交换行的情况,只通过消元就可以得到上三角矩阵。后面再考虑如果加入置换会如何。
  先来考虑一个问题,为何要计算$M=LU$,不计算$LM=U$呢,明明初等矩阵都是乘在M左边,把所有的初等矩阵相乘可以直接得到一个对角线上元素都为1的下三角矩阵了。下面举个栗子说明
  假设一个矩阵M(3×3)依次左乘两个初等矩阵$E_{32}E_{21}M=U$
  $E_{21}=\left[\begin{matrix}1&0&0\\ -2&1&0\\0&0&1\end{matrix}\right]$
  $E_{32}=\left[\begin{matrix}1&0&0\\0&1&0\\0&-5&1\end{matrix}\right]$
  $E_{32}E_{21}=\left[\begin{matrix}1&0&0\\ -2&1&0\\10&-5&1\end{matrix}\right]$
  可以看出$E_{32}E_{21}$的左下角有一个10,这不是我们希望看到的
  如果等式两边同时左乘上$E_{21}^{-1}E_{32}^{-1}$,得$M=E_{21}^{-1}E_{32}^{-1}U$
  $E_{21}^{-1}E_{32}^{-1}=\left[\begin{matrix}1&0&0\\2&1&0\\0&5&1\end{matrix}\right]$
  比较$E_{21}^{-1}E_{32}^{-1}$和$E_{32}E_{21}$,是不是能感觉到什么?笼统的来说,原来是第二行先改变,这会影响第三行的值,现在先乘影响力最小的,再一步步扩大影响范围。
  总之,$M=LU$更容易求解,不需要有过多的乘法,只要在一个单位矩阵上添加数字即可。

  现在回过头来看我们当时的假设:不存在置换(permutation)。然而在现实的矩阵消元过程中可能是存在置换的,所以我们要引入置换矩阵P。
  这个置换矩阵是多个小置换矩阵相乘得到的,矩阵PM就是无需置换即可逐步消元进行LU分解的矩阵,也就是上述假设中的矩阵。
  不过具体MATLAB是如何计算P我现在还不得知…

几个有意思的性质
  $PP^{T}=I$
  $P^{-1}=P^{T}$
  $M^{T}M$是对称矩阵