是否可以通過函數定義scipy中的稀疏矩陣而不是佈置所有可能的值?在文檔的我看到一個稀疏矩陣可以通過由函數定義的SciPy中的稀疏矩陣
There are seven available sparse matrix types:
csc_matrix: Compressed Sparse Column format
csr_matrix: Compressed Sparse Row format
bsr_matrix: Block Sparse Row format
lil_matrix: List of Lists format
dok_matrix: Dictionary of Keys format
coo_matrix: COOrdinate format (aka IJV, triplet format)
dia_matrix: DIAgonal format
所有這些力量來創造你事先指定的矩陣,這會佔用內存。有什麼辦法可以簡單地提供一個函數來在需要時計算(i,j)?最終目標是通過類似Lanczos方法計算矩陣的幾個最大特徵向量。
你想避免python循環嗎?因爲(希望很明顯)你可以在創建一個空稀疏矩陣後設置這些值:'m [i,j] = fn(i,j)' – Paul 2011-04-29 22:10:14
@Paul我理想的情況是永遠不會設置內存中的值 - 是,我有一個非常大的稀疏矩陣,其中非零元素的數量大於我的記憶大小,但計算起來很快。 – Hooked 2011-04-29 22:33:37