
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秒くらいのオーダーにしたいと考えています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
繰り返し1行~28行までを順順に...
-
教えて下さい
-
一つのTeratermのマクロで複数...
-
特定のPCだけ動作しないVBAマク...
-
UserForm1.Showでエラーになり...
-
エクセルで特定の列が0表示の場...
-
【VBA】ワークブックを開く時に...
-
2つ以上の変数を比較して最大数...
-
Excel マクロ VBA プロシー...
-
String""から型'Double'への変...
-
ExcelのVBA。public変数の値が...
-
MATLABにて場合分け関数を定義...
-
メッセージボックスのOKボタ...
-
エクセルに張り付けた写真のフ...
-
TERA TERMを隠す方法
-
Filter関数を用いた結果、何も...
-
配列数式の解除
-
実行時エラー 438 の解決策をお...
-
【エクセル】測定時間がバラバ...
-
ApplicationとWorksheetFunctio...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
おすすめ情報