0

我知道英特爾Fortran具有用於處理稀疏矩陣的函數和子例程的庫,但是我想知道是否還有某種數據類型或自動方法在第一個中創建稀疏矩陣地點。背景:我有一個程序使用了一些3維數組,這些數組在前兩維中可能非常大(每個維度約10k到100k個元素,也許更多)。在前兩個維度中,每個數組大部分(95%左右)填充w /零。爲了使程序對具有「正常」可用RAM量的機器更友好,我想轉換爲稀疏矩陣。在整個代碼中更新當前常規數組的方式更新完全依賴於代碼應用程序,所以我正在尋找一種轉換爲稀疏矩陣存儲而不對代碼進行重大修改的方法。基本上,我很懶惰,而且我不想修改整個內存管理實現,或者編寫一個全新的模塊來存放和管理我的陣列。是否有Fortran庫或其他可以實現數據類型或其他內容的內容,以便我可以使用稀疏矩陣存儲而無需重新設計每個陣列以及如何處理它?謝謝您的幫助。乾杯。Fortran中的自動稀疏矩陣

回答

0

在Fortran中有很多不同的稀疏格式和許多用於處理稀疏矩陣的庫(例如,sparskit,petsc,...)但是,它們都不能提供緊湊的數組處理形式,密集陣列(特別是子陣列符號)。所以,當你想改變它使用稀疏矩陣時,你必須在幾個地方觸碰你的代碼。

+0

我很害怕這個,但我並不感到驚訝。看起來它只是一個更大的項目和學習經驗!謝謝您的意見。 – whit 2013-05-17 19:07:42