Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Ikuma__Takeshi
Beginner
50 Views

[MKL2018] "superb" argument of "?gesvdx"

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

0 Kudos
1 Reply
Ying_H_Intel
Employee
50 Views

Hi Ikuma,

Thank you for the question.  your are right – it is a mistake in the documentation, “iwork” should be replaced by “superb” . we will fix it in further release.

 

If info = 0, the first ns elements of iwork superb are zero. If info > 0, then iwork superb contains the indices of the eigenvectors that failed to converge in ?bdsvdx/?stevx.

 

​Thanks

​Ying

Reply