2011-03-11 20 views
3

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

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

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

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

回答

3

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

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

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

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

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

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

作为一个方面说明,许多人以前都在为密集线性代数库(包括使用图形卡进行计算的人)进行大量工作。

0

稀疏解算器可能是从长远来看更有用,但稠密线性代数是稀疏解算器的发展是至关重要的,并不能真正被忽略:

  • 密集的系统通常是在一个更简单的域这样做算法开发,因为有一件事要担心。
  • 稀疏求解器变得比最密集求解器(即使对于非常稀疏的矩阵)更快的大小比大多数人认为的要大得多。
  • 最快的稀疏求解器一般建立在最快的密集线性代数运算上。
0

在某种意义上安德鲁·库恩的例子的特殊情况,但卡尔曼滤波器eg here通常有一个密集的状态误差协方差矩阵,虽然观测模型矩阵和转换矩阵可以是稀疏。