稀疏矩阵上的点积

时间:2012-11-18 20:04:21

标签: python scipy sparse-matrix dot-product

我尝试使用Python在该稀疏矩阵中使用该行的转置来获取行的点积。我有一个叫做X2的巨大稀疏矩阵。我在名为Njc的列表中保存结果(应该是单个数字)。

    X2 = X.transpose()
    for row in X2:
        Njc.append(dot(row,row.transpose()))

但是,当我运行程序时,结果不是单个数字。他们看着像是:   (0,0)355

(0,0)295

(0,0)15

(0,0)204

(0,0)66

...

不幸的是,我的稀疏矩阵非常庞大,我无法将其变成密集矩阵(我的记忆会爆炸)。有没有办法在没有左边夫妇的情况下只获得右边的数字?

1 个答案:

答案 0 :(得分:3)

dot返回一个稀疏矩阵。要选择稀疏矩阵中的一个值,可以使用.todense().item()

Njc.append((np.dot(row, row.transpose())).todense().item())