私は最近スパース行列を扱っています。私の目標は、何らかの形で、グラフの隣接リストをCSRフォーマットに変換することです。ここで定義するのはhttp://devblogs.nvidia.com/parallelforall/wp-content/uploads/2014/07/CSR.pngです。Scipy CSRスパース行列は実際にCOOですか?
1つの可能なオプションは、まずNumPy行列を作成してscipy.sparse.csr_matrix
を使用して変換することです。問題は、SciPyのCSRがリンクで説明されているCSRと多少異なることです。私の質問は、ちょうど不一致で、私は自分のパーサを書く必要があります、またはSciPyが実際にリンクで定義されているCSRに変換できるかどうかです。このため
matrix([[1, 1, 0],
[0, 0, 1],
[1, 0, 1]])
CSRのフォーマットは、2つのアレイ、カラム(C)と行(R)から成る:
問題についてもう少し、の私はマトリックスを有しているとしよう。そして、私のようなルックスのために努力:
C: [0,1,2,0,2]
R: [0,2,3,5]
scipyのダウンロードが返されます。
2番目の列は私のCと同じである(0, 0) 1
(0, 1) 1
(1, 2) 1
(2, 0) 1
(2, 2) 1
、まだこれは私の理解にCOO形式ではなく、CSRです。 (これはcsr_matrix(adjacency_matrix)
関数を使用して行われました)。
ありがとう!これは私が持っていなかった欠けている情報でした。私は3つの配列表現があることを認識しますが、ポインタ部分は別々に記述されます。 –