LU分解N ^ 3

时间:2014-01-10 15:39:44

标签: matrix linear-algebra sparse-matrix matrix-decomposition

假设我有一个正方形NXN对称实矩阵A,并且我想计算A的LU分解。复杂度是多少(例如O(N ^ 2),O(N ^ 3)等...... )执行此操作的最佳算法

  • 如果A是密集矩阵
  • 如果A是稀疏矩阵?

2 个答案:

答案 0 :(得分:1)

Wikipedia声称如下:

  

如果n阶的两个矩阵可以在时间M(n)中相乘,其中   对于某些a> 2,M(n)≥na,则可以计算LU分解   时间O(M(n))。这意味着,例如,O(n ^ 2.376)算法   基于Coppersmith-Winograd算法存在。

对于稀疏矩阵,没有单一的答案。这取决于稀疏性的性质。

答案 1 :(得分:0)

我会说稀疏矩阵乘法与密集的顺序相同,因为(1)这些阶数度量仅适用于数据太大以至于阶数效应占主导地位的情况,以及(2)稀疏度最多会减少计算量通过与大小N无关的线性因子,因此随着N的增长,但稀疏性保持不变,计算应该再次增加为O(N ^ 3)。与往常一样,在现实世界中,您的数据大小可能不足以支持性能(顺序)的这一方面,并​​且使用缓存和优化内核将更加重要。