[Numpy-tickets] [NumPy] #990: SVD fails to converge
NumPy
numpy-tickets@scipy....
Fri Jan 30 21:19:47 CST 2009
#990: SVD fails to converge
--------------------------+-------------------------------------------------
Reporter: MikeTrumpis | Owner: somebody
Type: defect | Status: new
Priority: normal | Milestone: 1.3.0
Component: numpy.linalg | Version: devel
Severity: normal | Keywords:
--------------------------+-------------------------------------------------
I'm running into a "!LinAlgError: SVD did not converge" in both numpy and
scipy for a given matrix (npy file linked below). The matrix is very badly
conditioned (but SVD is meant for that).
np version 1.3.0.dev6083
mac os 10.4, lapack_lite built with -Wl,-framework -Wl,Accelerate
I can get results for this matrix using the SVD routines of either Matlab
or Octave.
This is similar to ticket #706, but the solution there (r4914) can't help
me, since my build doesn't use dlapack_lite.c. Since I can get solutions
in Matlab and Octave, perhaps there is some post-LAPACK solution for numpy
too?
https://cirl.berkeley.edu/twiki/pub/User/MikeTrumpis/sinc_operator.npy
Mike
{{{
In [156]: [u,s,vt] = np.linalg.svd(snc_op, 1, 1)
---------------------------------------------------------------------------
LinAlgError Traceback (most recent call
last)
/Users/miket/sandbox/trunk/testdata/siemens/<ipython console> in
<module>()
/opt/local/lib/python2.5/site-packages/numpy/linalg/linalg.pyc in svd(a,
full_matrices, compute_uv)
1024 work, lwork, iwork, 0)
1025 if results['info'] > 0:
-> 1026 raise LinAlgError, 'SVD did not converge'
1027 s = s.astype(_realType(result_t))
1028 if compute_uv:
LinAlgError: SVD did not converge
In [157]: [u,s,vt] = sp.linalg.svd(snc_op, full_matrices=1, compute_uv=1)
---------------------------------------------------------------------------
LinAlgError Traceback (most recent call
last)
/Users/miket/sandbox/trunk/testdata/siemens/<ipython console> in
<module>()
/opt/local/lib/python2.5/site-packages/scipy/linalg/decomp.pyc in svd(a,
full_matrices, compute_uv, overwrite_a)
919 else: # 'clapack'
920 raise NotImplementedError,'calling gesdd from %s' %
(gesdd.module_name)
--> 921 if info>0: raise LinAlgError, "SVD did not converge"
922 if info<0: raise ValueError,\
923 'illegal value in %-th argument of internal gesdd'%(-info)
LinAlgError: SVD did not converge
}}}
--
Ticket URL: <http://www.scipy.org/scipy/numpy/ticket/990>
NumPy <http://projects.scipy.org/scipy/numpy>
The fundamental package needed for scientific computing with Python.
More information about the Numpy-tickets
mailing list