【Linear Algebra 线性代数】4、A的LU分解

学习资源:
 - 麻省理工公开课:线性代数【讲师:Gilbert Strang】
 - 绘图工具 - Geogebra
个人笔记

回顾一下上一节,上一节中我们谈论到了逆矩阵,并给出了一个逆矩阵的性质:

AA1=I A A − 1 = I

根据这个性质我们拓展一下,如果是两个矩阵相乘,他们的逆矩阵是什么?
所谓逆矩阵就是原执行顺序的反序执行,Gilbert老师举个栗子:
 先脱鞋再脱袜子,它的逆序就是先穿袜子再穿鞋。

可以看出他的动作顺序是反过来的,因此,容易得出:

(AB)(B1A1)=I ( A B ) ( B − 1 A − 1 ) = I

因为根据矩阵乘法的结合律我们可以得出:
A(BB1)A1=I A ( B B − 1 ) A − 1 = I

证得
(AB)1=B1A1 ( A B ) − 1 = B − 1 A − 1

A的LU分解

上三角矩阵U(主对角线靠下的元素全为0)
下三角矩阵L(主对角线靠上的元素全为0)

首先,我们来讲讲什么叫A的LU分解。
在之前的消元中我们使用:

EA=U E A = U

来分解矩阵A(E为总的变换矩阵,U为上三角矩阵)。
举个栗子:
E21A=U[1401][2817]=[2013] E 21 A = U [ 1 0 − 4 1 ] [ 2 1 8 7 ] = [ 2 1 0 3 ]

将它转换到A=LU形式:
A=LU[2817]=[1401][2013] A = L U [ 2 1 8 7 ] = [ 1 0 4 1 ] [ 2 1 0 3 ]

为什么可以这样?思考一下E(21)和L的关系。
我们对矩阵A使用了E(21)进行变换,如果我们想要变回去,那么我们就要左乘一个E(21)的逆矩阵,E(21)的逆矩阵怎么求?取反即可,也就是说把4变成-4。
E121E21A=E121U[1401][1401][2817]=[1401][2013] E 21 − 1 E 21 A = E 21 − 1 U [ 1 0 4 1 ] [ 1 0 − 4 1 ] [ 2 1 8 7 ] = [ 1 0 4 1 ] [ 2 1 0 3 ]

可得:
IA=E121U[2817]=[1401][2013] I A = E 21 − 1 U [ 2 1 8 7 ] = [ 1 0 4 1 ] [ 2 1 0 3 ]

即:
L=E121=[1401] L = E 21 − 1 = [ 1 0 4 1 ]

观察矩阵L和U,我们发现矩阵U的对角线元素不为1,因此我们可以更进一步,将矩阵U的主对角线元素变成1,令A=LDU:
A=LDUA=[1401][2003][101/21] A = L D U A = [ 1 0 4 1 ] [ 2 0 0 3 ] [ 1 1 / 2 0 1 ]

称矩阵D为对角矩阵(Diagonal Matrix)。这算是个拓展了。

那么,我们为什么要使用A=LU?不是可以通过变换矩阵E来消元吗?
思考一下,上面的案例出2x2矩阵,因此我们只用了一个变换矩阵,如果我们拓展到3x3,4x4….nxn的情况呢?这种情况下我们应该怎么求解总的变换矩阵?A的LU分解可以解决这个问题,相比较于让各个变换矩阵相乘,使用LU更加优雅。
举个3x3的栗子:
注意,我们先不考虑行变换,因为我们是在展现LU的优雅之处。
另外,我们这里不关注A长什么样子,因为这是变换矩阵E和L的较量。

我们第一步要消去矩阵A的第二行第一个元素,消元矩阵为E(21);
第二步要消去第三行第一个元素,消元矩阵为E(31);
第三步要消去第三行第二个元素,消元矩阵为E(32):

E32E31E21A=U E 32 E 31 E 21 A = U

为了方便计算,我们让矩阵E(31)为单位矩阵,
E32=100015001E31=100010001E21=120010001 E 32 = [ 1 0 0 0 1 0 0 − 5 1 ] E 31 = [ 1 0 0 0 1 0 0 0 1 ] E 21 = [ 1 0 0 − 2 1 0 0 0 1 ]

现在我们按照老方法解出总的变换矩阵E:
E=100015001120010001=1210015001 E = [ 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 ]

我们可以看到,我们对第三行的变换受到第二行变换的影响,这导致我们的矩阵计算随着维数的增加越来越复杂。
我们看看矩阵L如何,我们已经知道
L=E1=E121E131E132 L = E − 1 = E 21 − 1 E 31 − 1 E 32 − 1

由于是逆矩阵,因此变换系数要取反。
L=120010001100015001=120015001 L = [ 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和L的区别,L上的每一行都是独立的,每个变换都不受其他行的影响,使用矩阵L能够为我们省去大量的计算,这就是LU分解的优雅之处~

讨论完不考虑行变换的情况,我们考虑一下有行变换的情况,即矩阵A不是一个好矩阵,我们在消元过程中可能会碰到下一行的主元位置处元素为0,导致我们需要进行行变换的情况。

进行行变换我们需要用到什么矩阵?
还记得第二节的最后讲到的置换矩阵(Permutatons Matrix)吗?
我们用P来表示置换矩阵,在3x3的情况下,置换矩阵有多少种?
6种。
我们可以把他们全部列出来:

100010001010100001100001010001010100001100010010001100 [ 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 0 1 0 1 0 1 0 0 ] , [ 0 1 0 0 0 1 1 0 0 ] , [ 0 0 1 1 0 0 0 1 0 ]

这看起来有点复杂,hh不过没关系,我们可以这样理解:
第一个矩阵是单位矩阵,当然也可以看成是一个特殊的置换矩阵(原地置换);
第二个矩阵将原矩阵的第一第二行置换;
第三个矩阵将原矩阵的第二第三行置换;
第四个矩阵将原矩阵的第一第三行置换;
第五个矩阵将原矩阵第一行置换到第三行,第二行置换到第一行,第三行置换到第二行;
第六个矩阵将原矩阵第一行置换到第二行,第二行置换到第三行,第三行置换到第一行;
仔细观察这些矩阵并且思考一个问题,每个置换矩阵的逆是什么?
在第一到第四个矩阵中,是属于两行之间的置换,因此他们的逆就是本身;
在第五和第六个矩阵中,是属于三行之间的置换,两个矩阵互为逆矩阵;
以上,得出一个置换矩阵的特性:
  置换矩阵的逆等于置换矩阵的转置。
P1=PT P − 1 = P T

最后思考一个问题,3x3我们有6个置换矩阵,那么4x4呢?nxn呢?
答案是n!(n的阶乘)
n! = n*(n-1)(n-2)(n-3),,,(3)(2)(1)

下一节,将初步涉及到向量空间,开始进入Linear Algebra的核心内容。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值