将矩阵中的元素按照零和非零分为两个集合,对于零元素,其占整个矩阵的元素个数比成为稠密度。算法
经过压缩稀疏矩阵中的零元素,节省运算空间。 经常使用算法 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