2011-08-04 119 views
2

是否有稀疏矩陣庫複製密集BLAS的功能?需要一個稀疏矩陣庫

我願意至少:

  1. 高效SYR和SYRK(秩k值更新)與稀疏輸入(以及可能的緻密輸出),
  2. 選項稀疏對稱存儲,
  3. DOT ,NRM2,轉置和其他標準的好東西。

儘管命名和API不需要以BLAS爲中心,只要它能完成這項工作即可。首選C或Fortran,但C++也可以。

我看着MKLscipy.sparseuBLASEigen3,但他們既沒有支持我需要什麼或者我無法弄清楚他們是否這樣做。

+0

我發現了很多的歡樂與Matlab和R.稀疏的支持對於R,看看@這些軟件包:矩陣,sparseM,和垃圾郵件。還有其他人,但我遠離我的電腦。 – Iterator

回答

2

我很抱歉讓人失望,但據我所知,恐怕答案是否定的。我對稀疏數據進行了廣泛的研究,並沒有發現用於稀疏矩陣操作的深層庫(即BLAS級別)。在比BLAS更高的層面上,Matlab,R,Python和其他語言提供了廣泛的支持。由於稀疏矩陣(散射,對稱,帶狀或三對角線,塊對角線)類型的變化,其內容(二進制,整數,實數)及其數學屬性(例如,肯定的 - 不能保證的,滿秩的 - 不常見的)等等會使優化複雜化。相反,我傾向於編寫自己的代碼來處理稀疏矩陣,重新使用我可以用於存儲和簡單計算(如乘法)的東西。

隨着時間的推移,一個好的低級圖書館將會出現,但我還沒有看到它。