本系列笔记为方便日后自己查阅而写,更多的是个人见解,也算一种学习的复习与总结,望善始善终吧~
矩阵的逆与转置
为什么逆矩阵要反过来?这就像是…你先把鞋子脱了再脱袜子,那么反过来不就是要先穿上袜子,再穿鞋子吗?所以说,忘记书上的蠢例子吧。
一个显而易见的性质,(AB)−1=(B−1A−1)
引出另外一个性质:(AB)T=BTAT
如上图(AA−1)T=(A−1)TAT=IT=I
可知(AT)−1=(A−1)T
LU分解
其实,消元的目的只是为了正确认识矩阵的概念,而LU分解是最基础的矩阵分解。
还记得我们如何将一个矩阵化为上三角(upper triangular)吗?见下面的例子:
写为A=LU的形式,则A=E−121U
注意到L为下三角矩阵(lower triangular)
有时候会写成下面的形式,是L和U对角线上全为1
中间的矩阵会是一个对角矩阵(diagonal matrix),所以也叫LDU分解
那么为什么我们要写成这种形式呢?我们知道EA=U这里的E就是在学校的时候被老师各种折磨叫我们如何将矩阵化为上三角、阶梯矩阵等等诸如此类的东西,那么为什么非要写成A=E−1U=LU呢?见例子:
看看E 和L 的差别,E 中的由于两个矩阵相乘将二次的作用叠加到了最后的结果上,使得你无法轻易地通过观察最终的E 了解中间的步骤,而反观它的逆也就是L,你可以很直观的看出消元的步骤。
额外知识:让我们试着考察一下LU 分解的复杂度,对于N∗N矩阵,首先你需要把第2 N行乘一个系数减去第一行,这里我们将以此乘法以此减法当做一次操作,那么很明显需要∑1i=N−1i2=13N3
上面的情况都是在pivot不为零的情况下进行的,当pivot等于0时,我们需要交换行来选择新的pivot,用于交换行的矩阵称为permutation matrix(排列矩阵?),我们很容易就可以列举出在3*3的情况下的所有排列矩阵:
排列矩阵P有一个很奇妙的性质: P−1=PT
PS:本文图片皆来自公开课视频截图
PS2:LU分解在MATLAB中有现成的函数,找时间介绍其使用。