2

scipyを使用してスパース行列の2つの列または行の間の内積を計算するための読みやすく効率的な方法は何ですか?x2つのベクトルとy2列のスパース行列の内積を取りたいとしましょうA。現在、次のことを行っています。

    x = A.getcol(i)
    y = A.getcol(j)
    dot = (x.transpose() * y)[0,0]

Acsc効率のためにフォームに保存されます。効率を犠牲にすることなくドット積を取得するためのより読みやすい方法はありますか?

注:scipy0.11.0でPython2.7.2を使用する

4

1 に答える 1

3

スパース行列にはdotメソッドがあるので、

dot = x.T.dot(y)[0, 0]

しかし、私は個人的にあなたのコードが少なくとも上記と同じくらい良いと思います。

于 2013-02-14T01:15:15.633 に答える