8000 [ numpy-Bugs-601052 ] SVD did not converge (Trac #706) · Issue #1304 · numpy/numpy · GitHub
[go: up one dir, main page]

Skip to content

[ numpy-Bugs-601052 ] SVD did not converge (Trac #706) #1304

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
numpy-gitbot opened this issue Oct 19, 2012 · 4 comments
Closed

[ numpy-Bugs-601052 ] SVD did not converge (Trac #706) #1304

numpy-gitbot opened this issue Oct 19, 2012 · 4 comments

Comments

@numpy-gitbot
Copy link

Original ticket http://projects.scipy.org/numpy/ticket/706 on 2008-03-19 by trac user menscher, assigned to @stefanv.

This was reported (and supposedly fixed by dubois) in 2002, but the fix isn't in current code. So reporting again....

The routine singular_value_decomposition() sometimes
dies with the error "SVD did not converge". But there is
always (by definition) an SVD inverse, so this is not an
acceptable error message.

Tracing things back, it comes from an max_iteration
count that is too small in the file dlapack_lite.c. For the
latest version, it's on line 22562. When I change the
value from 20 to 50, my matrix can be inverted. There's
no reason to have this number so small, since it's really
just there to prevent infinite loops. I've changed it (in my
copy) to 100, and recommend you do the same.

I'm attaching a pickle of a matrix I used for testing
purposes.

Damian

@numpy-gitbot
Copy link
Author

Attachment added by trac user menscher on 2008-03-19: svd_matrix.pickle

@numpy-gitbot
Copy link
Author

trac user menscher wrote on 2008-03-19

In the current version (1.0.4) it's at numpy/linalg/dlapack_lite.c:21902.

@numpy-gitbot
Copy link
Author

@stefanv wrote on 2008-03-20

Chuck Harris on the mailing list:

It certainly shouldn't be hardwired in as 20. At minimum it should be a #define, and ideally it should be passed in with the function call, but I don't know if the interface allows that.

@numpy-gitbot
Copy link
Author

@teoliphant wrote on 2008-03-22

Fixed in r4914. Please test by building NumPy without ATLAS support.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant
0