凸优化有关的数值线性代数知识三:LU Cholesky和LDL因式分解

三、LU Cholesky和LDL^T因式分解

  1. LU因式分解
  2. Cholesky因式分解
  3. LDL^T因式分解

LU因式分解

每一个非奇异矩阵A\in R^{n \times n}都可以因式分解成A=PLU,其中P \in R^{n \times n}是排列矩阵,L \in R^{n \times n}是单位下三角矩阵,U \in R^{n \times n}是非奇异上三角矩阵。这种形式被成为A的LU因式分解。也可以写成P^TA=LU

计算LU因式分解的标准算法被称为Gauss部分主元消元法,或Gauss行变换消元法。不考虑A的结构,计算A的LU因式分解的成本是(2/3)n^3

通过LU因式分解求解线性方程组

给定线性方程组Ax=b,其中A非奇异。

  1. LU因式分解:将A因式分解为A=PLU。
  2. 排列:求解Pz_1=b(0次浮点运算)
  3. 前向代入:求解Lz_2=z_1n^2次浮点运算)
  4. 后向代入:求解Ux=z_2n^2次浮点运算)

一共需要(2/3)n^3+2n^2次浮点运算。

如果考虑求解多个不同右边项的线性方程组,即Ax_i=b_i,i=1,\cdots ,m,一共需要一次因式分解,m次解方程,共(2/3)n^3+2mn^2次浮点运算。

稀疏矩阵的LU因式分解

当A是稀疏矩阵时,起LU因式分解通常包含行列排列,即A被因式分解成A=P_1LUP_2,其中P_1,P_2是排列矩阵,L是下三角矩阵,U是上三角矩阵。因式L和U的稀疏性取决于排列矩阵P_1P_2,因此选择这些矩阵时在一定程度上要考虑因式的稀疏性。

计算稀疏的LU因式分解的成本是A的维数、非零元素的数量、稀疏模式以及所使用的具体算法这些因素的复杂函数。但通常会小于稠密的LU因式分解的计算成本。

Cholesky因式分解

如果A\in R^{n \times n}是对称正定矩阵,那么它可以因式分解为A =LL^T,其中L是下三角非奇异矩阵,对角元素均为正数,这种分解被称为A的Cholesky因式分解,可以理解为对称LU分解。矩阵L,通常由A唯一确定,被称为Ade Cholesky因式。不考虑A的结构,计算A的Cholesky因式分解的成本是(1/3)n^3次浮点运算。

利用Cholesky因式分解求解正定方程组

考虑Ax=b,A是对称正定矩阵。

  1. Cholesky因式分解:将A因式分解为A=LL^T((1/3)n^3次浮点运算)
  2. 前向代入:求解Lz_1=b(n^2次浮点运算)
  3. 后向代入:求解L^Tx=z_1(n^2次浮点运算)

一共需要(1/3)n^3+2n^2次浮点运算。

稀疏矩阵的Cholesky因式分解

当A是对称正定稀疏矩阵时,通常可以因式分解为A=PLL^TP^T,其中P是排列矩阵,L是对角线元素为正数的下三角矩阵。

稀疏矩阵的Cholesky因式分解分为两部,(1)符号因式分解:首先由A的稀疏模式确定排列矩阵P,一旦选定P,即可确定L的稀疏模式。(2)数值因式分解:即计算L的非零元素。

稀疏矩阵的Cholesky因式分解的成本少于(1/3)n^3。其成本与A的维度、非零元素的个数,稀疏模式均相关。

LDL^T因式分解

每个非奇异对称矩阵A都能分解为A=PLDL^TP^T,其中P是排列矩阵,L是对角元素均为正数的下三角矩阵,D是块对角矩阵,对角块为1 \times 12\times 2的非奇异矩阵。不考虑A的结构,计算LDL^T因式分解的浮点运算次数为(1/3)n^3

利用LDL^T因式分解求解线性方程组

给定方程组Ax=b,其中A是非奇异对称矩阵。

  1. LDL^T因式分解:将A因式分解为A=PLDL^TP^T((1/3)n^3次浮点运算)
  2. 排列:求解Pz_1=b(0次浮点运算)
  3. 前向代入:求解Lz_2=z_1(n^2次浮点运算)
  4. 求解块对角方程:求解Dz_3=z_2(阶次为n次浮点运算)
  5. 后向代入:求解L^Tz_4=z_3 (n^2次浮点运算)
  6. 排列:求解P^Tx=z_4(0次浮点运算)

稀疏矩阵的LDL^T因式分解

在确定稀疏矩阵的LDL^T因式分解时,排列矩阵P不只取决于A的稀疏模式,还依赖于A的非零元素的具体数值。但总的成本要小于(1/3)n^3

 

来源:https://blog.csdn.net/wangchy29/article/details/87911171

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值