1 概述
上一课讲解了乘法和逆矩阵,这一课首先完善之前讲的逆矩阵,然后通过消元矩阵引入 A A A的 L U LU LU分解。即:将矩阵 A A A分解为矩阵 L L L与上三角矩阵 U U U。
2 逆矩阵的性质补充
因为后面涉及到矩阵的转置问题,在这里先提前介绍下转置矩阵。转置矩阵就是把原矩阵中的各行转换成对应的各列。例如:
A
=
[
1
2
3
4
5
6
7
8
9
]
A
T
(
T
代
表
对
A
矩
阵
的
转
置
)
=
[
1
4
7
2
5
8
3
6
9
]
A = \begin{bmatrix}1&2&3\\4&5&6\\7&8&9\end{bmatrix} \quad A^{T}(T代表对A矩阵的转置)=\begin{bmatrix}1&4&7\\2&5&8\\3&6&9\end{bmatrix}
A=⎣⎡147258369⎦⎤AT(T代表对A矩阵的转置)=⎣⎡123456789⎦⎤
- 由定义而来的最基本公式 A A − 1 = I = A − 1 A AA^{-1} = I=A^{-1}A AA−1=I=A−1A
- 两矩阵
A
B
AB
AB相乘,且它们的逆已知,求
A
B
AB
AB的逆?
由逆的定义知: A B ∗ ? = I AB\ *\ ?=I AB ∗ ?=I,易知 ( A B ) ( B − 1 A − 1 ) = I = ( B − 1 A − 1 ) ( A B ) (AB)(B^{-1}A^{-1})=I=(B^{-1}A^{-1})(AB) (AB)(B−1A−1)=I=(B−1A−1)(AB) 所以 A B AB AB的逆为 B − 1 A − 1 B^{-1}A^{-1} B−1A−1。这里的乘积顺序发生了变化,好比穿了袜子再穿鞋的相反动作那就是得要先脱鞋再拖袜子。 - 转置矩阵和逆矩阵的关系
矩阵乘积的逆和矩阵乘积的转置都调换了矩阵的顺序: A B AB AB的逆为 B − 1 A − 1 B^{-1}A^{-1} B−1A−1, A B AB AB的转置为 B T A T B^{T}A^{T} BTAT
已知: A A − 1 = I I T = I AA^{-1}=I\quad I^{T}=I AA−1=IIT=I,则 ( A A − 1 ) T = I = ( A − 1 ) T A T ⇒ ( A − 1 ) T = ( A T ) − 1 (AA^{-1})^T=I=(A^{-1})^TA^T\Rightarrow(A^{-1})^T = (A^T)^{-1} (AA−1)T=I=(A−1)TAT⇒(A−1)T=(AT)−1
也就是矩阵 A A A的转置的逆等于 A A A的逆的转置
从矩阵乘法的定义也能推导出这个结论,假设 A = ( a i j ) m × n , B = ( b i j ) n × s A=(a_{ij})_{m \times n} ,B=(b_{ij})_{n \times s} A=(aij)m×n,B=(bij)n×s。则 ( ( A B ) T ) i j = ( A B ) j i = ∑ k = 1 n a j k b k i = ( B T A T ) i j ((AB)^{T})_{ij}=(AB)_{ji}=\sum_{k=1}^na_{jk}b_{ki}=(B^TA^T)_{ij} ((AB)T)ij=(AB)ji=∑k=1najkbki=(BTAT)ij
3 A=LU
通过之前的课程,我们知道,通过不断左乘初等矩阵可使得矩阵 A A A变换为 U U U。假设所有左乘的初等矩阵的总乘积为 E E E,那么有 E A = U EA=U EA=U。举个例子:
[ 1 0 − 4 1 ] ⏟ E 21 [ 2 1 8 7 ] ⏟ A = [ 2 1 0 3 ] ⏟ U \underbrace{\begin{bmatrix}1&0\\-4&1\end{bmatrix}}_{E_{21}} \underbrace{\begin{bmatrix}2&1\\8&7\end{bmatrix}}_A = \underbrace{\begin{bmatrix}2&1\\0&3\end{bmatrix}}_U E21 [1−401]A [2817]=U [2013]
[ 2 1 8 7 ] ⏟ A = [ 1 0 4 1 ] ⏟ L [ 2 1 0 3 ] ⏟ U \underbrace{\begin{bmatrix}2&1\\8&7\end{bmatrix}}_A = \underbrace{\begin{bmatrix}1&0\\4&1\end{bmatrix}}_{L} \underbrace{\begin{bmatrix}2&1\\0&3\end{bmatrix}}_U A [2817]=L [1401]U [2013]
E 21 A = U → E 21 − 1 ( E 21 A ) = E 21 − 1 U → ( E 21 − 1 E 21 ) A = E 21 − 1 U → I A = L U E_{21}A=U \to E_{21}^{-1}(E_{21}A)=E_{21}^{-1}U \to (E_{21}^{-1}E_{21})A=E_{21}^{-1}U \to IA=LU E21A=U→E21−1(E21A)=E21−1U→(E21−1E21)A=E21−1U→IA=LU
- 为什么我们选择
A
=
L
U
A=LU
A=LU而不是
E
A
=
U
EA=U
EA=U
E 1 ∗ E 2 ⋯ E n = E , E A = U E_1*E_2\cdots E_n=E,\ EA=U E1∗E2⋯En=E, EA=U 在计算过程中, E 1 ∗ E 2 E_1*E_2 E1∗E2这些操作会互相影响。举个例子,现在有 E 32 E 21 A = U E_{32}E_{21}A=U E32E21A=U
[ 1 0 0 0 1 0 0 − 5 1 ] ⏟ E 32 [ 1 0 0 − 2 1 0 0 0 1 ] ⏟ E 21 = [ 1 0 0 − 2 1 0 10 − 5 1 ] ⏟ E \underbrace{\begin{bmatrix}1&0&0\\0&1&0\\0&-5&1\end{bmatrix}}_{E_{32}} \underbrace{\begin{bmatrix}1&0&0\\-2&1&0\\0&0&1\end{bmatrix}}_{E_{21}} = \underbrace{\begin{bmatrix}1&0&0\\-2&1&0\\\textcolor{red}{10}&-5&1\end{bmatrix}}_{E} E32 ⎣⎡10001−5001⎦⎤E21 ⎣⎡1−20010001⎦⎤=E ⎣⎡1−21001−5001⎦⎤
注意观察 E E E中的 10 10 10,在 E 21 E_{21} E21中行二减去2倍的行一,在 E 32 E_{32} E32中又有行三减去5倍的行二。因此 E E E在行三中加上10倍行一。可以发现 E 32 , E 21 E_{32},E_{21} E32,E21会相互影响。
但是,使用 A = E 21 − 1 E 32 − 1 U A=E_{21}^{-1}E_{32}^{-1}U A=E21−1E32−1U,可以发现反向操作可以避免这些影响。
[ 1 0 0 2 1 0 0 0 1 ] ⏟ E 21 − 1 [ 1 0 0 0 1 0 0 5 1 ] ⏟ E 32 − 1 = [ 1 0 0 2 1 0 0 5 1 ] ⏟ L \underbrace{\begin{bmatrix}1&0&0\\2&1&0\\0&0&1\end{bmatrix}}_{E_{21}^{-1}} \underbrace{\begin{bmatrix}1&0&0\\0&1&0\\0&5&1\end{bmatrix}}_{E_{32}^{-1}} = \underbrace{\begin{bmatrix}1&0&0\\2&1&0\\0&5&1\end{bmatrix}}_{L} E21−1 ⎣⎡120010001⎦⎤E32−1 ⎣⎡100015001⎦⎤=L ⎣⎡120015001⎦⎤
L L L中没有出现10,并且矩阵中各个元素都是 E 21 − 1 和 E 32 − 1 E_{21}^{-1}和E_{32}^{-1} E21−1和E32−1中对应位置的元素。在使用 A = L U A=LU A=LU分解矩阵时,我们可以逆向思考,从 U U U入手,反过来考虑通过怎样的行变换把 U U U变成 A A A,对单位矩阵进行对应变换得到 L L L矩阵。 - 考虑一个 100 × 100 100\times100 100×100的大矩阵,将一行乘一定倍数后加到另一行上消元计为一次运算。需要运算多少次之后,才能将其化为上三角矩阵 U U U呢?我们首先从列的角度考虑,经过消元后,将第一列化为 [ 1 0 ⋯ 0 ] T \begin{bmatrix}1&0&\cdots&0\end{bmatrix}^T [10⋯0]T,一共运算了100次,而第一行共有100个元素。所以将第一列和第一行消元结束,我们需要运算 10 0 2 100^2 1002次。之后我们还需要消元剩下的 99 × 99 99\times99 99×99矩阵。类推,可知总共运算量为 ∑ k = 1 n K 2 \sum_{k=1}^nK^2 ∑k=1nK2。回想到微积分中的知识,我们知道连续区域上函数的黎曼和,我们可以通过积分来计算区域面积值的和。我们这里可以把离散点近似看做黎曼和,采用积分来估算。即 ∑ k = 1 n K 2 = ∫ 1 n x 2 d x \sum_{k=1}^nK^2=\int_1^nx^2dx ∑k=1nK2=∫1nx2dx。所以对于一个 n × n n\times n n×n矩阵 A A A,我们需要进行大约 1 3 n 3 \frac{1}{3}n^3 31n3次操作将其变换为 U U U,而对于右侧向量 b b b的变换和回代求解我们需要大约各 1 2 n 2 \frac{1}{2}n^2 21n2共 n 2 n^2 n2次操作。
4 置换矩阵(P)
在消元过程中,当矩阵主元位置上面不是1时,我们需要通过行交换的方式将主元位置置换回1。置换矩阵就是这些用于行交换的矩阵。对于一个
3
×
3
3\times 3
3×3的矩阵,我们能找到6个置换矩阵。
[
1
0
0
0
1
0
0
0
1
]
[
0
1
0
1
0
0
0
0
1
]
[
1
0
0
0
0
1
0
1
0
]
[
0
1
0
0
0
1
1
0
0
]
[
0
0
1
0
1
0
1
0
0
]
[
0
0
1
1
0
0
0
1
0
]
\begin{bmatrix} 1&0&0\\ 0&1&0\\ 0&0&1 \end{bmatrix} \begin{bmatrix} 0&1&0\\ 1&0&0\\ 0&0&1 \end{bmatrix} \begin{bmatrix} 1&0&0\\ 0&0&1\\ 0&1&0 \end{bmatrix} \begin{bmatrix} 0&1&0\\ 0&0&1\\ 1&0&0 \end{bmatrix} \begin{bmatrix} 0&0&1\\ 0&1&0\\ 1&0&0 \end{bmatrix} \begin{bmatrix} 0&0&1\\ 1&0&0\\ 0&1&0 \end{bmatrix}
⎣⎡100010001⎦⎤⎣⎡010100001⎦⎤⎣⎡100001010⎦⎤⎣⎡001100010⎦⎤⎣⎡001010100⎦⎤⎣⎡010001100⎦⎤
这6个置换矩阵组成了一个很有意思的矩阵群。这六个矩阵不管怎么相乘或者取逆,其结果仍然在这个群中。这样的情况是很自然的,因为对矩阵的各行进行多次交换存在最后矩阵回到最初的可能。
通过观察列出的6个置换矩阵,我们能发现一条很奇妙的关于置换矩阵的性质:置换矩阵的逆等于其转置,也即
P
−
1
=
P
T
P^{-1}=P^T
P−1=PT
- 推广到 n n n阶矩阵, n n n阶矩阵有 n ! n! n!个置换矩阵。