4

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

...。

残念ながら、私の疎行列は非常に大きいため、密行列にすることはできません(私の記憶は爆発します)。左側のカップルなしで右側の数字だけを取得する方法はありますか?

4

1 に答える 1

3

dotスパース行列を返しています。スパース行列内の1つの値を選択するには、次を使用できます.todense().item()

Njc.append((np.dot(row, row.transpose())).todense().item())
于 2012-11-18T20:31:57.183 に答える