我有3个矩阵:
A (n by K),
B (L by m) and
C (L by K)
并想产生第四个矩阵
D (n by m)
有元素
D(i,j) = sum(B[,i,drop=FALSE]%*%A[j,,drop=FALSE] * C)
(请注意,B[,i,drop=FALSE]%*%A[j,,drop=FALSE] 是 (L × 1) 矩阵与 (1 × K_ 矩阵) 的乘积,因此是 (L × K ),就像 C 一样。“sum”对结果矩阵的所有元素求和)
一种方法是创建一个网格作为 expand.grid(1:n,1:m) 并为每个元素计算 D(.,.)。关于如何在 R 中更快地做到这一点的任何想法?
谢谢!