我需要将三个矩阵 X(Nxk)、FF(kxk) 和 X(Nxk) 相乘(再次)。即 t(xi) * FF * xi,其中 xi 是 X 的第 i 行,i=1:N。结果将是具有 N 行的单列矩阵。乘法也可以看作是 X * FF * t(X)。
(Nxk) 代表“N 行,k 列”,* 是代数乘法,t() 转置。
问题是 N 非常大(超过 100k)。我通过使用drop和sweep找到了一些快速乘法的建议。但是他们只考虑了问题的一半——向量乘以矩阵。
由于 X 的大小,我想避免在两个阶段 A=X FF 和 A t(X) 上进行乘法运算。所以我需要一些函数或提示,它可以一次将三个矩阵相乘(嗯,最多可能),以便在 R 中尽可能快地进行计算。