矩阵的LU分解
概念
矩阵的分解实际上就是将一个矩阵分解成为几个矩阵乘积的形式。不同类型的矩阵分解有不同的目的,如矩阵的LU分解的目的是为了提高计算效率。
LU分解实际上是将一个矩阵 A A A分解成为两个矩阵 L L L和 U U U的乘积,即 A = L ⋅ U A = L \cdot U A=L⋅U,
L:Lower triangle matrix 下三角矩阵
U:Upper triangle matrix 上三角矩阵
以方阵为例,演示上三角矩阵和下三角矩阵,
- 下三角矩阵
( ∗ 0 0 0 ∗ ∗ 0 0 ∗ ∗ ∗ 0 ∗ ∗ ∗ ∗ ) \begin{pmatrix}*&0&0&0\\*&*&0&0\\*&*&*&0\\*&*&*&*\end{pmatrix} ⎝⎜⎜⎛∗∗∗∗0∗∗∗00∗∗000∗⎠⎟⎟⎞
下三角矩阵:有效信息均在主对角线及其下方,而上方的元素均为0。 - 上三角矩阵
( ∗ ∗ ∗ ∗ 0 ∗ ∗ ∗ 0 0 ∗ ∗ 0 0 0 ∗ ) \begin{pmatrix}*&*&*&*\\0&*&*&*\\0&0&*&*\\0&0&0&*\end{pmatrix} ⎝⎜⎜⎛∗000∗∗00∗∗∗0∗∗∗∗⎠⎟⎟⎞
上三角矩阵:有效信息均在主对角线及其上方,而下方的元素均为0。
在矩阵分解中,经常是把矩阵分解成一个“单位下三角矩阵”(即主对角线元素均为1) 和一个上三角矩阵,不保证上三角矩阵的主对角线元素为1。
回顾之前的Gauss-Jordan消元法,前向过程最终是将矩阵经过初等变换生成了一个上三角矩阵。因为初等变换的过程又可以视为将一系列初等矩阵乘在矩阵左边,所以可以写为,
E p ⋅ . . . ⋅ E 3 ⋅ E 2 ⋅ E 1 ⋅ A = U E_p \cdot...\cdot E_3 \cdot E_2 \cdot E1 \cdot A = U Ep⋅...⋅E3⋅E2⋅E1⋅A=U
等式左边只保留 A A A,
E 1 − 1 ⋅ E 2 − 1 ⋅ E 3 − 1 ⋅ . . . ⋅ E p − 1 ⋅ E p ⋅ . . . ⋅ E 3 ⋅ E 2 ⋅ E 1 ⋅ A = E 1 − 1 ⋅ E 2 − 1 ⋅ E 3 − 1 ⋅ . . . ⋅ E p − 1 ⋅ U E_1^{-1}\cdot E_2^{-1}\cdot E_3^{-1}\cdot ...\cdot E_p^{-1}\cdot E_p \cdot...\cdot E_3 \cdot E_2 \cdot E1 \cdot A = E_1^{-1}\cdot E_2^{-1}\cdot E_3^{-1}\cdot ...\cdot E_p^{-1}\cdot U E1−1⋅E2−1⋅E3−1⋅...⋅Ep−1⋅Ep⋅...⋅E3