python scipy sparse matrix SVD with error ARPACK error 3: No shifts could be applied during a cycle of the Implicitly restarted Arnoldi iteration -
i using scipy sparse matrix svd on large data. matix around 200,000*8,000,000 size, 1.19% non-zero entries. machine using has 160g memory suppose memory shouldn't issue.
so here code used:
from scipy import * scipy.sparse import * import scipy.sparse.linalg slin numpy import * k=1500 coom=coo_matrix((value,(row,col)),shape=(m,n)) coom=coom.astype('float32') u,s,v=slin.svds(coom,k,ncv=8*k)
the error message like:
traceback (most recent call last): file "sparse_svd.py", line 35, in <module> u,s,v=slin.svds(coom,k,ncv=2*k+1) file "/usr/lib/python2.7/dist-packages/scipy/sparse/linalg/eigen/arpack/arpack.py", line 731, in svds eigvals, eigvec = eigensolver(xh_x, k=k, tol=tol**2) file "/usr/lib/python2.7/dist-packages/scipy/sparse/linalg/eigen/arpack/arpack.py", line 680, in eigsh params.iterate() file "/usr/lib/python2.7/dist-packages/scipy/sparse/linalg/eigen/arpack/arpack.py", line 278, in iterate raise arpackerror(self.info) scipy.sparse.linalg.eigen.arpack.arpack.arpackerror: arpack error 3: no shifts applied during cycle of implicitly restarted arnoldi iteration. 1 possibility increase size of ncv relative nev.
when k=1000 (i.e. #eigen values=1000) ok. when try k>=1250 error begins appear. have tried various ncv values, still same error message...
any suggestions , appreciated. lot :)
Comments
Post a Comment