MIT18.06线性代数课程笔记4a:矩阵的LU分解
2017-10-13 16:12
941 查看
课程简介
18.06是Gilbert Strang教授在MIT开的线性代数公开课,课程视频以及相关资料请见https://ocw.mit.edu/courses/mathematics/18-06-linear-algebra-spring-2010/index.htm。课程笔记
Strang先说了两个逆元的性质:(AB)−1=B−1A−1以及(AT)−1=(A−1)T。证明都很简单,直接验证A−1A=I即可。然后对高斯消元法做了矩阵化理解,从而引入A=LU分解,其中U是上三角矩阵。
1. 高斯消元法的矩阵化理解
如MIT18.06线性代数课程笔记3b:矩阵的逆元中所述,高斯消元法用于求解线性方程组Ax=b,通过把增广矩阵A¯=[A,b]进行行变换使得A的部分变为上三角矩阵U,然后做反向代换即可对方程进行求解。其中行变换只有两种方法:1. 交换行i和行j的位置,变换矩阵Pij 2. 从第i行减去第j行的k倍,目的是使得ij位置上为0,变换矩阵为Eij。(其中P代表permutation,E代表elimination)Pij很简单,就是交换单位阵的第i行和第j行,即Pnm=⎧⎩⎨⎪⎪1 iff. n=m and n≠i and n≠j1 iff. n=i and m=j1 iff. n=j and m=i0 otherwise
Eij也很简单,即[Eij]ij=−k,[Eij]nn=1 for all n=1,2,⋯
对矩阵做行变换等价于左乘变换矩阵。
综上高斯消元的结果是EA=U,其中E为Eij和Pij的乘积。
2. 对E的分析
在分析之前,先对E做一些限制:E中不包括行交换操作,即E为Eij的乘积。同时,因为E是从上向下的操作,所以Eij的顺序是固定的,例如对于A3×3,有E=E32E31E21。
因为Eij是为了使得A′ij变为0,而变换的目标是使得A变为上三角矩阵U,故必然有i>j,所以Eij必然是下三角矩阵,而下三角矩阵相乘依旧是下三角矩阵,故E也是下三角矩阵。但是E的一个不好性能是E32E31E21中E32的操作和E21是耦合在一起的,即E32是第3行减去第2行的倍数,而第二行的结果受E21控制。
回忆最初的目的:对A做分解使得A=LU,而我们已知EA=U,故有L=E−1。
若直接对E求逆,使用标准的求逆算法(Gauss-Jordan法),需要额外的O(N3)时间。
3. 求解A=LU
这里就要用到前面所述的矩阵逆元的性质:(AB)−1=B−1A−1. 例如上诉A3×3的例子,我们有E−1=E−121E−131E−132。而对消除矩阵求逆的操作非常简单,直接对[Eij]ij取反,其他位置不变。进而求取E−1等价于对I做一系列行变换。进一步,记得我们对E做的限制:不包括行交换操作。于是将对E−1的求导转换为一系列消除矩阵逆元的乘积还有一个好处:当我们依次(从右到左)执行消除矩阵逆元乘法的时候发现,我们是从下向上进行操作,每个操作之间都不耦合,E−1=E−121+E−131+E−132−2I。
具体地,计算E−1的操作等价于:
L=I
for i=n⋯1
for j=i−1⋯1
L=E−1ijL ,即L的第i行加上第j行
return L
分析循环体内的操作,L的第i行加上第j行[Eij]ij倍,而j<i,所以第j行没有改变,仍然是I的第j行,从而L=E−1ij+L−I。
综上,求解L的过程转换为对[Eij]ij取反相加的过程,每次的复杂度是O(1),而最多有O(N2)次消除操作,故最终求解L的复杂度为O(N2)。
这里还可以分析一下高斯消元的复杂度,因为衡量单元是矩阵维度N,所以考虑缩减矩阵的操作数,最后再整合。缩减矩阵维度的标准是第1列只有第一行为1其他均为0,从而需要执行N−1次消元操作,而每次操作需要O(N)的乘法和减法,故有T(N)=T(N−1)+O(N2)。将公式展开可得T(N)=∑Ni=1i2≈N3/3=O(N3)。所以高斯消元的整体复杂度是O(N3),进而A=LU分解也是O(N3)。对于上诉级数求和,Strang说那个1/3的系数大致上是从对N3求导得到3N2中的3得来,然后类比了级数求和和积分。
相关文章推荐
- MIT18.06线性代数课程笔记17:正交标准矩阵
- MIT18.06线性代数课程笔记2a:矩阵相乘的三种看待角度
- MIT18.06线性代数课程笔记11:矩阵空间、子空间的交和、秩一矩阵
- MIT18.06线性代数课程笔记5:矩阵转置,vector space以及subspace
- MIT18.06线性代数课程笔记8:求解Ax=b、矩阵的秩以及矩阵的逆
- MIT18.06线性代数课程笔记19:矩阵行列式公式与代数余子式
- MIT18.06线性代数课程笔记20:矩阵逆元计算、克里默法则 以及 行列式与volume、外积的关系
- MIT18.06线性代数课程笔记3a:矩阵相乘的五种看待角度
- MIT18.06线性代数课程笔记4b:打乱矩阵集合及相关性质
- MIT18.06线性代数课程笔记1:矩阵和向量相乘的三种解释
- MIT18.06线性代数课程笔记15:子空间投影矩阵
- MIT18.06线性代数课程笔记21:特征向量、特征值简介、求法与性质
- MIT18.06线性代数课程笔记14:正交子空间、A^TA的Null Space
- MIT18.06线性代数课程笔记9:线性无关、向量拓展空间、空间的基、空间维度
- MIT18.06线性代数课程笔记12:使用邻接矩阵证明欧拉定理
- MIT18.06线性代数课程笔记7:使用消元法求解Null space
- MIT18.06线性代数课程笔记6:vector space,subspace,column space,null space
- MIT18.06课程笔记15:Projection Matrix投射矩阵
- MIT18.06线性代数课程笔记3b:矩阵的逆元
- MIT 线性代数课程 笔记