一、LU分解的理解
L是下三角矩阵(通过初等行变换所使用的的矩阵E的乘积的逆矩阵)
U是上三角矩阵(是经过初等行变换后的行阶梯矩阵)
把矩阵
的形式分解。若有矩阵
1、前向计算,从A到U
2、后向计算,从U到A
其中
只有一个数有区别,互为逆运算。
若
维矩阵,则
3、分解
矩阵
若有矩阵
1)前向计算过程,从A到U:
2)后向计算过程,从
二、Ax=b转LU分解
将A转换成LU形式,则Ax=b=>LUx=b=>令c=Ux,则先求解Lc=b,再求解Ux=c
还是以上面A为例,若
,
三、LU分解求解Ax=b的复杂度
1、若
的矩阵进行LU分解的第一行消元第二行,是n次乘法和n次减法操作,一共需要n次操作(应该是n-1次操作,第一行不需要进行操作),记做
次乘法和
次减法操作,以此类推
则一共需要
的乘法和减法操作。
化简后
,当n趋于很大时,
(用等于因为从积分的角度求
),与
行化简的次数相同,而求
需要
2、在LU前向计算中,第一行计算为0次操作,第二次计算是1次乘法和减法操作,第三行计算2次乘法和减法操作
在LU后向计算中,第三行计算是1次乘法(和没有减法操作),第二行是2次乘法和减法操作,第一行操作是1次乘法和减法操作
所以
的矩阵求解次数=
所以每一行需要
次乘法和
次减法操作
3、当A是稀疏矩阵(Sparse Matrix),则前向计算E不一定是稀疏的,但是LU一定是稀疏的。
因为前向操作的行变换一定会影响下面行的行变换。
后向操作的行变换是从最后一行开始,并不会影响上面行的行变换。
举例:上面的计算中,如果
,则
,则
,而
四、LDU分解
若A = LU,L是下三角矩阵,对角线为1,U为上三角矩阵,对角线不为1,
若
分解,L是下三角矩阵,对角线为1,D为对角矩阵(对角线有值,其他为0),U为上三角矩阵,对角线为1,则称为LDU分解