Hi,
Never mind. I figured out what I was doing wrong. Was using a wrong version of tbb.dll different from the one linked... d'oh. I think I figured out the superb argument as well, however, superb/iwork typo could still be fixed on the documentation.
How big exactly does the superb array need to be to call ?gesvdx?
The documentation says "Array, size (12*min(m, n))." But when I follow that, I get seg fault. Double it, it seems to work... I'm testing it with 6x10 complex double matrix (i.e., passing in a lapack_int array allocated with 72 elements).
Also, the rest of the description is not clear to me:
"If info = 0, the first ns elements of iwork are zero. If info > 0, then iwork contains the indices of the eigenvectors that failed to converge in ?bdsvdx/?stevx."
* iwork -> superb?
* ns << 12*min(m,n), extra space used as temporary storage?
Could anyone enlighten me on this? Thanks!
Kesh Ikuma
https://software.intel.com/en-us/mkl-developer-reference-c-gesvdx