Hi all.. I posted on the numpy list a few months back about running into some unstable SVD behavior, namely 1) a non-converging SVD and 2) negative singular values. My colleagues and I got curious when MATLAB and Octave did not fail or give bogus results for the two operators. Based on the Octave code and some testing with the lapack drivers, it would appear that using the *GESVD family of drivers is more robust in the face of these corner cases than the *GESDD drivers. So after leaving off for months, I finally went back to fixing this up. Using a lot of monkey-see-monkey-do, I added the f2py function signatures for the *GESVD functions, hopefully sane code in calc_lwork.f, and wrote up a bit of python in linalg/decomp.py, with some appropriate testing. I haven't submitted a patch to scipy yet.. Can I just post the "svn diff" with a description of the issue at hand on the Trac site? Although it does look like it's working, I haven't tested it extensively yet. And I was *very* ignorantly hacking at the Fortran / f2py bits. Hope this is helpful. Kind regards, Mike