4
A
回答
8
这可以在没有全矩阵乘法的情况下完成,仅使用矩阵元素的乘法。
我们需要将A
的行乘以B
的匹配列并对这些元素求和。 A
的行是t(A)
的列,我们用B
对元素进行乘法并对列进行求和。
换句话说:colSums(t(A) * B)
测试代码,我们首先创建示例数据:
n = 5
m = 10000;
A = matrix(runif(n*m), n, m);
B = matrix(runif(n*m), m, n);
您的代码:
diag(A %*% B)
# [1] 2492.198 2474.869 2459.881 2509.018 2477.591
直接计算,而不矩阵乘法:
colSums(t(A) * B)
# [1] 2492.198 2474.869 2459.881 2509.018 2477.591
结果是一样的。
+0
@AndreyShabalin真的是一个聪明的方法。我会先试试这个。我认为这可能是软件计算方面最快的方法,但我认为在代数方面应该有更好的方法。 –
+0
它在数值上等同于'diag(A%*%B)',问题是'colSums'没有一个好的名字用于线性代数。 –
相关问题
- 1. R或R中的for循环 - 计算矩阵的对角乘积
- 2. 如何仅计算Octave中矩阵乘积的对角线?
- 3. 如何计算Tensorflow中矩阵乘积的对角线?
- 4. R中的矩阵点积
- 5. r中的矩阵乘法
- 6. N乘N矩阵的对角差
- 7. 给定矩阵3x3我怎样才能遍历最长的对角线?
- 8. 矩阵和向量的元素乘积
- 9. 稀疏矩阵的乘积列元素
- 10. 矩阵向量乘积CUDA的性能
- 11. R索引,矩阵乘法
- 12. Matlab中矩阵的所有参数和绝对值的乘积
- 13. 三角矩阵乘法代
- 14. numpy的/ Python的:高效矩阵作为输入矩阵的乘积的乘法
- 15. 矩阵R中计算矩阵
- 16. Python numpy矩阵乘以一个对角矩阵
- 17. 获取3个矩阵的矩阵乘积
- 18. 矩阵与R中的向量相乘
- 19. 矩阵乘法错误中的R
- 20. 我怎样才能在R中做矢量积分?
- 21. Theano float64矩阵乘积值错误
- 22. Numpy matrix乘积 - 稀疏矩阵
- 23. 实现卷积作为矩阵乘法
- 24. 使用R中的apply()矩阵乘以三个矩阵列表?
- 25. 在R中乘以两个矩阵
- 26. 在R中乘以两个矩阵
- 27. 怎么办矩阵的点积在PyTorch
- 28. 矩阵和向量乘法,输出不正确的乘积
- 29. 具有邻接矩阵的乘法和点乘积(numpy)
- 30. r的矩阵累积标准偏差的有效计算
可能的重复http://stackoverflow.com/questions/21708489/compute-only-diagonals-of-matrix-multiplication-in-r – akrun
它相似但更清晰,因为它只涉及一个矩阵乘法。 –
@akrun他们非常相似,是的。但是,相关问题是数学中使用的一种模式,并不适合这种模式。也就是说,这个问题的答案实际上与这个问题的答案差不多。另一个问题可能会承认更多的答案。 –