[Numpy-discussion] SVD does not converge on "clean" matrix

dhanjal at telecom-paristech.fr dhanjal at telecom-paristech.fr
Thu Aug 11 09:23:22 EDT 2011


Hi all,

I get an error message "numpy.linalg.linalg.LinAlgError: SVD did not
converge" when calling numpy.linalg.svd on a "clean" matrix of size (1952,
895). The matrix is clean in the sense that it contains no NaN or Inf
values. The corresponding npz file is available here:
https://docs.google.com/leaf?id=0Bw0NXKxxc40jMWEyNTljMWUtMzBmNS00NGZmLThhZWUtY2I2MWU2MGZiNDgx&hl=fr

Here is some information about my setup: I use Python 2.7.1 on Ubuntu
11.04 with numpy 1.6.1. Furthermore, I thought the problem might be solved
by recompiling numpy with my local ATLAS library (version 3.8.3), and this
didn't seem to help. On another machine with Python 2.7.1 and numpy 1.5.1
the SVD does converge however it contains 1 NaN singular value and 3
negative singular values of the order -10^-1 (singular values should
always be non-negative).

I also tried computing the SVD of the matrix using Octave 3.2.4 and Matlab
7.10.0.499 (R2010a) 64-bit (glnxa64) and there were no problems. Any help
is greatly appreciated.

Thanks in advance,
Charanpal






More information about the NumPy-Discussion mailing list