將矩陣中的元素按照零和非零分爲兩個集合,對於零元素,其佔整個矩陣的元素個數比成爲稠密度。算法
經過壓縮稀疏矩陣中的零元素,節省運算空間。 經常使用算法 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