scipyにはscipy.sparseという疎行列の生成を扱うパッケージとscipy.sparse.linalgという疎行列の線形代数を扱うパッケージが存在する。しかし、この2つのリファレンスをいくら読んでも粗行列の行列積については触れていないので、公式ドキュメントと以下のスレッドを元に補足してみた。 [SciPy-User] Sparse matrices and dot product sparse_matrixの扱いかた scipy.sparseにはいくつかのフォーマットがあるが、基本的には生成時にlil_matrixを使用し、それをcsr_matrixに変換して計算するというのが効率的なようだ。 import scipy.sparse as sp # generate 1000x1000 sparse matrix, whose components are initialized