<< 返回 Menu

矩阵的分解

数的分解: 66 = 2 × 3 × 11 质因数分解
一个矩阵也可以分解成几个矩阵乘积的形式
矩阵分解有不同的目的
矩阵的LU分解,提高计算效率为目的

矩阵的LU分解

将矩阵A分解为

$$A = L \cdot U$$

L: Lower Triangle Matrix (下三角矩阵)
$$\begin{pmatrix}* & 0 & 0 & 0 \\ * & * & 0 & 0 \\ * & * & * & 0 \\ * & * & * & * \end{pmatrix}$$

U: Upper Triangle Matrix (上三角矩阵)
$$\begin{pmatrix}* & * & * & * \\ 0 & * & * & * \\ 0 & 0 & * & * \\ 0 & 0 & 0 & * \end{pmatrix}$$

高斯消元法的过程,通过初等变换,把一个矩阵变成了上三角的矩阵,例如:

$\begin{pmatrix}1 & 2 & 4 \\ 3 & 7 & 2 \\ 2 & 3 & 3 \end{pmatrix} \longrightarrow \begin{pmatrix}1 & 2 & 4 \\ 0 & 1 & -10 \\ 0 & -1 & -5 \end{pmatrix} \longrightarrow \begin{pmatrix}1 & 2 & 4 \\ 0 & 1 & -10 \\ 0 & 0 & -15 \end{pmatrix}$

$$E_p \cdot ... \cdot E_3 \cdot E_2 \cdot E_1 \cdot A = 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 E_1 \cdot A = E_1^{-1} \cdot E_2^{-1} \cdot E_3^{-1} \cdot ... \cdot E_p^{-1} \cdot U$$ 即 $$I \cdot A = (E_1^{-1} \cdot E_2^{-1} \cdot E_3^{-1} \cdot ... \cdot E_p^{-1}) \cdot U$$ 因 $$A = L \cdot U$$ 所以 $$L = \cdot E_1^{-1} \cdot E_2^{-1} \cdot E_3^{-1} \cdot ... \cdot E_p^{-1}$$

矩阵的LU分解可以用于非方阵

$A = \begin{pmatrix}1 & 0 & 0 & 0 \\ * & 1 & 0 & 0 \\ * & * & 1 & 0 \\ * & * & * & 1 \end{pmatrix} \begin{pmatrix} * & * & * & * & * & * \\ 0 & * & * & * & * & * \\ 0 & 0 & * & * & * & * \\ 0 & 0 & 0 & * & * & * \end{pmatrix}$

或者

$A = \begin{pmatrix}1 & 0 & 0 & 0 \\ * & 1 & 0 & 0 \\ * & * & 1 & 0 \\ * & * & * & 1 \\ * & * & * & * \\ * & * & * & * \end{pmatrix} \begin{pmatrix} * & * & * & * \\ 0 & * & * & * \\ 0 & 0 & * & * \\ 0 & 0 & 0 & * \end{pmatrix}$

LDU 分解

$A = \begin{pmatrix}1 & 2 & 3 \\ 4 & 5 & 6 \\ 3 & -3 & 5 \end{pmatrix}$

$L = \begin{pmatrix}1 & 0 & 0 \\ 4 & 1 & 0 \\ 3 & 3 & 1 \end{pmatrix} \quad U = \begin{pmatrix}1 & 2 & 3 \\ 0 & -3 & -6 \\ 0 & 0 & 14 \end{pmatrix}$

$L = \begin{pmatrix}1 & 0 & 0 \\ 4 & 1 & 0 \\ 3 & 3 & 1 \end{pmatrix} \quad (对角矩阵) D = \begin{pmatrix}1 & 0 & 0 \\ 0 & -3 & 0 \\ 0 & 0 & 14 \end{pmatrix} \quad U = \begin{pmatrix}1 & 2 & 3 \\ 0 & 1 & 2 \\ 0 & 0 & 1 \end{pmatrix}$

$$A = L \cdot D \cdot U$$

PLU 分解

$A = \begin{pmatrix}1 & 2 & 3 \\ 4 & 8 & 6 \\ 3 & -3 & 5 \end{pmatrix} \longrightarrow \begin{pmatrix}1 & 2 & 3 \\ 0 & 0 & -6 \\ 3 & -3 & 5 \end{pmatrix} \longrightarrow \begin{pmatrix}1 & 2 & 3 \\ 0 & 0 & -6 \\ 0 & -9 & -4 \end{pmatrix}\quad$ 此时L矩阵的值为 $\begin{pmatrix}1 & 0 & 0 \\ 4 & 1 & 0 \\ 3 & 0 & 1 \end{pmatrix}$

将第二、三行交换,成为了一个上三角矩阵 $ U = \begin{pmatrix}1 & 2 & 3 \\ 0 & -9 & -4 \\ 0 & 0 & -6 \end{pmatrix}\quad$ 此时如果也将L矩阵的二三行换位置,下三角矩阵就失去意义了,因此专门在前面新加一个表示二三行换位的行交换矩阵P $\quad$ $\begin{pmatrix}1 & 0 & 0 \\ 0 & 0 & 1 \\ 0 & 1 & 0 \end{pmatrix} \begin{pmatrix}1 & 0 & 0 \\ 4 & 1 & 0 \\ 3 & 0 & 1 \end{pmatrix}$

$$A = P \cdot L \cdot U$$

PLUP 分解

按列交换 右侧乘以一个置换矩阵 P’

$$A = P \cdot L \cdot U \cdot P'$$

列交换

$\begin{pmatrix}1 & 2 \\ 4 & 5 \end{pmatrix} \cdot \begin{pmatrix} x \\ y \end{pmatrix} = \begin{pmatrix}x + 2y \\ 4x + 5y \end{pmatrix} = \begin{pmatrix}1 \\ 4 \end{pmatrix}x + \begin{pmatrix}2 \\ 5 \end{pmatrix}y $

再看矩阵乘法

$A \cdot B = \begin{pmatrix}| & | & & | \\ \vec{C_1} & \vec{C_2} & ... & \vec{C_k} \\ | & | & & | \end{pmatrix} \cdot \begin{pmatrix} - & \vec{r_1} & - \\ - & \vec{r_2} & - \\ & ... & \\ - & \vec{r_k} & -\end{pmatrix} = \vec{C_1} \cdot \vec{r_1} + \vec{C_2} \cdot \vec{r_2} + ... + \vec{C_k} \cdot \vec{r_k}$
可以跟之前把左边横着看的区别