Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.

Extracting Q matrix using mkl_sparse_?_qr_qmult

Geng__Yilong
Beginner
442 Views

Hi,

Recently I've been trying to use mkl_sparse_?_qr_qmult to extract the Q matrix by multiplying Q^-1 by an identity matrix. However this function has been returning SPARSE_STATUS_NOT_SUPPORTED. I suspect this is because the matrix dimensions I set don't make sense. I tried to follow the documentation however the link below is quite confusing to me.
https://software.intel.com/en-us/mkl-developer-reference-c-mkl-sparse-qr-qmult

Basically, after factorizing A_{mn} where m > n, I want to multiply the factorization result Q_{mm}^{-1} by the identity matrix I_{mm} so that the x matrix contains Q^-1. However the documentation says, if row major, the number of rows of x should be the number of columns of A, which is n.

Is what I want to do achievable? Could you help explain how does mkl_sparse_?_qr_qmult work?

Thanks,

Yilong

0 Kudos
1 Reply
Robert_E_
Beginner
442 Views

The documentation states that qmult does not work with multiple right hand sides. Thus, multiplying Q^T with the Identity does not work. You could however multiply Q^T with single Identity vectors, but that is not very efficient.

I also need to at least extract the Q and R matrices and the permutation vector. Until MKL Sparse QR doesn't provide this option SuiteSparse QR is the best solution for now.

0 Kudos
Reply