稀疏矩阵算法

什么是稀疏矩阵

将矩阵中的元素按照零和非零分为两个集合,对于零元素,其占整个矩阵的元素个数比成为稠密度。算法

  • 稠密度 > 0.05 稠密矩阵
  • 稠密度 < 0.05 稀疏矩阵

稀疏矩阵算法

经过压缩稀疏矩阵中的零元素,节省运算空间。 经常使用算法 BLAS sparse matrix (稀疏矩阵)algorithmsspa

1. coordinate storage - coo指针

一个直接的思路是只存储非零元素。而 coo 是其中最简单的存储结构。blog

coo index strucutre: 三个稀疏向量 three sparse vectorsthree

coo 第一个 vector:存储全部的非零元素it

coo 第二个 vector:存储非零元素的 column indexsed

coo 第三个 vector:存储非零元素的 row indexim

2. compressed sparse row - csrd3

与 coo 相似,惟一的区别是在第三个 vectordb

第三个 vector 存储的是 row 的指针,以下图所示,存储某个 row 的第一个元素

3. compressed sparse column - csc

与 csr 同理, 第二个 vector 存储的是 column 的指针

4. block sparse row - bsr

bsr 有四个 vector

第一个 vector 存储非零元素

第二个 vector 存储 column index

第三个 vector 和 第四个 vector 存储的都是 row 指针,可是分别是第一个元素和最后一个元素 

pointer begin and pointer end

相关文章
相关标签/搜索