Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.
Announcements
This community is designed for sharing of public information. Please do not share Intel or third-party confidential information here.
6590 Discussions

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

Ikuma__Takeshi
Beginner
134 Views

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
134 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