Pythonのscipy.sparse.csr_matrix()csc_matrix()]

疎行列は、基準の他のタイプであってもよい、疎行列の使用を例示するためにcsr_matrix例をとるhttps://docs.scipy.org/doc/scipy/reference/sparse.html

圧縮スパース行の行列は、2つの初期化方法の組み合わせは、以下に記載csr_matrix略称であります

csr_matrix((データ、(row_ind、col_ind))、[形状=(M、N)])

  ここで、  データ、  row_ind  と  col_indの  関係を満たす  [row_ind [K]、  col_ind [K]  データ[k]を

csr_matrix((データ、インデックス、indptr)、[形状=(M、N)])

  行の列インデックスiがに格納されている標準的なCSRの表現である  指数[indptrは、[I]:indptr [I + 1]  およびそれらの対応する値はに格納され  たデータ[indptr [I]:indptr [I + 1]形状パラメータが供給されない場合、マトリックスの寸法は、インデックス配列から推定されます。

 

公式文書の上にいます:パラメータとその意味は、スパース行列、道のスパースマトリックス構造です。シンプルな形でセットなど、非常に楽しい読みます。

 

スパース行列は、演算に使用することができる:それらは、加算、減算、乗算、除算、およびマトリックス電源をサポート

CSRフォーマットの利点

  • 効率的な演算等CSR + CSR、CSR * CSR、
  • 効率的な行スライシング
  • 高速の行列ベクトル積

CSR形式のデメリット

  • 遅い列スライス操作(CSCを考えます)
  • スパース構造への変更は、(LILまたはDOKを考える)高価であり、

 

上記の公式文書とcsr_matrixの長所と短所、および技術を提供しながら、指示された欠点の疎行列のいくつかの特性を考慮することができます。

 

コードの例1

コードをコピー
コードをコピー
NPとしてnumpyのインポート
scipy.sparse輸入csr_matrixから

行= np.array([0、0、1、2、2、2])
COL = np.array([0、2、2、0、1、2])
データ= np.array([1、2、3、4、5、6])
A = csr_matrix((データ、(行、列))、形状=(3,3))。てToArray()

プリント()
コードをコピー
コードをコピー

結果:

アレイ([1、0,2]
       [0、0、3]
       [4、5、6])

コード例2

コードをコピー
indptr = np.array([0、2、3、6])
インデックス= np.array([0、2、2、0、1、2])
データ= np.array([1、2、3、4、5、6])
A = csr_matrix((データ、インデックス、indptr)、形状=(3,3))。てToArray()

プリント(A)
コードをコピー

結果を許可します:

アレイ([1、0,2]
       [0、0、3]
       [4、5、6])

疎行列は、基準の他のタイプであってもよい、疎行列の使用を例示するためにcsr_matrix例をとるhttps://docs.scipy.org/doc/scipy/reference/sparse.html

圧縮スパース行の行列は、2つの初期化方法の組み合わせは、以下に記載csr_matrix略称であります

csr_matrix((データ、(row_ind、col_ind))、[形状=(M、N)])

  ここで、  データ、  row_ind  と  col_indの  関係を満たす  [row_ind [K]、  col_ind [K]  データ[k]を

csr_matrix((データ、インデックス、indptr)、[形状=(M、N)])

  行の列インデックスiがに格納されている標準的なCSRの表現である  指数[indptrは、[I]:indptr [I + 1]  およびそれらの対応する値はに格納され  たデータ[indptr [I]:indptr [I + 1]形状パラメータが供給されない場合、マトリックスの寸法は、インデックス配列から推定されます。

 

公式文書の上にいます:パラメータとその意味は、スパース行列、道のスパースマトリックス構造です。シンプルな形でセットなど、非常に楽しい読みます。

 

スパース行列は、演算に使用することができる:それらは、加算、減算、乗算、除算、およびマトリックス電源をサポート

CSRフォーマットの利点

  • 効率的な演算等CSR + CSR、CSR * CSR、
  • 効率的な行スライシング
  • 高速の行列ベクトル積

CSR形式のデメリット

  • 遅い列スライス操作(CSCを考えます)
  • スパース構造への変更は、(LILまたはDOKを考える)高価であり、

 

上記の公式文書とcsr_matrixの長所と短所、および技術を提供しながら、指示された欠点の疎行列のいくつかの特性を考慮することができます。

 

コードの例1

コードをコピー
コードをコピー
NPとしてnumpyのインポート
scipy.sparse輸入csr_matrixから

行= np.array([0、0、1、2、2、2])
COL = np.array([0、2、2、0、1、2])
データ= np.array([1、2、3、4、5、6])
A = csr_matrix((データ、(行、列))、形状=(3,3))。てToArray()

プリント()
コードをコピー
コードをコピー

結果:

アレイ([1、0,2]
       [0、0、3]
       [4、5、6])

コード例2

コードをコピー
indptr = np.array([0、2、3、6])
インデックス= np.array([0、2、2、0、1、2])
データ= np.array([1、2、3、4、5、6])
A = csr_matrix((データ、インデックス、indptr)、形状=(3,3))。てToArray()

プリント(A)
コードをコピー

結果を許可します:

アレイ([1、0,2]
       [0、0、3]
       [4、5、6])

おすすめ

転載: www.cnblogs.com/leebxo/p/11897727.html