稀疏矩陣算法

什麼是稀疏矩陣

將矩陣中的元素按照零和非零分爲兩個集合,對於零元素,其佔整個矩陣的元素個數比成爲稠密度。算法

  • 稠密度 > 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

相關文章
相關標籤/搜索