(150000,150000)
次のように大きな疎行列を反転しようとしています:
import scipy as sp
import scipy.sparse.linalg as splu
#Bs is a large sparse matrix with shape=(150000,150000)
#calculating the sparse inverse
iBs=splu.inv(Bs)
次のエラー メッセージが表示されます。
Traceback (most recent call last):
iBs=splu.inv(Bs)
File "/usr/lib/python2.7/dist-packages/scipy/sparse/linalg/dsolve/linsolve.py", line 134, in spsolve
autoTranspose=True)
File "/usr/lib/python2.7/dist-packages/scipy/sparse/linalg/dsolve/umfpack/umfpack.py", line 603, in linsolve
self.numeric(mtx)
File "/usr/lib/python2.7/dist-packages/scipy/sparse/linalg/dsolve/umfpack/umfpack.py", line 450, in numeric
umfStatus[status]))
RuntimeError: <function umfpack_di_numeric at 0x7f2c76b1d320> failed with UMFPACK_ERROR_out_of_memory
線形微分方程式系を単純に解くようにプログラムを再調整しました。
import numpy as np
N=Bs.shape[0]
I=np.ones(N)
M=splu.spsolve(Bs,I)
そして、私は再び同じエラーに遭遇します
私はこのコードを 16 GB の RAM を搭載したマシンで使用していましたが、それを 32 GB の RAM を搭載したサーバーに移動しましたが、それでも役に立ちませんでした。
誰もこれに遭遇したことがありますか?