【问题标题】:SQL Matrix Multiplication - Could you explain what's happening here?SQL 矩阵乘法 - 你能解释一下这里发生了什么吗?
【发布时间】:2014-07-11 20:03:05
【问题描述】:
SELECT 
    A.row_number, B.column_number, SUM(A.value*B.value)
FROM 
    A, B
WHERE 
    A.column_number = B.row_number
GROUP BY 
    A.row_number, B.column_number

这个 sn-p 输出两个矩阵的乘法,其中每个矩阵是一个表格,格式如下:

matrix (row_number, column_number, value)

您能解释一下代码被评估时会发生什么吗?如果您能逐步解释,将不胜感激。

谢谢

【问题讨论】:

  • 这个问题似乎跑题了,因为它是关于学习矩阵数学和 sql
  • 你知道matrix multiplication是什么吗?完全一样。
  • 我知道什么是矩阵乘法,我想了解的是这段代码如何转换为实际的乘法。
  • 不应该是SUM(A.value * B.value)
  • 是的,这是正确的,我现在就解决这个问题。

标签: sql matrix linear-algebra sparse-matrix matrix-multiplication


【解决方案1】:

您使用 SQL SELECT SUM 函数返回 A.row_number、B.column_number 值和矩阵乘法 SUM(A.value*B.value)(用于关联的行和列)。

来自表 A 和 B。

WHERE A 中的列数等于 B 中的行数(因为只有在这种情况下才定义乘积 AB)

由于您在SQL SELECT 语句中列出了A.row_number、B.column_number 并没有封装在SQL SUM 函数中,因此您必须使用SQL GROUP BY 子句。因此,您将它们列在 SQL GROUP BY 部分中。

您可能还想阅读the concept of matrix multiplication.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-08
    • 1970-01-01
    • 2020-05-31
    • 1970-01-01
    • 2020-04-10
    • 2010-10-09
    相关资源
    最近更新 更多