LDL形式的Cholesky分解的时间复杂度 [英] Time complexity of Cholesky Decomposition for the LDL form

查看:1584
本文介绍了LDL形式的Cholesky分解的时间复杂度的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

胆汁分解有两种不同形式:

A = M * ctranspose (M)

和LDL表格

A = L * D * ctranspose (L)

其中ctranspose是复杂的转置.

where ctranspose is the complex transpose.

我想知道每种表单的浮点运算次数. Wikipedia引用了使用Cholesky分解进行矩阵求逆

I want to know the number of floating point operations for each form. Wikipedia references a paper Matrix Inversion Using Cholesky Decomposition which says

有效实施后,LDL分解的复杂性与Cholesky分解相同.

When efficiently implemented, the complexity of the LDL decomposition is same (sic) as Cholesky decomposition.

该论文说,Cholesky分解需要n^3/6 + O(n^2)运算.但是,维基百科说浮点运算的数量是n^3/3,而我自己的计算也可以用第一种形式得到.它基本上可以归结为三角形数之和:

The paper says Cholesky decomposition requires n^3/6 + O(n^2) operations. However, Wikipedia says the number of floating point operations is n^3/3 and my own calculation gets that as well for the first form. It basically comes down to the sum of triangle numbers which is:

n*(n+1)*(n+2)/6.  

那是我认为论文得到n^3/6的地方.但是对于第一种形式,最里面的三元和中的术语是a[i][k]*a[j][k],它基本上是点积.总和为2 * n浮点运算.因此,浮动指针操作应为n^3/3 + O(n^2).而且,如果您查看LDL形式,则最里面的总和项为a[i][k]*a[j][k]*d[k].那是3 * n个浮指针操作(2个乘法和1个加法).因此浮点运算应为n^3/2 + O(n^2).

That's where I think the paper gets n^3/6. But for the first form the term in the inner most triple sum is a[i][k]*a[j][k] which is basically a dot product. That's 2*n floating point operations in the sum. So the floating pointer operations should be n^3/3 + O(n^2). And if you look at the LDL form the term in the innermost sum is a[i][k]*a[j][k]*d[k]. That's 3*n floating pointer operations (2 multiplications and 1 addition). So the floating point operations should ben^3/2 + O(n^2).

换句话说,LDL表单需要更多的浮点运算50%. 我正确吗?我认为本文是错误的(尽管它们没有定义它们的含义)指操作).这很重要,因为我正在基于LDL形式实现改进的Choleksy分解形式,并且我想估计算法的效率.

In other words the LDL form needs 50% more floating point operations. Am I correct? I think the paper is wrong (though they don't define what they mean by an operation). This is important because I'm implementing a modified form of Choleksy Decomposition based on the LDL form and I want to estimate the efficiency of my algorithm.

也许这个问题更适合 https://math.stackexchange.com/

推荐答案

该语句考虑了Cholesky分解的整体复杂性,包括反平方根(的实现),这是详细说明DSP上整个算法的部分所剩下的内容.

That statement considers the overall complexity of Cholesky decomposition including (an implementation of) inverse square root, and is what is left of a section that detailed the whole algorithm on a DSP.

这篇关于LDL形式的Cholesky分解的时间复杂度的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆