Pythonで疎行列を扱うライブラリであるscipy.sparseについて、自分がハマってきたところをまとめてみようと思う。とくに、行列よりもベクトルとして扱ったとき(つまり行または列の数が1のとき)の注意点をまとめる。 基本的なことばかりなのかもしれないが、日本語の情報は少ないので、それでも役に立てるかもと思いました。まあ自分の勉強ノートみたいなもんです。 基本 scipy.sparseで提供される疎行列の形式はいくつかあるが、ここではとくにCOO(COOdinate)形式、LIL(LInked List)形式、CSR(Compressed Sparse Rows)形式、CSC(Compressed Sparse Columns)形式について取り上げる。 それらの違いについて、詳細は本家のドキュメントを参照して欲しいが、すごく大雑把にまとめると、 CSR, CSC形式は、同じ型同士の掛け