稀疏矩阵存储格式

压缩稀疏行矩阵(csr_matrix)

  • 稀疏矩阵可用于算术运算:支持加、减、乘、除和矩阵幂
  • 优点:高效的算术运算(CSR + CSR, CSR * CSR),高效的行切片,快速的矩阵向量积
  • 缺点:低速的列切片(考虑CSC矩阵),对稀疏结构的更改代价高(考虑LIL或者DOK矩阵)

矩阵属性

  • dtype: 矩阵的数据类型
  • shape: 2元组,矩阵的形状
  • ndim: 维数,始终为2
  • nnz: 存储值的数量,包括显示存储的0元素
  • data: CSR格式矩阵的数据数组
  • indices: CSR格式矩阵的索引数组
  • indptr: CSR格式矩阵的索引指针数组

实例化的几种方式

  1. csr_matrix((data, indices, indptr), shape=[M, N])
    • 标准的 CSR 表示形式
    • row_i 的列索引存储在 indices[indptr[i]:indptr[i+1]] (0<i<M)
    • row_i 的值则存储在 data[indptr[i]:indptr[i+1]]
  2. csr_matrix(D)
    • D 是一个稠密矩阵或者一个2维的ndarray
  3. csr_matrix((M, N), [dtype])
    • 创建一个形状为 (M, N) 的空矩阵,类型dtype可选,默认为 float
  4. csr_matrix((data, (row_ind, col_ind)), [shape=(M, N)])
    • 参数需要满足关系 matrix[row_ind[k], col_ind[k]] = data[k]

待补充

posted @ 2022-09-08 20:20  ylyzty  阅读(69)  评论(0编辑  收藏  举报