我正在尝试使用MathDotNet数值进行稀疏矩阵乘法。输入:
Matrix<float> mat // dense matrix of size n x k, where n is large and k ~ 10
int[] index // int[] of length l ~ 10, e.g. { 7, 13, 11, ... }
因此,我想查找多列,例如“ mat[index]
”,其形状为l x k
。
谁能告诉我该怎么做?
(我遍历index
并堆叠行还是有更好的方法?]
这里是堆叠解决方案:
Matrix<T> lookup = CreateMatrix.DenseOfRowVectors(indices.Select(i => matrix.Row(i)));
感觉好像有更好的方法,不需要新的内存分配。