algorithm - 如何在算法中使用线性代数?

标签 algorithm linear-algebra

我的几个同行都提到,“线性代数”在研究算法时非常重要。我研究了各种算法并参加了一些线性代数类(class),但我没有看到其中的联系。那么线性代数在算法中是如何使用的呢?

例如,图的连接矩阵可以做什么有趣的事情?

最佳答案

三个具体的例子:

  • 线性代数是现代 3D 图形学的基础。这基本上与您在学校学到的东西相同。数据保存在投影到 2d 表面的 3d 空间中,这就是您在屏幕上看到的内容。
  • 大多数搜索引擎都基于线性代数。这个想法是将每个文档表示为超空间中的向量,并查看向量在该空间中如何相互关联。这是由 lucene project 使用的, 在其他人中。参见 VSM .
  • 一些现代压缩算法(例如 ogg vorbis 格式使用的算法)基于线性代数,或者更具体地说,一种称为 Vector Quantization 的方法。 .

基本上归结为这样一个事实:线性代数在处理多个变量时是一种非常强大的方法,在设计算法时将其用作理论基础有巨大的好处。在许多情况下,这个基础并不像您想象的那么明显,但这并不意味着它不存在。很可能您已经实现了如果没有 linalg 将难以推导出来的算法。

关于algorithm - 如何在算法中使用线性代数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1085425/

相关文章:

c - 不明白 Codility CountDiv 解法是如何正确的

python - 如何解释奇异值分解结果(Python 3)?

java - 树的左 View 或右 View

python - Normal equation 和 Numpy 'least-squares' , 'solve' 回归方法的区别?

matlab - matlab中相同算法的不同结果

ios - 也围绕自身中心旋转物体吗?

module - 了解如何扩展 Julia 模块

algorithm - 求和函数证明它很大 oh 和 big theta

algorithm - 实现单词词典的数据结构

有 2 个限制的算法背包