如何从矩阵的角度理解高斯消元法?
首先, A B AB AB 的逆是 B − 1 A − 1 B^{-1}A^{-1} B−1A−1 , 好比脱鞋脱袜子的逆动作是穿袜子穿鞋而不是先穿鞋在穿袜子.
一个精妙的公式:
A A − 1 = I ⇒ ( A − 1 ) T A T = I ⇒ ( A − 1 ) T = ( A T ) − 1 AA^{-1}=I\Rightarrow(A^{-1})^TA^T=I\Rightarrow(A^{-1})^T=(A^T)^{-1} AA−1=I⇒(A−1)TAT=I⇒(A−1)T=(AT)−1
LU分解
考虑没有行交换的情况:
E
21
A
=
U
[
1
0
−
4
1
]
[
2
1
8
7
]
=
[
2
1
0
3
]
\begin{aligned}E_{21}\qquad\ \ A\quad\ &=\quad\ U\\\begin{bmatrix}1&0\\-4&1\end{bmatrix}\begin{bmatrix}2&1\\8&7\end{bmatrix}&=\begin{bmatrix}2&1\\0&3\end{bmatrix}\end{aligned}
E21 A [1−401][2817]= U=[2013]
⇓ \Downarrow ⇓
A = L U [ 2 1 8 7 ] = [ 1 0 4 1 ] [ 2 1 0 3 ] \begin{aligned}A\quad\ &=\quad\ L\quad\qquad U\\\begin{bmatrix}2&1\\8&7\end{bmatrix}&=\begin{bmatrix}1&0\\4&1\end{bmatrix}\begin{bmatrix}2&1\\0&3\end{bmatrix}\end{aligned} A [2817]= LU=[1401][2013]
⇓ \Downarrow ⇓
A = L D    U [ 2 1 8 7 ] = [ 1 0 4 1 ] [ 2 0 0 3 ] [ 1 1 2 0 1 ] \begin{aligned}A\quad\ &=\quad\ L\quad\qquad D\qquad\;\ \ U\\\begin{bmatrix}2&1\\8&7\end{bmatrix}&=\begin{bmatrix}1&0\\4&1\end{bmatrix}\begin{bmatrix}2&0\\0&3\end{bmatrix}\begin{bmatrix}1&\frac{1}{2}\\0&1\end{bmatrix}\end{aligned} A [2817]= LD U=[1401][2003][10211]
以上便是这个二阶矩阵的LU分解和LDU分解. L L L 矩阵的右上方全为0(下三角矩阵), 而 U U U 矩阵的左下方全为0(上三角矩阵).
对于3×3矩阵的
E
A
=
E
32
E
21
A
=
U
⇒
A
=
E
21
−
1
E
32
−
1
U
=
L
U
EA=E_{32}E_{21}A=U\Rightarrow A= E_{21}^{-1}E_{32}^{-1}U=LU
EA=E32E21A=U⇒A=E21−1E32−1U=LU , 考虑没有行互换的情况:
[
1
0
0
0
1
0
0
−
5
1
]
[
1
0
0
−
2
1
0
0
0
1
]
=
[
1
0
0
−
2
1
0
10
−
5
1
]
E
32
E
21
=
E
[
1
0
0
2
1
0
0
0
1
]
[
1
0
0
0
1
0
0
5
1
]
=
[
1
0
0
2
1
0
0
5
1
]
E
21
−
1
E
32
−
1
=
L
\begin{aligned}\begin{bmatrix}1&0&0\\0&1&0\\0&-5&1\end{bmatrix}\begin{bmatrix}1&0&0\\-2&1&0\\0&0&1\end{bmatrix}&=\begin{bmatrix}1&0&0\\-2&1&0\\10&-5&1\end{bmatrix}\\E_{32}\qquad\qquad\quad E_{21}\quad\ \ &=\qquad\quad E\\\begin{bmatrix}1&0&0\\2&1&0\\0&0&1\end{bmatrix}\begin{bmatrix}1&0&0\\0&1&0\\0&5&1\end{bmatrix}&=\begin{bmatrix}1&0&0\\2&1&0\\0&5&1\end{bmatrix}\\E_{21}^{-1}\qquad\quad\ \ E_{32}^{-1}\quad\ \ &=\qquad\ L\end{aligned}
⎣⎡10001−5001⎦⎤⎣⎡1−20010001⎦⎤E32E21 ⎣⎡120010001⎦⎤⎣⎡100015001⎦⎤E21−1 E32−1 =⎣⎡1−21001−5001⎦⎤=E=⎣⎡120015001⎦⎤= L
可以发现,
E
E
E 中出现了一个10, 意味着先在第二行中减去两倍第一行, 再在第三行中减去5倍第二行, 这导致原始的第三行中加上了10倍的第一行. 而在
L
L
L 中这种情况消失了, 2和5不会冲突而产生10.
也就是说: 如果不存在行互换, 消元乘数可以直接写入 L L L 中.
LU分解是一种看待消元的方式, 即以矩阵的形式看待消元. A A A 的信息被保存在了 L L L 和 U U U 中.
想一想, n×n矩阵消元需要进行多少步操作? Ans: Θ ( n 3 ) \Theta(n^3) Θ(n3)
置换 Permutations
对于3×3矩阵, 有六种置换矩阵:
[
1
1
1
]
,
[
1
1
1
]
,
[
1
1
1
]
,
[
1
1
1
]
,
[
1
1
1
]
,
[
1
1
1
]
\begin{bmatrix}1&&\\&1&\\&&1\end{bmatrix},\begin{bmatrix}&1&\\1&&\\&&1\end{bmatrix},\begin{bmatrix}&&1\\&1&\\1&&\end{bmatrix},\\[2ex]\begin{bmatrix}1&&\\&&1\\&1&\end{bmatrix},\begin{bmatrix}&1&\\&&1\\1&&\end{bmatrix},\begin{bmatrix}&&1\\1&&\\&1&\end{bmatrix}
⎣⎡111⎦⎤,⎣⎡111⎦⎤,⎣⎡111⎦⎤,⎣⎡111⎦⎤,⎣⎡111⎦⎤,⎣⎡111⎦⎤
并且这六种矩阵相乘, 结果仍在这六个矩阵中, 并且其逆也在这六个矩阵中, 其逆为其转置.
对于n×n矩阵, 置换矩阵有n!种.