密集线性代数的应用

时间:2011-03-11 17:49:25

标签: linear-algebra sparse-matrix lapack

密集线性代数的常见现实应用是什么?

使用线性代数作为人与计算机之间的通用语言,可以很容易地描述和有效地计算许多问题。通常情况下,这些系统需要稀疏矩阵的解决方案,而不是密集的解决方案。什么是违反这条规则的常见应用程序?

我很好奇社区是否应该投入更多时间来改进DLA软件包,例如 LAPACK 。谁在计算受限的应用程序中使用 LAPACK ?谁使用 LAPACK 来解决需要并行的大问题?

具体而言,由于密集线性代数能力不足,今天无法解决的问题是什么。

4 个答案:

答案 0 :(得分:3)

这取决于您对现实世界的意义。对我而言,现实世界是物理学,所以我先用物理学的方法告诉你,然后分支出来。在物理学中,我们经常需要找到称为哈密顿量的矩阵的特征值和特征向量(它基本上包含有关系统能量的信息)。这些矩阵可以是密集的,至少是块状的。这些块可能非常大。这提出了另一点:稀疏矩阵可以在块中密集,然后最好为每个块使用密集线性代数求解器。

还有一种称为系统密度矩阵的东西。可以使用哈密顿量的特征向量找到它。在我使用的一种算法中,我们经常发现这些密度矩阵的特征向量/值,并且密度矩阵是密集的,至少在块中。

密集线性代数也用于材料科学和流体动力学,如this article中所述。这也涉及量子化学,这是使用它们的另一个领域。

密集的线性代数例程也被用来解决quantum scattering of charged particles(在链接的文章中没有这么说,但它被使用了)并分析了Cosmic Microwave Background。更广泛地说,它用于解决与天线设计,医疗设备设计以及确定/减少飞机雷达特征等现实世界相关的array of electromagnetic problems

另一个非常真实的应用是曲线拟合。但是,除了使用范围更广的线性代数之外,还有其他方法可以做到这一点。

总之,密集线性代数用于各种应用,其中大多数与科学或工程相关。

作为旁注,许多人以前和目前正在为密集的线性代数库付出大量精力,包括使用图形卡进行计算的代码库。

答案 1 :(得分:0)

linear regression的许多方法都需要在大而密集的数据矩阵上进行繁重的工作。我能想到的最直接的例子是linear least squares using the Moore-Penrose pseudoinverse

答案 2 :(得分:0)

稀疏求解器从长远来看可能更有用,但密集线性代数对于稀疏求解器的开发至关重要,并且不能真正被忽略:

  • 密集系统通常是一个更容易进行算法开发的领域,因为没有什么可担心的。
  • 稀疏求解器变得比最佳密集解算器(即使对于非常稀疏的矩阵)更快的大小比大多数人认为的要大得多。
  • 最快的稀疏求解器通常建立在最快密集的线性代数运算上。

答案 3 :(得分:0)

在某种意义上,Andrew Cone的一个例子,但Kalman Filters eg here通常具有密集状态误差协方差矩阵,尽管观察模型矩阵和转移矩阵可能是稀疏的。