密集线性代数的常见实际应用是什么?
使用线性代数作为人类和计算机之间的通用语言,可以轻松描述和有效计算许多问题。尽管这些系统通常需要稀疏矩阵的解,而不是密集矩阵的解。违反此规则的常见应用程序有哪些?
我很好奇社区是否应该投入更多时间来改进LAPACK等 DLA 软件包。谁在计算受限的应用程序中使用LAPACK ?谁使用LAPACK来解决需要并行性的大问题?
具体来说,由于密集线性代数能力不足,目前无法解决的问题有哪些。
密集线性代数的常见实际应用是什么?
使用线性代数作为人类和计算机之间的通用语言,可以轻松描述和有效计算许多问题。尽管这些系统通常需要稀疏矩阵的解,而不是密集矩阵的解。违反此规则的常见应用程序有哪些?
我很好奇社区是否应该投入更多时间来改进LAPACK等 DLA 软件包。谁在计算受限的应用程序中使用LAPACK ?谁使用LAPACK来解决需要并行性的大问题?
具体来说,由于密集线性代数能力不足,目前无法解决的问题有哪些。
这取决于你所说的真实世界是什么意思。对我来说,现实世界是物理学,所以我会先告诉你物理学中的那些,然后再展开。在物理学中,我们经常需要找到称为哈密顿量的矩阵的特征值和特征向量(它基本上包含有关系统能量的信息)。这些矩阵可以是密集的,至少在块中。这些块可能非常大。这带来了另一点:稀疏矩阵可以在块中密集,然后最好对每个块使用密集线性代数求解器。
还有一种叫做系统密度矩阵的东西。它可以使用哈密顿量的特征向量找到。在我使用的一种算法中,我们经常找到这些密度矩阵的特征向量/值,并且密度矩阵是密集的,至少以块为单位。
如本文所述,稠密线性代数也用于材料科学和流体动力学。这也与量子化学有关,这是使用它们的另一个领域。
密集线性代数例程也被用于解决带电粒子的量子散射(在链接的文章中没有这么说,但它被使用了)和分析宇宙微波背景。更广泛地说,它用于解决与现实世界相关的一系列电磁问题,如天线设计、医疗设备设计以及确定/减少飞机的雷达信号。
另一个非常现实的应用是曲线拟合。但是,除了使用范围更广的线性代数之外,还有其他方法可以做到这一点。
总之,稠密线性代数用于各种应用,其中大部分与科学或工程相关。
作为旁注,许多人以前和现在都在密集的线性代数库中投入了大量精力,包括使用显卡进行计算的库。
许多线性回归方法需要对大而密集的数据矩阵进行繁重的工作。我能想到的最直接的例子是使用 Moore-Penrose 伪逆的线性最小二乘法。
从长远来看,稀疏求解器可能更有用,但密集线性代数对于稀疏求解器的发展至关重要,并且不能真正被忽视:
在某种意义上是 Andrew Cone 示例的特殊情况,但例如这里的卡尔曼滤波器通常具有密集状态误差协方差矩阵,尽管观察模型矩阵和转移矩阵可能是稀疏的。