LAPACKException(1) during SVD

601 views
Skip to first unread message

Steven Sagaert

unread,
Jan 30, 2015, 6:02:47 AM1/30/15
to julia...@googlegroups.com
when doing an SVD of a large matrix I get
ERROR: LAPACKException(1)
 in gesdd! at linalg/lapack.jl:1046
 in svdfact! at linalg/factorization.jl:660
 in svdfact at linalg/factorization.jl:664

It's definitely something related to the data because it works on different matrices & the code has been working for months. Any idea what that error is about?

I'm working on Ubuntu 14.04, julia version 0.3.5

Andreas Noack

unread,
Jan 30, 2015, 8:07:24 AM1/30/15
to julia...@googlegroups.com
This is an issue with the underlying divide and conquer algorithm used by the LAPACK routine we are calling. It has been reported at Numpy's list as well.

I think we should have an option for choosing the algorithm in svdfact, such that you can easily switch to a QR based solver when the DnC solver fails. Please open an issue with this. For at short term solution, you can get your values and vectors by directly calling LAPACK.gesvd!('S','S',A) where A is your matrix.

Tamas Papp

unread,
Jan 30, 2015, 8:19:36 AM1/30/15
to julia...@googlegroups.com
I think that LAPACK error codes above 0 are about ill-conditioning
and/or non-convergence. Perhaps you could share the matrix (in a binary
format, since copy-pasting decimal floats can change the values and
thus the conditioning).

Best,

Tamas
Reply all
Reply to author
Forward
0 new messages