,也可以是單數。實際上,下面的代碼會產生一個錯誤"RuntimeError: superlu failure (singular matrix?) at line 100 in file scipy/sparse/linalg/dsolve/SuperLU/SRC/dsnode_bmod.c"
。生成非奇異稀疏矩陣在Python
dim = 20000
ratio = 0.000133
A = scipy.sparse.rand(dim,dim,ratio)
inv_sparse = scipy.sparse.linalg.inv(A)
有沒有辦法生成非奇異稀疏矩陣?
我真正想要做的是與np.linalg.inv
的scipy.sparse.linalg.inv
比較性能(處理時間)。這就是爲什麼我需要生成不是奇異的隨機稀疏矩陣。
評論可能會幫助http://math.stackexchange.com/questions/449396/getting-non-singular-invertible-matrix-from-a-singular-one你可能也只是檢查的決定,然後做反轉...或者生成它們並處理異常...可能事先生成已知爲非奇異的案例 – tenCupMaximum
單數是因爲2行還是更多行都是零?如果密度足夠低,這是可能的。 – hpaulj
嘗試添加'sparse.eye(A.shape [0])'到它。 – hpaulj