dポイントプレゼントキャンペーン実施中!

Pythonで行列の要素積を高速に計算する方法はありますか?
実際に計算したいものはN=30000くらいのオーダーで、(N,N)行列同士の積です。

np.arrayでやるとかなり時間かかってしまうので、いい方法があれば教えて下さい。
ちなみに、要素に0が多く含まれるため本来は疎行列を用いた計算を行いたいのですが、
sp.sparseでは、
A*B = A.dot(B)
となってしまい、要素積を求める方法が見つかりません。

疎行列同士の要素積を求める方法がありましたら、そちらも知りたいです。

※補足
=====
A = np.array([[1 for i in range(10000)] for j in range(10000)])
B = np.array([[2 for i in range(10000)] for j in range(10000)])
C = A*B
print(A)
print(B)
print(C)
=====
とすると、求めたい答えは
C = np.array([[2 for i in range(10000)] for j in range(10000)])
ですが、以上の計算にも大体30秒くらい時間がかかってしまいます。
(本来はもっと疎な行列を扱います。)
どうにかこれを0.1秒くらいのオーダーにしたいと考えています。

A 回答 (1件)

要素積だと


A.multiply(B)
では?
    • good
    • 1
この回答へのお礼

どうもありがとうございます!

お礼日時:2016/07/12 18:56

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!