04A的LU分解
一、逆矩阵性质补充
如果
A
A
A
B
B
B是可逆的,那么
A
B
AB
AB的逆矩阵是什么?根据逆矩阵的定义,我们仅需要找出一个矩阵
T
T
T使得
A
B
AB
AB满足:
(
A
B
)
T
=
T
(
A
B
)
=
I
(AB)T=T(AB)=I
(AB)T=T(AB)=I可以取
T
=
B
−
1
A
−
1
T=B^{-1}A^{-1}
T=B−1A−1,结合矩阵的括号可移动性,有:
A
B
(
B
−
1
A
−
1
)
=
A
(
B
B
−
1
)
A
−
1
=
A
I
A
−
1
=
A
A
−
1
=
I
AB(B^{-1}A^{-1})=A(BB^{-1})A^{-1}=AIA^{-1}=AA^{-1}=I
AB(B−1A−1)=A(BB−1)A−1=AIA−1=AA−1=I
性质1:
A
B
AB
AB的逆等于
B
−
1
A
−
1
B^{-1}A^{-1}
B−1A−1。两矩阵相乘的逆等于两矩阵逆反向的乘(乘的逆等于逆的反乘)
转置矩阵是将原矩阵的行放到对应的列的位置。知道了转置矩阵的定义,那它有什么性质呢?
- ( A + B ) T = A T + B T (A+B)^T=A^T+B^T (A+B)T=AT+BT
- ( A B ) T = B T A T (AB)^T=B^TA^T (AB)T=BTAT
- ( k A ) T = k A T (kA)^T=kA^T (kA)T=kAT
- ( A T ) T = A (A^T)^T=A (AT)T=A
对比一下矩阵的逆和转置:
运算 | 逆 | 转置 |
---|---|---|
A B AB AB | ( A B ) − 1 = B − 1 A − 1 (AB)^{-1}=B^{-1}A^{-1} (AB)−1=B−1A−1 | ( A B ) T = B T A T (AB)^{T}=B^TA^T (AB)T=BTAT |
k A kA kA | ( k A ) − 1 = 1 k A − 1 (kA)^{-1}=\frac{1}{k}A^{-1} (kA)−1=k1A−1 | ( k A ) T = k A T (kA)^T=kA^{T} (kA)T=kAT |
A + B A+B A+B | ( A + B ) − 1 = u n d e f i n e d (A+B)^{-1}=undefined (A+B)−1=undefined | ( A + B ) T = A T + B T (A+B)^T=A^T+B^T (A+B)T=AT+BT |
二、矩阵的LU分解
第二节建立了线性方程组消元过程与矩阵乘法的关系,即任何一个行变换都可以通过左乘特定矩阵消元过程。消元过程等价于系数矩阵
A
A
A与若干个诸如:
E
21
E_{21}
E21
E
31
E_{31}
E31
E
32
E_{32}
E32[1]矩阵按变换顺序相乘后变成了上三角矩阵
U
U
U[1]:
E
A
=
U
EA=U
EA=U行变换矩阵
E
E
E必然是可逆的,因为我们总能找到一个矩阵,让他还原成
I
I
I。左右两边都乘以
E
−
1
E^{-1}
E−1则:
E
−
1
E
A
=
E
−
1
U
E^{-1}EA=E^{-1}U
E−1EA=E−1U记
U
=
E
−
1
U=E^{-1}
U=E−1,上述式子为:
A
=
L
U
A=LU
A=LU这就是我们今天的主角,
L
U
LU
LU分解。那么为什么我们需要使用
L
L
L来描述消元过程而不是
E
E
E?
在此之前,需要介绍一个重要的结论:矩阵行变换等价于左乘其单位矩阵进行相同行变换后的矩阵。
考察二阶矩阵:
A
=
[
1
0
4
7
]
A=\begin{bmatrix}1&0\\4&7\end{bmatrix}
A=[1407]左乘一个什么矩阵能够将
A
A
A矩阵变成上三角矩阵?答:减去四倍的第一行,对一个同维度的单位矩阵进行同样的运算再将其乘在左边即得到:
E
21
=
[
1
0
−
4
3
]
E_{21}=\begin{bmatrix}1&0\\-4&3\end{bmatrix}
E21=[1−403]
消元之后得到的上三角函数
U
U
U如下:
U
=
[
1
0
0
−
3
]
U=\begin{bmatrix}1&0\\0&-3\end{bmatrix}
U=[100−3]容易观察得出,
A
A
A进行了一次行变换将矩阵变成
U
U
U,这个行变换是第二行减去第一行的四倍。也就是左乘一个单位矩阵进行同样变换(第二行减去第一行的四倍)的后的矩阵
E
21
E_{21}
E21:
:
E
21
A
=
U
E_{21}A=U
E21A=U考虑一个三阶矩阵
A
A
A,进行了三次消元得到了矩阵
U
U
U:分别左乘了矩阵
E
21
E_{21}
E21
E
31
E_{31}
E31
E
32
E_{32}
E32,即:
E
32
E
31
E
21
A
=
U
(1)
E_{32}E_{31}E_{21}A=U\tag{1}
E32E31E21A=U(1)由前面提到的矩阵乘积逆的性质,有:
A
=
E
21
−
1
E
31
−
1
E
32
−
1
U
(2)
A=E_{21}^{-1}E_{31}^{-1}E_{32}^{-1}U\tag{2}
A=E21−1E31−1E32−1U(2)假设
E
21
=
[
1
0
0
−
2
1
0
0
0
1
]
,
E
32
=
[
1
0
0
0
1
0
0
−
5
1
]
,
E
31
=
[
1
0
0
0
1
0
0
0
1
]
=
I
E_{21}=\begin{bmatrix}1&0&0\\-2&1&0\\0&0&1\end{bmatrix},E_{32}=\begin{bmatrix}1&0&0\\0&1&0\\0&-5&1\end{bmatrix},E_{31}=\begin{bmatrix}1&0&0\\0&1&0\\0&0&1\end{bmatrix}=I
E21=⎣⎡1−20010001⎦⎤,E32=⎣⎡10001−5001⎦⎤,E31=⎣⎡100010001⎦⎤=I,先计算(1)
A
A
A左乘的总矩阵:
E
=
E
32
E
31
E
21
=
[
1
0
0
−
2
1
0
10
−
5
1
]
E=E_{32}E_{31}E_{21}=\begin{bmatrix}1&0&0\\-2&1&0\\10&-5&1\end{bmatrix}
E=E32E31E21=⎣⎡1−21001−5001⎦⎤
再观察(2):
L
=
E
21
−
1
E
31
−
1
E
32
−
1
=
[
1
0
0
2
1
0
0
5
1
]
L=E_{21}^{-1}E_{31}^{-1}E_{32}^{-1}=\begin{bmatrix}1&0&0\\2&1&0\\0&5&1\end{bmatrix}
L=E21−1E31−1E32−1=⎣⎡120015001⎦⎤
Tips1 : 关于消元矩阵的逆有一定的规律(不考虑行交换):
- 对于一个没有行交换的消元矩阵,其一定是一个下三角矩阵;如果我们要取消这个消元,只需要将对角线下元素取负数乘到左边即可;
- 没有行交换的消元总是可逆的,且仍然是下三角矩阵;
Tips2 :为什么要得到 L L L而不是 E E E?
- 因为我们需要分解 A A A,而不是分解 U U U;
- 通常来说,矩阵相乘会打乱元素,无法分辨每一次的变换,但是对于 L L L位置和值都保持不变,, E − 1 E^{-1} E−1是下三角矩阵
容易观察出, E E E相对于 L L L更加复杂,不纯粹,因为它多了个10,我无法从每次变换中找到这个数,相反, L L L更加简单,所有的数都可以在每次变换中找出!这也就意味着,我们可以直接由行变换轻松写出最终的 L L L矩阵,而不能简单的写出 E E E矩阵。
L U LU LU分解算法复杂度,消除第一列需要进行 10 0 2 100^2 1002,第二列需要 9 9 2 99^2 992消元运算,…,故总的时间为: ∑ k = 1 n k 2 = 1 3 n 3 − 1 = O ( n 3 ) \sum_{k=1}^{n}k^2=\frac{1}{3}n^3-1=O(n^3) k=1∑nk2=31n3−1=O(n3)
置换矩阵(Permutation)
就是矩阵进行行变换的矩阵,前面已经简单提到过。一个 n n n阶方阵共有 n ! n! n!个置换矩阵。
[1]
E
i
j
E_{ij}
Eij表示消元矩阵,表示消去第
i
i
i行,第
j
j
j列的元素(化为0)
[2] 上三角矩阵,主对角线以下都是0的矩阵;下三角矩阵,主对角线上都是0的矩阵,主对角线可以为0。
【20220529】参考对应教材重新补充了 L U LU LU分解的优点:容易观测!
相关文章
- 知识图谱-KGE-语义匹配-双线性模型-2011:RESCAL【双线性模型的开山之作】【容易过拟合,效果不太好】【把每个关系对应的邻接矩阵进行了矩阵的分解】【双线性模型:打分函数用到了双线性函数】
- NLP-预训练模型-2019:ALBert【 轻Bert;使用 “输入层向量矩阵分解”、“跨层参数共享” 减少参数量;使用SOP代替NSP】【较Bert而言缩短训练及推理时间】
- 推荐系统-召回阶段:协同过滤(CF)【基于近邻的协同过滤:UserCF、ItemCF】【基于模型的协同过滤:矩阵分解(MF)ModelCF】【仅能利用用户物品交互信息;无法引入用户、商品具体特征信息】
- 线性代数:矩阵分解(Matrix factorization)
- 线性代数:非负矩阵分解(NMF, Nonnegative Matrix Factorization)
- 矩阵分解方法
- A.特定领域知识图谱知识推理方案:知识图谱推理算法综述[三](基于语义的匹配模型:张量分解模型RESCAL、ComplEx神经网络SEM,NAM),OpenKE工具包。
- 矩阵分解---QR正交分解,LU分解
- 基于小波分解+深度信念网络DBN的脑电信号分类识别
- MATLAB Cholesky分解
- Android Kotlin Retrofit 与Flow。两个Flow用LiveData来进行分解
- AcWing 197. 阶乘分解
- 【UOJ 494】DNA序列(贪心)(Lyndon分解)