我需要编写一种算法来处理一些非常低等级(与维数相比)的平方矩阵。我想通过仅保存矢量列表来写这样的矩阵,作为(d,1)矩阵与(1,d)矩阵的“乘积”之和。
我也想通过将矩阵应用于向量来完成左右矩阵乘法:即调用$ M = \ sum_i v_i * w_i ^ T $然后我想要$ TM = \ sum_i( T v_i)* w_i ^ T $等。
我还没有在scipy中看到任何这样的东西,但这将非常有用,因为矩阵乘法现在变成了某种矩阵向量乘法。 请注意,我的矩阵的秩大约为20,而维数大约为400.000,所以这可以节省很多时间。
还请注意,此类矩阵并不稀疏,它们只是低阶矩阵,已经分解为(d,1)-矩阵和(1,d)-矩阵的总和。
您如何建议这样做?在哪里可以找到将矩阵类型添加到scipy的引用?