Linear Algebra-Lecture04 矩阵A的LU分解
矩阵乘积的逆
若 A \bf A A都逆矩阵存在,则 A A − 1 = I = A − 1 A \bf A \bf A^{-1}=\bf I =\bf A^{-1} \bf A AA−1=I=A−1A
若
A
\bf A
A与
B
\bf B
B的逆矩阵都存在,则
(
A
B
)
−
1
=
B
−
1
A
−
1
\bf {(AB)^{-1}}=\bf B^{-1}\bf A^{-1}
(AB)−1=B−1A−1
解释:
(
A
B
)
B
−
1
A
−
1
=
A
(
B
B
−
1
)
A
−
1
=
I
\bf{(AB)}\bf B^{-1}A^{-1}=\bf{A(BB^{-1})A^{-1}}=\bf I
(AB)B−1A−1=A(BB−1)A−1=I,因此
A
B
\bf {AB}
AB的逆矩阵为
B
−
1
A
−
1
\bf B^{-1}\bf A^{-1}
B−1A−1。
转置的逆
A A − 1 = I ⇒ ( A A − 1 ) T = I T ⇒ ( A − 1 ) T A T = I \bf A \bf A^{-1}=\bf I\qquad\Rightarrow\bf {(A A^{-1})^T}=\bold{I}^T\qquad\Rightarrow\bf {(A^{-1})^TA^T}=\bold{I} AA−1=I⇒(AA−1)T=IT⇒(A−1)TAT=I,因此, A T \bf A^T AT的逆为 ( A − 1 ) T \bf (A^{-1})^T (A−1)T,即 ( A T ) − 1 = ( A − 1 ) T \bf (A^T)^{-1}=\bf (A^{-1})^T (AT)−1=(A−1)T,换句话说,对于单个矩阵而言,转置和逆两种运算,其顺序可以颠倒。
LU分解
设
A
=
[
2
1
8
7
]
\bf A=\begin{bmatrix}2&1\\8&7\end{bmatrix}
A=[2817],用初等矩阵
E
21
=
[
1
0
−
4
1
]
\bf E_{21}=\begin{bmatrix}1&0\\-4&1\end{bmatrix}
E21=[1−401]进行行变换,可得到上三角矩阵
U
=
[
2
1
0
3
]
\bf U=\begin{bmatrix}2&1\\0&3\end{bmatrix}
U=[2013].
E
21
A
=
U
[
1
0
−
4
1
]
[
2
1
8
7
]
=
[
2
1
0
3
]
\begin{array}{cccc} \bf E_{21}&\bf A&=&\bf 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{array}
E21[1−401]A[2817]==U[2013]
A
=
L
U
[
2
1
8
7
]
=
[
1
0
4
1
]
[
2
1
0
3
]
=
[
1
0
4
1
]
[
2
0
0
3
]
[
1
1
2
0
1
]
\begin{array}{cccc} \bf A&=&\bf L&\bf 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}\\\\ &=&\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{array}
A[2817]===L[1401][1401]U[2013][2003][10211]
此处U(Upper)表示上三角矩阵,L(Lower)表示下三角矩阵。
对于
3
×
3
3\times 3
3×3的矩阵
A
A
A,在没有行交换的情况下:
E
32
E
31
E
21
A
=
U
A
=
E
21
−
1
E
31
−
1
E
32
−
1
U
\begin{array}{c} \bold{E}_{32}\bold{E}_{31}\bold{E}_{21}\bold{A}=\bold{U}\\\\ \bold{A}=\bold{E}_{21}^{-1}\bold{E}_{31}^{-1}\bold{E}_{32}^{-1}\bold{U} \end{array}
E32E31E21A=UA=E21−1E31−1E32−1U
这里计算
L
=
E
21
−
1
E
31
−
1
E
32
−
1
\bold{L}=\bold{E}_{21}^{-1}\bold{E}_{31}^{-1}\bold{E}_{32}^{-1}
L=E21−1E31−1E32−1比计算
(
E
32
E
31
E
21
)
−
1
(\bold{E}_{32}\bold{E}_{31}\bold{E}_{21})^{-1}
(E32E31E21)−1要简单,如果没有行交换,可将消元乘数直接写入L中。可以在得到LU的过程中把A抛开。不妨设:
A
=
[
1
2
1
3
8
1
3
4
1
]
\bold{A}=\begin{bmatrix} 1&2&1\\ 3&8&1\\ 3&4&1 \end{bmatrix}
A=⎣⎡133284111⎦⎤
E 21 = [ 1 0 0 − 3 1 0 0 0 1 ] \bold{E}_{21}=\begin{bmatrix} 1&0&0\\ \boxed{-3}&1&0\\ 0&0&1 \end{bmatrix} E21=⎣⎡1−30010001⎦⎤, E 31 = [ 1 0 0 0 1 0 − 3 0 1 ] \bold{E}_{31}=\begin{bmatrix} 1&0&0\\ 0&1&0\\ \boxed{-3}&0&1 \end{bmatrix} E31=⎣⎡10−3010001⎦⎤, E 32 = [ 1 0 0 0 1 0 0 1 1 ] \bold{E}_{32}=\begin{bmatrix} 1&0&0\\ 0&1&0\\ 0&\boxed{1}&1 \end{bmatrix} E32=⎣⎡100011001⎦⎤,消元乘数分别为3,3,-1 。
易得: ( E 21 ) − 1 = [ 1 0 0 3 1 0 0 0 1 ] (\bold{E}_{21})^{-1}=\begin{bmatrix} 1&0&0\\ 3&1&0\\ 0&0&1 \end{bmatrix} (E21)−1=⎣⎡130010001⎦⎤, ( E 31 ) − 1 = [ 1 0 0 0 1 0 3 0 1 ] (\bold{E}_{31})^{-1}=\begin{bmatrix} 1&0&0\\ 0&1&0\\ 3&0&1 \end{bmatrix} (E31)−1=⎣⎡103010001⎦⎤, ( E 32 ) − 1 = [ 1 0 0 0 1 0 0 − 1 1 ] (\bold{E}_{32})^{-1}=\begin{bmatrix} 1&0&0\\ 0&1&0\\ 0&-1&1 \end{bmatrix} (E32)−1=⎣⎡10001−1001⎦⎤
可以算出: L = E 21 − 1 E 31 − 1 E 32 − 1 = [ 1 0 0 3 1 0 3 − 1 1 ] \bold{L}=\bold{E}_{21}^{-1}\bold{E}_{31}^{-1}\bold{E}_{32}^{-1}=\begin{bmatrix} 1&0&0\\ \boxed{3}&1&0\\ \boxed{3}&\boxed{-1}&1 \end{bmatrix} L=E21−1E31−1E32−1=⎣⎡13301−1001⎦⎤
消元算法的复杂度 O ( n ) \text{O}(n) O(n)
假设有一 n × n n\times n n×n的方阵 A \bold{A} A,其中没有0,完成消元需要多少步?
第一步:将主元一下方全变成0,需要进行约
n
2
n^2
n2次乘法和加法;
第二步:将主元二下方全变乘0,需要进行约
(
n
−
1
)
2
(n-1)^2
(n−1)2次乘法和加法;
第三步:将主元三下方全变乘0,需要进行约
(
n
−
3
)
2
(n-3)^2
(n−3)2次乘法和加法;
⋯
\cdots
⋯
最后一步:将主元n-1下方全变乘0,需要进行约1次乘法和加法;
所以消元所需要进行的步骤数约为
s
=
∑
i
=
0
n
i
2
≈
1
3
n
3
s=\sum\limits_{i=0}^n i^2\approx \frac 1 3 n^3
s=i=0∑ni2≈31n3 。
因此,
O
(
n
)
=
n
3
\text{O}(n)=n^3
O(n)=n3
转置与置换
考虑所有
A
3
×
3
\bold{A}_{3 \times 3}
A3×3的置换矩阵:
I
=
[
1
0
0
0
1
0
0
0
1
]
\bold{I}=\begin{bmatrix} 1&0&0\\ 0&1&0\\ 0&0&1 \end{bmatrix}
I=⎣⎡100010001⎦⎤
P
2
=
[
0
1
0
1
0
0
0
1
]
\bold{P}_{2}=\begin{bmatrix} 0&1&0\\ 1&0&0\\ &0&1 \end{bmatrix}
P2=⎣⎡01100001⎦⎤,表示置换1,2行。得到该矩阵的方法只需将单位矩阵1,2行互换即可。
除此之外,还有
[
0
0
1
0
1
0
1
0
0
]
\begin{bmatrix} 0&0&1\\ 0&1&0\\ 1&0&0 \end{bmatrix}
⎣⎡001010100⎦⎤,
[
1
0
0
0
0
1
0
1
0
]
\begin{bmatrix} 1&0&0\\ 0&0&1\\ 0&1&0\\ \end{bmatrix}
⎣⎡100001010⎦⎤,
[
0
1
0
0
0
1
1
0
0
]
\begin{bmatrix} 0&1&0\\ 0&0&1\\ 1&0&0\\ \end{bmatrix}
⎣⎡001100010⎦⎤
,
[
0
0
1
1
0
0
0
1
0
]
\begin{bmatrix} 0&0&1\\ 1&0&0\\ 0&1&0\\ \end{bmatrix}
⎣⎡010001100⎦⎤,总共有
A
3
3
A_3^3
A33种置换矩阵,同理,若为n阶方阵,总的置换矩阵(包括单位阵),共有
A
n
n
A_n^n
Ann个。
不难发现,将任意两个置换矩阵相乘,结果仍在置换矩阵群中,并且每个置换矩阵的逆是其自身的转置。
课程资源
- 主课:bilibli、网易公开课都可以搜到,关键字(麻省理工,线性代数)
- 配套习题课:bilibli可以搜到,关键字(麻省理工,线性代数,陈莉楠)
- 教材:Gilbert Strang.Introduction to Linear Algebra
- 课程官网:http://web.mit.edu/18.06
\qquad\qquad https://mitmath.github.io/1806/