密集线性代数在现实世界中有哪些常见应用?
使用线性代数作为人与计算机之间的通用语言,可以轻松描述并有效地计算许多问题。尽管这些系统通常需要稀疏矩阵而不是稠密矩阵的解决方案,但并非总是如此。有哪些常见的应用程序违反了此规则?
我很好奇社区是否应该投入更多时间来改善DLA包,例如LAPACK。谁在计算受限的应用程序中使用LAPACK?谁使用LAPACK解决需要并行处理的大问题?
具体地说,由于稠密的线性代数能力不足,今天无法解决的问题是什么。
最佳答案
这取决于您所说的真实世界。对我来说,现实世界是物理学,所以我先告诉您物理知识,然后再扩展。在物理学中,我们经常必须找到称为哈密顿量的矩阵的特征值和特征向量(它基本上包含有关系统能量的信息)。这些矩阵至少在块中可以是密集的。这些块可能很大。这又引出了另一点:稀疏矩阵可以在块中密集,然后最好对每个块使用密集的线性代数求解器。
还有一些叫做系统的密度矩阵。可以使用哈密顿量的特征向量找到它。在我使用的一种算法中,我们经常发现这些密度矩阵的特征向量/值,并且密度矩阵至少在块中是密集的。
如this article中所述,致密线性代数也用于材料科学和流体力学。这也与量子化学有关,这是量子化学的另一个应用领域。
密集的线性代数例程也已用于求解quantum scattering of charged particles(在链接的文章中没有这么说,但是使用了它)并分析了Cosmic Microwave Background。更广泛地说,它用于解决与现实世界有关的array of electromagnetic problems,例如天线设计,医疗设备设计以及确定/减少飞机的雷达信号。
另一个非常实际的应用是曲线拟合。但是,除了使用线性代数之外,还有其他更广泛的方法。
总之,稠密线性代数用于各种应用中,其中大多数与科学或工程相关。
附带说明一下,许多人以前和现在已经在密集的线性代数库中投入了大量精力,其中包括使用图形卡进行计算的库。