1 概述
上一课讲解了乘法和逆矩阵,这一课首先完善之前讲的逆矩阵,然后通过消元矩阵引入AAA的LULULU分解。即:将矩阵AAA分解为矩阵LLL与上三角矩阵UUU。
2 逆矩阵的性质补充
因为后面涉及到矩阵的转置问题,在这里先提前介绍下转置矩阵。转置矩阵就是把原矩阵中的各行转换成对应的各列。例如:
A=[123456789]AT(T代表对A矩阵的转置)=[147258369]
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⎦⎤
- 由定义而来的最基本公式 AA−1=I=A−1AAA^{-1} = I=A^{-1}AAA−1=I=A−1A
- 两矩阵ABABAB相乘,且它们的逆已知,求ABABAB的逆?
由逆的定义知:AB ∗ ?=IAB\ *\ ?=IAB ∗ ?=I,易知(AB)(B−1A−1)=I=(B−1A−1)(AB)(AB)(B^{-1}A^{-1})=I=(B^{-1}A^{-1})(AB)(AB)(B−1A−1)=I=(B−1A−1)(AB) 所以ABABAB的逆为B−1A−1B^{-1}A^{-1}B−1A−1。这里的乘积顺序发生了变化,好比穿了袜子再穿鞋的相反动作那就是得要先脱鞋再拖袜子。 - 转置矩阵和逆矩阵的关系
矩阵乘积的逆和矩阵乘积的转置都调换了矩阵的顺序:ABABAB的逆为B−1A−1B^{-1}A^{-1}B−1A−1,ABABAB的转置为BTATB^{T}A^{T}BTAT
已知:AA−1=IIT=IAA^{-1}=I\quad I^{T}=IAA−1=IIT=I,则(AA−1)T=I=(A−1)TAT⇒(A−1)T=(AT)−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
也就是矩阵AAA的转置的逆等于AAA的逆的转置
从矩阵乘法的定义也能推导出这个结论,假设A=(aij)m×n,B=(bij)n×sA=(a_{ij})_{m \times n} ,B=(b_{ij})_{n \times s}A=(aij)m×n,B=(bij)n×s。则((AB)T)ij=(AB)ji=∑k=1najkbki=(BTAT)ij((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
通过之前的课程,我们知道,通过不断左乘初等矩阵可使得矩阵AAA变换为UUU。假设所有左乘的初等矩阵的总乘积为EEE,那么有EA=UEA=UEA=U。举个例子:
[10−41]⏟E21[2187]⏟A=[2103]⏟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]
[2187]⏟A=[1041]⏟L[2103]⏟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]
E21A=U→E21−1(E21A)=E21−1U→(E21−1E21)A=E21−1U→IA=LU 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=LUA=LUA=LU而不是EA=UEA=UEA=U
E1∗E2⋯En=E, EA=UE_1*E_2\cdots E_n=E,\ EA=UE1∗E2⋯En=E, EA=U 在计算过程中,E1∗E2E_1*E_2E1∗E2这些操作会互相影响。举个例子,现在有E32E21A=UE_{32}E_{21}A=UE32E21A=U
[1000100−51]⏟E32[100−210001]⏟E21=[100−21010−51]⏟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⎦⎤
注意观察EEE中的101010,在E21E_{21}E21中行二减去2倍的行一,在E32E_{32}E32中又有行三减去5倍的行二。因此EEE在行三中加上10倍行一。可以发现E32,E21E_{32},E_{21}E32,E21会相互影响。
但是,使用A=E21−1E32−1UA=E_{21}^{-1}E_{32}^{-1}UA=E21−1E32−1U,可以发现反向操作可以避免这些影响。
[100210001]⏟E21−1[100010051]⏟E32−1=[100210051]⏟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⎦⎤
LLL中没有出现10,并且矩阵中各个元素都是E21−1和E32−1E_{21}^{-1}和E_{32}^{-1}E21−1和E32−1中对应位置的元素。在使用A=LUA=LUA=LU分解矩阵时,我们可以逆向思考,从UUU入手,反过来考虑通过怎样的行变换把UUU变成AAA,对单位矩阵进行对应变换得到LLL矩阵。 - 考虑一个100×100100\times100100×100的大矩阵,将一行乘一定倍数后加到另一行上消元计为一次运算。需要运算多少次之后,才能将其化为上三角矩阵UUU呢?我们首先从列的角度考虑,经过消元后,将第一列化为[10⋯0]T\begin{bmatrix}1&0&\cdots&0\end{bmatrix}^T[10⋯0]T,一共运算了100次,而第一行共有100个元素。所以将第一列和第一行消元结束,我们需要运算1002100^21002次。之后我们还需要消元剩下的99×9999\times9999×99矩阵。类推,可知总共运算量为∑k=1nK2\sum_{k=1}^nK^2∑k=1nK2。回想到微积分中的知识,我们知道连续区域上函数的黎曼和,我们可以通过积分来计算区域面积值的和。我们这里可以把离散点近似看做黎曼和,采用积分来估算。即∑k=1nK2=∫1nx2dx\sum_{k=1}^nK^2=\int_1^nx^2dx∑k=1nK2=∫1nx2dx。所以对于一个n×nn\times nn×n矩阵AAA,我们需要进行大约13n3\frac{1}{3}n^331n3次操作将其变换为UUU,而对于右侧向量bbb的变换和回代求解我们需要大约各12n2\frac{1}{2}n^221n2共n2n^2n2次操作。
4 置换矩阵(P)
在消元过程中,当矩阵主元位置上面不是1时,我们需要通过行交换的方式将主元位置置换回1。置换矩阵就是这些用于行交换的矩阵。对于一个3×33\times 33×3的矩阵,我们能找到6个置换矩阵。
[100010001][010100001][100001010][010001100][001010100][001100010]
\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=PTP^{-1}=P^TP−1=PT
- 推广到nnn阶矩阵,nnn阶矩阵有n!n!n!个置换矩阵。