假设我有一个正方形NXN对称实矩阵A,并且我想计算A的LU分解。复杂度是多少(例如O(N ^ 2),O(N ^ 3)等...... )执行此操作的最佳算法
答案 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)。与往常一样,在现实世界中,您的数据大小可能不足以支持性能(顺序)的这一方面,并且使用缓存和优化内核将更加重要。