正定对称矩阵快速求解

本文探讨了大型稀疏正定矩阵的Cholesky分解优化,通过有向图算法减少时间复杂度。介绍了两种优化方法:一种是利用动态规划确定增弧现象,另一种是采用有向图的消去图算法,相比标准Cholesky分解,这两种方法能显著降低计算复杂度。
摘要由CSDN通过智能技术生成

作者:JHJ(jianghuijun211@gmail.com)
日期:2012/08/24

欢迎转载,请注明出处

 

关于正定稀疏矩阵的一种快速求解方法。对Cholesky分解的一种优化。四年前的论文,当时做语音信号处理时写的,现在分享给大家。具体内容见点这里 

1.大型稀疏正定矩阵的cholesky分解

[1]利用无向图来确定cholesky分解的下三角矩阵的非零结构图,提出了两种算法,即消去图和通过商图找顶点的可达集。本文主要利用有向图来确定cholesky分解的下三角矩阵的非零结构图,采用有向图算法可以进一步减小算法的时间和空间复杂度,提出利用动态规划思想确定顶点的终点集(即文[1]可达集的概念)以及有向图中的消去图算法。本文同时给出了这两种算法的数据结构,这种数据结构有利于大型稀疏矩阵的压缩。

1.1标准choleskey算法时间复杂度分析

本文介绍直接法求解对称正定线性方程组

Ax = b,                                                  (1.1)

其中AN阶大型稀疏对称正定矩阵。应用cholesky分解求解(1.1)是一稳定有效的方法。Cholesky分解的MATLAB算法如下[1]

for j = 1 : n                                    1

     for i = j : n                                       2

            v(i) = aij                                              3

            for k = 1 : j – 1                         4

                   v(i) = v(i) - gjk *gik;          5

            end                                                 6

            gij = v(i) / ;                     7

     end                                                        8

end                                                      9

其中gij为对称正定矩阵A经过Cholesky分解得到的下三角矩阵L

s(i)为程序中第i行程序运行的次数。

(1.2)

所以Cholesky分解算法的时间复杂度为

1.2理论上稀疏矩阵choleskey分解最小时间复杂度

标准choleskey分解计算了下三角矩阵L的主对角线及以下元素的所有值。但是若L为稀疏矩阵,如果我们能事先知道L中非零元素的位置,则我们只需要这些非零元值。显然,这可以很好的降低时间复杂度。

,则δ为矩阵的稀疏密度。

若我们只计算L中非零元的值,则我们可知,

 

对于第2for循环,第j列有δ×(n-j1)个非零元素。

                              (1.3)

对于第3for循环,由于第i行有i×δ个非零元素,如果我们只操作第j行的非零元素,则此循环平均次数为t/n。此时

                               (1.4)

比较式(1.2)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值